From 9004fe02d822cefc7ee76ebee0f2bb0ad80291b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Lima?= Date: Sun, 4 Jan 2026 15:40:25 +0000 Subject: [PATCH] nixos/gnome: make package removals less repetitive --- .../services/desktop-managers/gnome.nix | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/desktop-managers/gnome.nix b/nixos/modules/services/desktop-managers/gnome.nix index dc9f8c11b138..bfad0efc7f65 100644 --- a/nixos/modules/services/desktop-managers/gnome.nix +++ b/nixos/modules/services/desktop-managers/gnome.nix @@ -75,6 +75,8 @@ let notExcluded = pkg: mkDefault (utils.disablePackageByName pkg config.environment.gnome.excludePackages); + removeExcluded = + pkgList: utils.removePackagesByName pkgList config.environment.gnome.excludePackages; in { @@ -416,9 +418,9 @@ in services.orca.enable = notExcluded pkgs.orca; - fonts.packages = utils.removePackagesByName [ + fonts.packages = removeExcluded [ pkgs.adwaita-fonts - ] config.environment.gnome.excludePackages; + ]; # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-48/elements/core/meta-gnome-core-shell.bst environment.systemPackages = @@ -442,13 +444,12 @@ in pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks ]; in - mandatoryPackages - ++ utils.removePackagesByName optionalPackages config.environment.gnome.excludePackages; + mandatoryPackages ++ removeExcluded optionalPackages; }) # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-apps.bst (lib.mkIf serviceCfg.core-apps.enable { - environment.systemPackages = utils.removePackagesByName [ + environment.systemPackages = removeExcluded [ pkgs.baobab pkgs.decibels pkgs.epiphany @@ -473,7 +474,7 @@ in pkgs.simple-scan pkgs.snapshot pkgs.yelp - ] config.environment.gnome.excludePackages; + ]; # Enable default program modules # Since some of these have a corresponding package, we only @@ -507,7 +508,7 @@ in }) (lib.mkIf serviceCfg.games.enable { - environment.systemPackages = utils.removePackagesByName [ + environment.systemPackages = removeExcluded [ pkgs.aisleriot pkgs.atomix pkgs.five-or-more @@ -528,12 +529,12 @@ in pkgs.quadrapassel pkgs.swell-foop pkgs.tali - ] config.environment.gnome.excludePackages; + ]; }) # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/gnome-48/elements/core/meta-gnome-core-developer-tools.bst (lib.mkIf serviceCfg.core-developer-tools.enable { - environment.systemPackages = utils.removePackagesByName [ + environment.systemPackages = removeExcluded [ pkgs.dconf-editor pkgs.devhelp pkgs.d-spy @@ -544,7 +545,7 @@ in # https://github.com/NixOS/nixpkgs/issues/60908 # pkgs.gnome-boxes pkgs.sysprof - ] config.environment.gnome.excludePackages; + ]; services.sysprof.enable = notExcluded pkgs.sysprof; })