51 lines
1.1 KiB
Nix
51 lines
1.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
|
|
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
|
|
'';
|
|
};
|
|
}
|