diff --git a/modules/services/nix-daemon.nix b/modules/services/nix-daemon.nix index 7b42fc6..c523640 100644 --- a/modules/services/nix-daemon.nix +++ b/modules/services/nix-daemon.nix @@ -51,5 +51,13 @@ in // { TMPDIR = "${cfg.tempDir}"; }; }; + system.activationScripts.nix-daemon.text = mkIf cfg.enable '' + buildUser=$(dscl . -read /Groups/nixbld 2>&1 | awk '/^GroupMembership: / {print $2}') + if [ -z $buildUser ]; then + echo "Using the nix-daemon requires build users, aborting activation" >&2 + exit 2 + fi + ''; + }; } diff --git a/modules/system/activation-scripts.nix b/modules/system/activation-scripts.nix index 5de7595..9d36156 100644 --- a/modules/system/activation-scripts.nix +++ b/modules/system/activation-scripts.nix @@ -59,6 +59,7 @@ in # Prevent the current configuration from being garbage-collected. ln -sfn /run/current-system /nix/var/nix/gcroots/current-system + ${cfg.activationScripts.nix-daemon.text} ${cfg.activationScripts.nix.text} ${cfg.activationScripts.etc.text}