diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2016-12-14 12:32:20 +0100 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2016-12-14 12:32:20 +0100 |
| commit | 6af52615ed8de2c4f9f4a30d97a22f7b3513c474 (patch) | |
| tree | a3fcc497eb1416b4958a8638a587890b45ac7569 /modules/system | |
| parent | 7a6ee11373e37dc425a0a4552e9b6254a432358c (diff) | |
add activate-user script
Diffstat (limited to 'modules/system')
| -rw-r--r-- | modules/system/activation-scripts.nix | 20 | ||||
| -rw-r--r-- | modules/system/default.nix | 6 |
2 files changed, 25 insertions, 1 deletions
diff --git a/modules/system/activation-scripts.nix b/modules/system/activation-scripts.nix index 2695e54..6f22d45 100644 --- a/modules/system/activation-scripts.nix +++ b/modules/system/activation-scripts.nix @@ -59,12 +59,30 @@ in # Prevent the current configuration from being garbage-collected. ln -sfn /run/current-system /nix/var/nix/gcroots/current-system - ${cfg.activationScripts.defaults.text} ${cfg.activationScripts.etc.text} ${cfg.activationScripts.launchd.text} exit $_status ''; + system.activationScripts.userScript.text = '' + #! ${stdenv.shell} + set -e + set -o pipefail + export PATH=${pkgs.coreutils}/bin:${config.environment.systemPath}:$PATH + + systemConfig=@out@ + + _status=0 + trap "_status=1" ERR + + # Ensure a consistent umask. + umask 0022 + + ${cfg.activationScripts.defaults.text} + + exit $_status + ''; + }; } diff --git a/modules/system/default.nix b/modules/system/default.nix index f4b82d7..0e659bb 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -51,6 +51,7 @@ in preferLocalBuild = true; activationScript = cfg.activationScripts.script.text; + activationUserScript = cfg.activationScripts.userScript.text; inherit (cfg) nixdarwinLabel; buildCommand = '' @@ -69,6 +70,11 @@ in chmod u+x $out/activate unset activationScript + echo "$activationUserScript" > $out/activate-user + substituteInPlace $out/activate-user --subst-var out + chmod u+x $out/activate-user + unset activationUserScript + echo -n "$systemConfig" > $out/systemConfig echo -n "$nixdarwinLabel" > $out/nixdarwin-version |
