diff --git a/nixos/modules/services/x11/desktop-managers/budgie.nix b/nixos/modules/services/x11/desktop-managers/budgie.nix index a911db725c01..d6e6bb2fa14e 100644 --- a/nixos/modules/services/x11/desktop-managers/budgie.nix +++ b/nixos/modules/services/x11/desktop-managers/budgie.nix @@ -43,6 +43,8 @@ let budgie-control-center = pkgs.budgie.budgie-control-center.override { enableSshSocket = config.services.openssh.startWhenNeeded; }; + + notExcluded = pkg: (!(lib.elem pkg config.environment.budgie.excludePackages)); in { meta.maintainers = lib.teams.budgie.members; @@ -160,7 +162,7 @@ in { ++ cfg.sessionPath; # Both budgie-desktop-view and nemo defaults to this emulator. - programs.gnome-terminal.enable = mkDefault true; + programs.gnome-terminal.enable = mkDefault (notExcluded pkgs.gnome.gnome-terminal); # Fonts. fonts.packages = [ diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix index 935f173a9d81..6983b51376fd 100644 --- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix +++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix @@ -95,7 +95,7 @@ in ''; # Default services - services.blueman.enable = mkDefault true; + services.blueman.enable = mkDefault (notExcluded pkgs.blueman); hardware.bluetooth.enable = mkDefault true; hardware.pulseaudio.enable = mkDefault true; security.polkit.enable = true; @@ -228,10 +228,10 @@ in }) (mkIf serviceCfg.apps.enable { - programs.geary.enable = mkDefault true; - programs.gnome-disks.enable = mkDefault true; - programs.gnome-terminal.enable = mkDefault true; - programs.file-roller.enable = mkDefault true; + programs.geary.enable = mkDefault (notExcluded pkgs.gnome.geary); + programs.gnome-disks.enable = mkDefault (notExcluded pkgs.gnome.gnome-disk-utility); + programs.gnome-terminal.enable = mkDefault (notExcluded pkgs.gnome.gnome-terminal); + programs.file-roller.enable = mkDefault (notExcluded pkgs.gnome.file-roller); environment.systemPackages = with pkgs // pkgs.gnome // pkgs.cinnamon; utils.removePackagesByName [ # cinnamon team apps diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 695d81f666a1..2115f8f0ab23 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -12,6 +12,7 @@ let extraGSettingsOverrides = cfg.extraGSettingsOverrides; }; + notExcluded = pkg: (!(lib.elem pkg config.environment.pantheon.excludePackages)); in { @@ -288,8 +289,8 @@ in }) (mkIf serviceCfg.apps.enable { - programs.evince.enable = mkDefault true; - programs.file-roller.enable = mkDefault true; + programs.evince.enable = mkDefault (notExcluded pkgs.gnome.evince); + programs.file-roller.enable = mkDefault (notExcluded pkgs.gnome.file-roller); environment.systemPackages = utils.removePackagesByName ([ pkgs.gnome.gnome-font-viewer diff --git a/nixos/tests/budgie.nix b/nixos/tests/budgie.nix index 5228e869b056..203e718c8c6d 100644 --- a/nixos/tests/budgie.nix +++ b/nixos/tests/budgie.nix @@ -18,6 +18,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { }; }; + # We don't ship gnome-text-editor in Budgie module, we add this line mainly + # to catch eval issues related to this option. + environment.budgie.excludePackages = [ pkgs.gnome-text-editor ]; + services.xserver.desktopManager.budgie = { enable = true; extraPlugins = [ diff --git a/nixos/tests/cinnamon.nix b/nixos/tests/cinnamon.nix index eab907d0b712..694308152149 100644 --- a/nixos/tests/cinnamon.nix +++ b/nixos/tests/cinnamon.nix @@ -8,6 +8,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { services.xserver.enable = true; services.xserver.desktopManager.cinnamon.enable = true; + # We don't ship gnome-text-editor in Cinnamon module, we add this line mainly + # to catch eval issues related to this option. + environment.cinnamon.excludePackages = [ pkgs.gnome-text-editor ]; + # For the sessionPath subtest. services.xserver.desktopManager.cinnamon.sessionPath = [ pkgs.gnome.gpaste ]; }; diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix index f8de2eb8061d..d2a4a009af53 100644 --- a/nixos/tests/pantheon.nix +++ b/nixos/tests/pantheon.nix @@ -13,6 +13,13 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : services.xserver.enable = true; services.xserver.desktopManager.pantheon.enable = true; + # We ship pantheon.appcenter by default when this is enabled. + services.flatpak.enable = true; + + # We don't ship gnome-text-editor in Pantheon module, we add this line mainly + # to catch eval issues related to this option. + environment.pantheon.excludePackages = [ pkgs.gnome-text-editor ]; + environment.systemPackages = [ pkgs.xdotool ]; };