diff --git a/modules/nixos/desktop/desktop-display.ulu.nix b/modules/nixos/desktop/desktop-display.ulu.nix index 8930a5b..98e40fb 100644 --- a/modules/nixos/desktop/desktop-display.ulu.nix +++ b/modules/nixos/desktop/desktop-display.ulu.nix @@ -3,7 +3,8 @@ flake.nixosModules.desktop-display = { ... }: { - services.xserver.enable = true; + # No X server: niri is Wayland, X clients go through xwayland-satellite + # (which brings its own Xwayland). xkb below still feeds kmscon. services.displayManager.ly = { enable = true; settings = { diff --git a/modules/nixos/desktop/desktop-xdg-mime.ulu.nix b/modules/nixos/desktop/desktop-xdg-mime.ulu.nix index f3f76aa..f734bb8 100644 --- a/modules/nixos/desktop/desktop-xdg-mime.ulu.nix +++ b/modules/nixos/desktop/desktop-xdg-mime.ulu.nix @@ -51,7 +51,11 @@ menus.enable = true; }; - environment.etc."xdg/menus/applications.menu".text = - builtins.readFile "${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu"; + # Copied at build time (readFile would be import-from-derivation and + # fetch plasma-workspace during eval); the copy keeps plasma-workspace + # out of the system closure. + environment.etc."xdg/menus/applications.menu".source = pkgs.runCommand "applications.menu" { } '' + cp ${pkgs.kdePackages.plasma-workspace}/etc/xdg/menus/plasma-applications.menu $out + ''; }; }