diff options
Diffstat (limited to 'nixos/modules/config/system-path.nix')
-rw-r--r-- | nixos/modules/config/system-path.nix | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index b3c5c6f93f3..1292c3008c6 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -29,18 +29,25 @@ let pkgs.xz pkgs.less pkgs.libcap - pkgs.nano pkgs.ncurses pkgs.netcat config.programs.ssh.package + pkgs.mkpasswd pkgs.procps pkgs.su pkgs.time - pkgs.utillinux + pkgs.util-linux pkgs.which pkgs.zstd ]; + defaultPackages = map (pkg: setPrio ((pkg.meta.priority or 5) + 3) pkg) + [ pkgs.nano + pkgs.perl + pkgs.rsync + pkgs.strace + ]; + in { @@ -63,6 +70,29 @@ in ''; }; + defaultPackages = mkOption { + type = types.listOf types.package; + default = defaultPackages; + example = literalExample "[]"; + description = '' + Set of default packages that aren't strictly neccessary + for a running system, entries can be removed for a more + minimal NixOS installation. + + Note: If <package>pkgs.nano</package> is removed from this list, + make sure another editor is installed and the + <literal>EDITOR</literal> environment variable is set to it. + Environment variables can be set using + <option>environment.variables</option>. + + Like with systemPackages, packages are installed to + <filename>/run/current-system/sw</filename>. They are + automatically available to all users, and are + automatically updated every time you rebuild the system + configuration. + ''; + }; + pathsToLink = mkOption { type = types.listOf types.str; # Note: We need `/lib' to be among `pathsToLink' for NSS modules @@ -102,7 +132,7 @@ in config = { - environment.systemPackages = requiredPackages; + environment.systemPackages = requiredPackages ++ config.environment.defaultPackages; environment.pathsToLink = [ "/bin" @@ -121,6 +151,8 @@ in "/share/kservices5" "/share/kservicetypes5" "/share/kxmlgui5" + "/share/systemd" + "/share/thumbnailers" ]; system.path = pkgs.buildEnv { |