summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2017-09-06 23:55:14 +0200
committerDaiderd Jordan <daiderd@gmail.com>2017-09-06 23:56:45 +0200
commit9f0507cf7d62472650bb3f2d936d0d43ef6009b4 (patch)
tree88d619f37c6a824ea5c5fcda877b4ef9fb2facf5 /modules
parent184e9f34be51e05cc1b8390aa190d9ef6dfae855 (diff)
activation-checks: add check for user channels
Diffstat (limited to 'modules')
-rw-r--r--modules/system/activation-checks.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/system/activation-checks.nix b/modules/system/activation-checks.nix
index 7c885d8..9dac004 100644
--- a/modules/system/activation-checks.nix
+++ b/modules/system/activation-checks.nix
@@ -34,6 +34,25 @@ let
fi
'';
+ nixChannels = ''
+ channelsLink=$(readlink "$HOME/.nix-defexpr/channels") || true
+ case "$channelsLink" in
+ *"$USER"*)
+ ;;
+ "")
+ ;;
+ *)
+ echo "error: The ~/.nix-defexpr/channels symlink does not point your users channels" >&2
+ echo "Running nix-channel will regenerate it" >&2
+ echo >&2
+ echo " rm ~/.nix-defexpr/channels" >&2
+ echo " nix-channel --update" >&2
+ echo >&2
+ exit 2
+ ;;
+ esac
+ '';
+
nixPath = ''
darwinConfig=$(NIX_PATH=${concatStringsSep ":" config.nix.nixPath} nix-instantiate --eval -E '<darwin-config>') || true
if ! test -e "$darwinConfig"; then
@@ -84,6 +103,7 @@ in
system.activationScripts.checks.text = ''
${darwinChanges}
${buildUsers}
+ ${nixChannels}
${nixPath}
if test ''${checkActivation:-0} -eq 1; then