aboutsummaryrefslogtreecommitdiff
path: root/scripts/install-nix-from-closure.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/install-nix-from-closure.sh')
-rw-r--r--scripts/install-nix-from-closure.sh37
1 files changed, 31 insertions, 6 deletions
diff --git a/scripts/install-nix-from-closure.sh b/scripts/install-nix-from-closure.sh
index 8416fb967..4d01eb589 100644
--- a/scripts/install-nix-from-closure.sh
+++ b/scripts/install-nix-from-closure.sh
@@ -28,14 +28,39 @@ if [ "$(uname -s)" = "Darwin" ]; then
echo "$0: macOS $(sw_vers -productVersion) is not supported, upgrade to 10.10 or higher"
exit 1
fi
-
- printf '\e[1;31mSwitching to the Daemon-based Installer\e[0m\n'
- exec "$self/install-multi-user"
- exit 0
fi
-# Linux & Systemd support
-if [ "$(uname -s)" = "Linux" ] && [ -e /run/systemd/system ]; then
+# Determine if we should punt to the single-user installer or not
+if [ "$(uname -s)" = "Darwin" ]; then
+ INSTALL_MODE=daemon
+elif [ "$(uname -s)" = "Linux" ] && [ -e /run/systemd/system ]; then
+ INSTALL_MODE=no-daemon
+else
+ INSTALL_MODE=no-daemon
+fi
+
+# Trivially handle the --daemon / --no-daemon options
+if [ "x${1:-}" = "x--no-daemon" ]; then
+ INSTALL_MODE=no-daemon
+elif [ "x${1:-}" = "x--daemon" ]; then
+ INSTALL_MODE=daemon
+elif [ "x${1:-}" != "x" ]; then
+ (
+ echo "Nix Installer [--daemon|--no-daemon]"
+ echo ""
+ echo " --daemon: Force the installer to use the Daemon"
+ echo " based installer, even though it may not"
+ echo " work."
+ echo ""
+ echo " --no-daemon: Force a no-daemon, single-user"
+ echo " installation even when the preferred"
+ echo " method is with the daemon."
+ echo ""
+ ) >&2
+ exit
+fi
+
+if [ "$INSTALL_MODE" = "daemon" ]; then
printf '\e[1;31mSwitching to the Daemon-based Installer\e[0m\n'
exec "$self/install-multi-user"
exit 0