summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-05-04 22:48:20 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-05-05 11:01:07 -0400
commit74009c4cf04be4872be7bf985b045b922d506be3 (patch)
treef834b2c65ac543184b88cb60bccca50068a34b38
parent5b0ce3393b7f8853d3154ede930482446a7c0376 (diff)
downloadguix-74009c4cf04be4872be7bf985b045b922d506be3.tar.gz
guix-install.sh: Exit early if Guix is already installed.
* etc/guix-install.sh (sys_create_store): Move the check & exit before The
Guix binary archive is unpacked.  Re-indent tar extraction command.
-rwxr-xr-xetc/guix-install.sh16
1 files changed, 7 insertions, 9 deletions
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 9f7bd2038a..6a799fa823 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -322,20 +322,18 @@ sys_create_store()
 
     _debug "--- [ ${FUNCNAME[0]} ] ---"
 
-    cd "$tmp_path"
-    tar --extract \
-        --file "$pkg" &&
-    _msg "${PAS}unpacked archive"
-
     if [[ -e "/var/guix" || -e "/gnu" ]]; then
         _err "${ERR}A previous Guix installation was found.  Refusing to overwrite."
         exit 1
-    else
-        _msg "${INF}Installing /var/guix and /gnu..."
-        mv "${tmp_path}/var/guix" /var/
-        mv "${tmp_path}/gnu" /
     fi
 
+    cd "$tmp_path"
+    tar --extract --file "$pkg" && _msg "${PAS}unpacked archive"
+
+    _msg "${INF}Installing /var/guix and /gnu..."
+    mv "${tmp_path}/var/guix" /var/
+    mv "${tmp_path}/gnu" /
+
     _msg "${INF}Linking the root user's profile"
     mkdir -p "~root/.config/guix"
     ln -sf /var/guix/profiles/per-user/root/current-guix \