aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorPavol Rusnak <pavol@rusnak.io>2020-05-12 18:58:13 +0200
committerPavol Rusnak <pavol@rusnak.io>2020-05-12 19:00:45 +0200
commit9e12b2f5b86963bc6d3a4ee37cc759357fb62263 (patch)
treede51e368630a5036bd8483f00fc658dfc884626a /scripts
parent46be11b762d6048746728e6e546dd4f0fac581fc (diff)
Expose installer configuration environment variables via command line flags
Diffstat (limited to 'scripts')
-rw-r--r--scripts/install-nix-from-closure.sh61
1 files changed, 37 insertions, 24 deletions
diff --git a/scripts/install-nix-from-closure.sh b/scripts/install-nix-from-closure.sh
index 21915b37d..e06530ddf 100644
--- a/scripts/install-nix-from-closure.sh
+++ b/scripts/install-nix-from-closure.sh
@@ -40,30 +40,43 @@ elif [ "$(uname -s)" = "Linux" ] && [ -e /run/systemd/system ]; then
fi
INSTALL_MODE=no-daemon
-# 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 "Choose installation method."
- echo ""
- echo " --daemon: Installs and configures a background daemon that manages the store,"
- echo " providing multi-user support and better isolation for local builds."
- echo " Both for security and reproducibility, this method is recommended if"
- echo " supported on your platform."
- echo " See https://nixos.org/nix/manual/#sect-multi-user-installation"
- echo ""
- echo " --no-daemon: Simple, single-user installation that does not require root and is"
- echo " trivial to uninstall."
- echo " (default)"
- echo ""
- ) >&2
- exit
-fi
+
+# handle the command line flags
+while [ "x${1:-}" != "x" ]; do
+ if [ "x${1:-}" = "x--no-daemon" ]; then
+ INSTALL_MODE=no-daemon
+ elif [ "x${1:-}" = "x--daemon" ]; then
+ INSTALL_MODE=daemon
+ elif [ "x${1:-}" = "x--no-channel-add" ]; then
+ NIX_INSTALLER_NO_CHANNEL_ADD=1
+ elif [ "x${1:-}" = "x--no-modify-profile" ]; then
+ NIX_INSTALLER_NO_MODIFY_PROFILE=1
+ elif [ "x${1:-}" != "x" ]; then
+ (
+ echo "Nix Installer [--daemon|--no-daemon] [--no-channel-add] [--no-modify-profile]"
+
+ echo "Choose installation method."
+ echo ""
+ echo " --daemon: Installs and configures a background daemon that manages the store,"
+ echo " providing multi-user support and better isolation for local builds."
+ echo " Both for security and reproducibility, this method is recommended if"
+ echo " supported on your platform."
+ echo " See https://nixos.org/nix/manual/#sect-multi-user-installation"
+ echo ""
+ echo " --no-daemon: Simple, single-user installation that does not require root and is"
+ echo " trivial to uninstall."
+ echo " (default)"
+ echo ""
+ echo " --no-channel-add: Don't add any channels. nixpkgs-unstable is installed by default."
+ echo ""
+ echo " --no-modify-profile: Skip channel installation. When not provided nixpkgs-unstable"
+ echo " is installed by default."
+ echo ""
+ ) >&2
+ exit
+ fi
+ shift
+done
if [ "$INSTALL_MODE" = "daemon" ]; then
printf '\e[1;31mSwitching to the Daemon-based Installer\e[0m\n'