nixos/utils: move removePackagesByName to here from gnome
This commit is contained in:
parent
28e936ba64
commit
28539842d8
|
@ -194,6 +194,22 @@ rec {
|
||||||
(( ! $inherit_errexit_enabled )) && shopt -u inherit_errexit
|
(( ! $inherit_errexit_enabled )) && shopt -u inherit_errexit
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
/* Remove packages of packagesToRemove from packages, based on their names.
|
||||||
|
Relies on package names and has quadratic complexity so use with caution!
|
||||||
|
|
||||||
|
Type:
|
||||||
|
removePackagesByName :: [package] -> [package] -> [package]
|
||||||
|
|
||||||
|
Example:
|
||||||
|
removePackagesByName [ nautilus file-roller ] [ file-roller totem ]
|
||||||
|
=> [ nautilus ]
|
||||||
|
*/
|
||||||
|
removePackagesByName = packages: packagesToRemove:
|
||||||
|
let
|
||||||
|
namesToRemove = map lib.getName packagesToRemove;
|
||||||
|
in
|
||||||
|
lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages;
|
||||||
|
|
||||||
systemdUtils = {
|
systemdUtils = {
|
||||||
lib = import ./systemd-lib.nix { inherit lib config pkgs; };
|
lib = import ./systemd-lib.nix { inherit lib config pkgs; };
|
||||||
unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; };
|
unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; };
|
||||||
|
|
|
@ -196,7 +196,7 @@ in
|
||||||
programs.evince.enable = mkDefault true;
|
programs.evince.enable = mkDefault true;
|
||||||
programs.file-roller.enable = mkDefault true;
|
programs.file-roller.enable = mkDefault true;
|
||||||
|
|
||||||
environment.systemPackages = (with pkgs // pkgs.gnome // pkgs.cinnamon; pkgs.gnome.removePackagesByName [
|
environment.systemPackages = with pkgs // pkgs.gnome // pkgs.cinnamon; lib.utils.removePackagesByName [
|
||||||
# cinnamon team apps
|
# cinnamon team apps
|
||||||
bulky
|
bulky
|
||||||
blueberry
|
blueberry
|
||||||
|
@ -212,7 +212,7 @@ in
|
||||||
# external apps shipped with linux-mint
|
# external apps shipped with linux-mint
|
||||||
hexchat
|
hexchat
|
||||||
gnome-calculator
|
gnome-calculator
|
||||||
] config.environment.cinnamon.excludePackages);
|
] config.environment.cinnamon.excludePackages;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -455,7 +455,7 @@ in
|
||||||
(mkIf serviceCfg.core-utilities.enable {
|
(mkIf serviceCfg.core-utilities.enable {
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
with pkgs.gnome;
|
with pkgs.gnome;
|
||||||
removePackagesByName
|
lib.utils.removePackagesByName
|
||||||
([
|
([
|
||||||
baobab
|
baobab
|
||||||
cheese
|
cheese
|
||||||
|
@ -515,7 +515,7 @@ in
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf serviceCfg.games.enable {
|
(mkIf serviceCfg.games.enable {
|
||||||
environment.systemPackages = (with pkgs.gnome; removePackagesByName [
|
environment.systemPackages = with pkgs.gnome; lib.utils.removePackagesByName [
|
||||||
aisleriot
|
aisleriot
|
||||||
atomix
|
atomix
|
||||||
five-or-more
|
five-or-more
|
||||||
|
@ -536,12 +536,12 @@ in
|
||||||
quadrapassel
|
quadrapassel
|
||||||
swell-foop
|
swell-foop
|
||||||
tali
|
tali
|
||||||
] config.environment.gnome.excludePackages);
|
] config.environment.gnome.excludePackages;
|
||||||
})
|
})
|
||||||
|
|
||||||
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst
|
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst
|
||||||
(mkIf serviceCfg.core-developer-tools.enable {
|
(mkIf serviceCfg.core-developer-tools.enable {
|
||||||
environment.systemPackages = (with pkgs.gnome; removePackagesByName [
|
environment.systemPackages = with pkgs.gnome; lib.utils.removePackagesByName [
|
||||||
dconf-editor
|
dconf-editor
|
||||||
devhelp
|
devhelp
|
||||||
pkgs.gnome-builder
|
pkgs.gnome-builder
|
||||||
|
@ -550,7 +550,7 @@ in
|
||||||
# in default configurations.
|
# in default configurations.
|
||||||
# https://github.com/NixOS/nixpkgs/issues/60908
|
# https://github.com/NixOS/nixpkgs/issues/60908
|
||||||
/* gnome-boxes */
|
/* gnome-boxes */
|
||||||
] config.environment.gnome.excludePackages);
|
] config.environment.gnome.excludePackages;
|
||||||
|
|
||||||
services.sysprof.enable = notExcluded pkgs.sysprof;
|
services.sysprof.enable = notExcluded pkgs.sysprof;
|
||||||
})
|
})
|
||||||
|
|
|
@ -51,7 +51,7 @@ in
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
pkgs.lxqt.preRequisitePackages ++
|
pkgs.lxqt.preRequisitePackages ++
|
||||||
pkgs.lxqt.corePackages ++
|
pkgs.lxqt.corePackages ++
|
||||||
(pkgs.gnome.removePackagesByName
|
(lib.utils.removePackagesByName
|
||||||
pkgs.lxqt.optionalPackages
|
pkgs.lxqt.optionalPackages
|
||||||
config.environment.lxqt.excludePackages);
|
config.environment.lxqt.excludePackages);
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ in
|
||||||
# Debugging
|
# Debugging
|
||||||
environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1";
|
environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1";
|
||||||
|
|
||||||
environment.systemPackages = pkgs.gnome.removePackagesByName
|
environment.systemPackages = lib.utils.removePackagesByName
|
||||||
(pkgs.mate.basePackages ++
|
(pkgs.mate.basePackages ++
|
||||||
pkgs.mate.extraPackages ++
|
pkgs.mate.extraPackages ++
|
||||||
[
|
[
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, utils, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ in
|
||||||
elementary-settings-daemon
|
elementary-settings-daemon
|
||||||
pantheon-agent-geoclue2
|
pantheon-agent-geoclue2
|
||||||
pantheon-agent-polkit
|
pantheon-agent-polkit
|
||||||
]) ++ (gnome.removePackagesByName [
|
]) ++ (utils.removePackagesByName [
|
||||||
gnome.gnome-font-viewer
|
gnome.gnome-font-viewer
|
||||||
gnome.gnome-settings-daemon338
|
gnome.gnome-settings-daemon338
|
||||||
] config.environment.pantheon.excludePackages);
|
] config.environment.pantheon.excludePackages);
|
||||||
|
@ -272,7 +272,7 @@ in
|
||||||
})
|
})
|
||||||
|
|
||||||
(mkIf serviceCfg.apps.enable {
|
(mkIf serviceCfg.apps.enable {
|
||||||
environment.systemPackages = with pkgs.pantheon; pkgs.gnome.removePackagesByName ([
|
environment.systemPackages = with pkgs.pantheon; utils.removePackagesByName ([
|
||||||
elementary-calculator
|
elementary-calculator
|
||||||
elementary-calendar
|
elementary-calendar
|
||||||
elementary-camera
|
elementary-camera
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, utils, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
@ -662,7 +662,7 @@ in
|
||||||
${cfgPath}.source = xorg.xf86inputevdev.out + "/share" + cfgPath;
|
${cfgPath}.source = xorg.xf86inputevdev.out + "/share" + cfgPath;
|
||||||
});
|
});
|
||||||
|
|
||||||
environment.systemPackages = pkgs.gnome.removePackagesByName
|
environment.systemPackages = utils.removePackagesByName
|
||||||
[ xorg.xorgserver.out
|
[ xorg.xorgserver.out
|
||||||
xorg.xrandr
|
xorg.xrandr
|
||||||
xorg.xrdb
|
xorg.xrdb
|
||||||
|
|
|
@ -3,21 +3,6 @@
|
||||||
lib.makeScope pkgs.newScope (self: with self; {
|
lib.makeScope pkgs.newScope (self: with self; {
|
||||||
updateScript = callPackage ./update.nix { };
|
updateScript = callPackage ./update.nix { };
|
||||||
|
|
||||||
/* Remove packages of packagesToRemove from packages, based on their names
|
|
||||||
|
|
||||||
Type:
|
|
||||||
removePackagesByName :: [package] -> [package] -> [package]
|
|
||||||
|
|
||||||
Example:
|
|
||||||
removePackagesByName [ nautilus file-roller ] [ file-roller totem ]
|
|
||||||
=> [ nautilus ]
|
|
||||||
*/
|
|
||||||
removePackagesByName = packages: packagesToRemove:
|
|
||||||
let
|
|
||||||
namesToRemove = map lib.getName packagesToRemove;
|
|
||||||
in
|
|
||||||
lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages;
|
|
||||||
|
|
||||||
libsoup = pkgs.libsoup.override { gnomeSupport = true; };
|
libsoup = pkgs.libsoup.override { gnomeSupport = true; };
|
||||||
libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
|
libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue