diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2018-04-19T22·18+0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-19T22·18+0200 |
commit | a8c61cef2624ce39abb446e7c46064917f6f6b78 (patch) | |
tree | 7a326dbb54b3555f9e2e63652bb839dd520915b1 | |
parent | a99027d5870a772db550f741cb62aee612fcd5da (diff) | |
parent | 51cbe99104f45dd688c4c7f1257ac24aa9fe6afb (diff) |
Merge pull request #2092 from grahamc/opt-in-or-out-daemon
installer: allow opting in / out to the daemon installer
-rw-r--r-- | scripts/install-nix-from-closure.sh | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/scripts/install-nix-from-closure.sh b/scripts/install-nix-from-closure.sh index 8416fb9673b5..cd71d7947d77 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=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 |