From 74c27037e675490779ab3decedd3d5f1961764f6 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sun, 19 Feb 2017 13:30:26 +0100 Subject: [PATCH] nix-daemon: check for nixbld group before activation Fixes #9 --- modules/services/nix-daemon.nix | 8 ++++++++ modules/system/activation-scripts.nix | 1 + 2 files changed, 9 insertions(+) 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}