summaryrefslogtreecommitdiff
path: root/modules/system
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2017-07-23 16:05:46 +0200
committerDaiderd Jordan <daiderd@gmail.com>2017-07-23 16:05:46 +0200
commit8016f1e2fd752fb102b64d185163cc93cc78e316 (patch)
treeed48646548137ad78e0f423b89504d0214bc4921 /modules/system
parentb3a9587cfb3feecb91cfc9f865e62c3fa639da81 (diff)
add activation-checks
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}