summaryrefslogtreecommitdiff
path: root/modules/system
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system')
-rw-r--r--modules/system/activation-checks.nix28
-rw-r--r--modules/system/activation-scripts.nix4
2 files changed, 30 insertions, 2 deletions
diff --git a/modules/system/activation-checks.nix b/modules/system/activation-checks.nix
new file mode 100644
index 0000000..3f07cb0
--- /dev/null
+++ b/modules/system/activation-checks.nix
@@ -0,0 +1,28 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ buildUsers = optionalString config.services.nix-daemon.enable ''
+ buildUser=$(dscl . -read /Groups/nixbld GroupMembership 2>&1 | awk '/^GroupMembership: / {print $2}')
+ if [ -z $buildUser ]; then
+ echo "Using the nix-daemon requires build users, aborting activation" >&2
+ exit 2
+ fi
+ '';
+in
+
+{
+ options = {
+ };
+
+ config = {
+
+ system.activationScripts.checks.text = ''
+ set +e
+ ${buildUsers}
+ set -e
+ '';
+
+ };
+}
diff --git a/modules/system/activation-scripts.nix b/modules/system/activation-scripts.nix
index aa97633..48d2773 100644
--- a/modules/system/activation-scripts.nix
+++ b/modules/system/activation-scripts.nix
@@ -52,9 +52,7 @@ in
${cfg.activationScripts.extraActivation.text}
- ${cfg.activationScripts.nix-daemon.text}
${cfg.activationScripts.nix.text}
-
${cfg.activationScripts.accessibility.text}
${cfg.activationScripts.applications.text}
${cfg.activationScripts.etc.text}
@@ -88,6 +86,8 @@ in
# Ensure a consistent umask.
umask 0022
+ ${cfg.activationScripts.checks.text}
+
${cfg.activationScripts.extraUserActivation.text}
${cfg.activationScripts.defaults.text}