]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Improve the setup script a bit
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Fri, 19 Apr 2019 13:29:52 +0000 (15:29 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Fri, 19 Apr 2019 13:29:52 +0000 (15:29 +0200)
nixops/scripts/setup

index 758cc34e584f7b00a0f49c1d6590e4351781f0b8..929b27a3b6db719114fb594b03e49a74b6cb9aaf 100755 (executable)
@@ -14,6 +14,13 @@ if ! which nix 2>/dev/null >/dev/null; then
   exit 1
 fi
 
+if [ "${NIX_STORE:-/nix/store}" != "/nix/store" ]; then
+  cat <<-EOF
+       Nix store outside of /nix/store is not supported
+       EOF
+  exit 1
+fi
+
 if [ -z "$NIXOPS_CONFIG_PASS_SUBTREE_REMOTE" \
     -o -z "$NIXOPS_CONFIG_PASS_SUBTREE_PATH" ]; then
   cat <<-EOF
@@ -45,6 +52,13 @@ if ! pass $NIXOPS_CONFIG_PASS_SUBTREE_PATH > /dev/null 2>/dev/null; then
   fi
 fi
 
+nix_group=$(stat -c %G /nix/store)
+if [ "$nix_group" = "nixbld" ]; then
+  nix_user="nixbld1"
+else
+  nix_user="$(stat -c %U /nix/store)"
+fi
+
 if [ ! -f /etc/ssh/ssh_rsa_key_nixops ]; then
   cat <<-EOF
        The key to access private git repositories (websites hosted by the
@@ -53,13 +67,13 @@ if [ ! -f /etc/ssh/ssh_rsa_key_nixops ]; then
        > pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/SshKey | sudo tee /etc/ssh/ssh_rsa_key_nixops > /dev/null
        > pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/SshKey.pub | sudo tee /etc/ssh/ssh_rsa_key_nixops.pub > /dev/null
        > sudo chmod u=r,go-rwx /etc/ssh/ssh_rsa_key_nixops
-       > sudo chown nixbld1:nixbld /etc/ssh/ssh_rsa_key_nixops /etc/ssh/ssh_rsa_key_nixops.pub
+       > sudo chown $nix_user:$nix_group /etc/ssh/ssh_rsa_key_nixops /etc/ssh/ssh_rsa_key_nixops.pub
        Continue? [y/N]
        EOF
   read y
   if [ "$y" = "y" -o "$y" = "Y" ]; then
-    if ! id -u nixbld1 2>/dev/null >/dev/null; then
-      echo "User nixbld1 seems inexistant, did you install nix?"
+    if ! id -u $nix_user 2>/dev/null >/dev/null; then
+      echo "User $nix_user seems inexistant, did you install nix?"
       exit 1
     fi
     mask=$(umask)
@@ -71,7 +85,7 @@ if [ ! -f /etc/ssh/ssh_rsa_key_nixops ]; then
     pubkey=$(pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/SshKey.pub)
     echo "$pubkey" | sudo tee /etc/ssh/ssh_rsa_key_nixops.pub > /dev/null
     sudo chmod a=r /etc/ssh/ssh_rsa_key_nixops.pub
-    sudo chown nixbld1:nixbld /etc/ssh/ssh_rsa_key_nixops /etc/ssh/ssh_rsa_key_nixops.pub
+    sudo chown $nix_user:$nix_group /etc/ssh/ssh_rsa_key_nixops /etc/ssh/ssh_rsa_key_nixops.pub
     umask $mask
   else
     echo "Aborting"