nixos/services/desktop/sway.nix

51 lines
1.2 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
gnome.adwaita-icon-theme
grim
gsettings-desktop-schemas
gtk3
i3status
kanagawa
light
mako
qt5.qtwayland
rofi-wayland
slurp
swayidle
swaylock
wf-recorder
wl-clipboard
];
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
# Chromium (based) applications
export NIXOS_OZONE_WL=1
'';
};
}