aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/config/system-path.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/modules/config/system-path.nix')
-rw-r--r--nixpkgs/nixos/modules/config/system-path.nix33
1 files changed, 25 insertions, 8 deletions
diff --git a/nixpkgs/nixos/modules/config/system-path.nix b/nixpkgs/nixos/modules/config/system-path.nix
index 4100ec89701..67305e8499c 100644
--- a/nixpkgs/nixos/modules/config/system-path.nix
+++ b/nixpkgs/nixos/modules/config/system-path.nix
@@ -8,8 +8,7 @@ with lib;
let
requiredPackages = map (pkg: setPrio ((pkg.meta.priority or 5) + 3) pkg)
- [ config.nix.package
- pkgs.acl
+ [ pkgs.acl
pkgs.attr
pkgs.bashInteractive # bash with ncurses support
pkgs.bzip2
@@ -33,18 +32,21 @@ let
pkgs.nano
pkgs.ncurses
pkgs.netcat
- pkgs.nix-info
config.programs.ssh.package
- pkgs.perl
pkgs.procps
- pkgs.rsync
- pkgs.strace
pkgs.su
pkgs.time
pkgs.utillinux
- pkgs.which # 88K size
+ pkgs.which
+ pkgs.zstd
];
+ defaultPackages = map (pkg: setPrio ((pkg.meta.priority or 5) + 3) pkg)
+ [ pkgs.perl
+ pkgs.rsync
+ pkgs.strace
+ ];
+
in
{
@@ -67,6 +69,21 @@ in
'';
};
+ defaultPackages = mkOption {
+ type = types.listOf types.package;
+ default = defaultPackages;
+ example = literalExample "[]";
+ description = ''
+ Set of packages users expect from a minimal linux istall.
+ Like systemPackages, they appear in
+ /run/current-system/sw. These packages are
+ automatically available to all users, and are
+ automatically updated every time you rebuild the system
+ configuration.
+ If you want a more minimal system, set it to an empty list.
+ '';
+ };
+
pathsToLink = mkOption {
type = types.listOf types.str;
# Note: We need `/lib' to be among `pathsToLink' for NSS modules
@@ -106,7 +123,7 @@ in
config = {
- environment.systemPackages = requiredPackages;
+ environment.systemPackages = requiredPackages ++ config.environment.defaultPackages;
environment.pathsToLink =
[ "/bin"