nixos/services/desktop/sway.nix
2024-11-20 15:28:30 +01:00

45 lines
1 KiB
Nix

{
config,
lib,
pkgs,
...
}:
with lib;
mkIf (elem "desktop::sway" config.machine.services) {
programs.sway = {
enable = true;
package = pkgs.sway.override {
enableXWayland = true;
};
extraPackages = with pkgs; [
file
i3status
dmenu
qt5.qtwayland
grim
slurp
swaylock
swayidle
light
mako
wl-clipboard
wf-recorder
];
wrapperFeatures = {
base = true;
gtk = true;
};
extraSessionCommands = ''
export GDK_BACKEND=wayland
export CLUTTER_BACKEND=wayland
export SDL_VIDEODRIVER=wayland
# needs qt5.qtwayland in systemPackages
export QT_QPA_PLATFORM=wayland-egl
export QT_WAYLAND_FORCE_DPI=physical
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
# Fix for some Java AWT applications (e.g. Android Studio),
# use this if they aren't displayed properly:
export _JAVA_AWT_WM_NONREPARENTING=1
'';
};
}