diff options
author | Nathan Zadoks <nathan@nathan7.eu> | 2016-01-19 18:11:36 +0100 |
---|---|---|
committer | Nathan Zadoks <nathan@nathan7.eu> | 2016-01-19 23:29:48 +0100 |
commit | df82096af06deaa8ddd53accaaa488474575b6d6 (patch) | |
tree | 0a40e36ebe5a5565c123f42c5d12bbd97f46c811 /nixos | |
parent | e67717bc8d545c593f974163a8a496f5f898b73d (diff) | |
download | nixlib-df82096af06deaa8ddd53accaaa488474575b6d6.tar nixlib-df82096af06deaa8ddd53accaaa488474575b6d6.tar.gz nixlib-df82096af06deaa8ddd53accaaa488474575b6d6.tar.bz2 nixlib-df82096af06deaa8ddd53accaaa488474575b6d6.tar.lz nixlib-df82096af06deaa8ddd53accaaa488474575b6d6.tar.xz nixlib-df82096af06deaa8ddd53accaaa488474575b6d6.tar.zst nixlib-df82096af06deaa8ddd53accaaa488474575b6d6.zip |
activation-script module: add environment.usrbinenv option
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/system/activation/activation-script.nix | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 02b3e25a313d..d78ec0d7bf3d 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -94,6 +94,18 @@ in }; + environment.usrbinenv = mkOption { + default = "${pkgs.coreutils}/bin/env"; + example = literalExample '' + "''${pkgs.busybox}/bin/env" + ''; + type = types.nullOr types.path; + visible = false; + description = '' + The env(1) executable that is linked system-wide to + <literal>/usr/bin/env</literal>. + ''; + }; }; @@ -128,11 +140,15 @@ in mkdir -m 0555 -p /var/empty ''; - system.activationScripts.usrbinenv = - '' + system.activationScripts.usrbinenv = if config.environment.usrbinenv != null + then '' mkdir -m 0755 -p /usr/bin - ln -sfn ${pkgs.coreutils}/bin/env /usr/bin/.env.tmp + ln -sfn ${config.environment.usrbinenv} /usr/bin/.env.tmp mv /usr/bin/.env.tmp /usr/bin/env # atomically replace /usr/bin/env + '' + else '' + rm -f /usr/bin/env + rmdir --ignore-fail-on-non-empty /usr/bin /usr ''; system.activationScripts.tmpfs = |