From 983dce6d7034ec4cd2ef0ab8a07207e896fefbf0 Mon Sep 17 00:00:00 2001 From: Simon Holywell Date: Wed, 30 Oct 2019 15:11:00 +1000 Subject: [PATCH] Moves build & rebuild to after user creation If the users do not already exist then installers who already have a configuration containing ```nix services.nix-daemon.enable = false; ``` will not be able to complete an initial bootstrap on a clean machine. This is because the bootstrap script currently only creates users after an initial rebuild. The users must exist before the rebuild is completed or the whole thing fails. --- bootstrap.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index 9d0235c..a17a902 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -174,18 +174,6 @@ install(){ fi fi - # Bootstrap build using default nix.nixPath - echo "Bootstrapping..." - export NIX_PATH=darwin=$HOME/.nix-defexpr/channels/darwin:darwin-config=$HOME/.nixpkgs/darwin-configuration.nix:$NIX_PATH - $(nix-build '' -A system --no-out-link)/sw/bin/darwin-rebuild switch || exit - - # Source generated bashrc - . /etc/static/bashrc - - # Run first darwin-rebuild switch - echo -e "Running first "$YELLOW"darwin-rebuild switch"$ESC"..." - darwin-rebuild switch && echo -e ""$GREEN"Success!"$ESC"" || exit_message "Problem running darwin-rebuild switch" - echo -e ""$BLUE_UL"Nix daemon"$ESC"" echo "Optionally, this script can also create the group and users" echo -e "needed for running the Nix "$YELLOW"multi-user support daemon"$ESC"." @@ -212,6 +200,18 @@ install(){ esac done fi + + # Bootstrap build using default nix.nixPath + echo "Bootstrapping..." + export NIX_PATH=darwin=$HOME/.nix-defexpr/channels/darwin:darwin-config=$HOME/.nixpkgs/darwin-configuration.nix:$NIX_PATH + $(nix-build '' -A system --no-out-link)/sw/bin/darwin-rebuild switch || exit + + # Source generated bashrc + . /etc/static/bashrc + + # Run first darwin-rebuild switch + echo -e "Running first "$YELLOW"darwin-rebuild switch"$ESC"..." + darwin-rebuild switch && echo -e ""$GREEN"Success!"$ESC"" || exit_message "Problem running darwin-rebuild switch" # Finish echo -e ""$GREEN"You're all done!"$ESC""