aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-05-01 15:48:39 +0200
committerGitHub <noreply@github.com>2019-05-01 15:48:39 +0200
commit989cb3777753024072160776ea37348689b89d44 (patch)
tree7c39520de3655e5ca4c4aa167ab58c1cc3e2e1f9 /scripts
parent83f2b110cecf50877ce1585c698dbed6dd225562 (diff)
parentb9567aa8b6f935522d1037377e0e5205a7529fd8 (diff)
Merge pull request #2679 from bjornfor/offline-install
install script: don't abort when "nix-channel --update" fails
Diffstat (limited to 'scripts')
-rw-r--r--scripts/install-multi-user.sh10
-rw-r--r--scripts/install-nix-from-closure.sh5
2 files changed, 13 insertions, 2 deletions
diff --git a/scripts/install-multi-user.sh b/scripts/install-multi-user.sh
index 4b65783a2..c89e18b51 100644
--- a/scripts/install-multi-user.sh
+++ b/scripts/install-multi-user.sh
@@ -240,10 +240,16 @@ EOF
}
trap finish_fail EXIT
+channel_update_failed=0
function finish_success {
finish_cleanup
ok "Alright! We're done!"
+ if [ "x$channel_update_failed" = x1 ]; then
+ echo ""
+ echo "But fetching the nixpkgs channel failed. (Are you offline?)"
+ echo "To try again later, run \"sudo -i nix-channel --update nixpkgs\"."
+ fi
cat <<EOF
Before Nix will work in your existing shells, you'll need to close
@@ -734,7 +740,9 @@ setup_default_profile() {
# otherwise it will be lost in environments where sudo doesn't pass
# all the environment variables by default.
_sudo "to update the default channel in the default profile" \
- HOME="$ROOT_HOME" NIX_SSL_CERT_FILE="$NIX_SSL_CERT_FILE" "$NIX_INSTALLED_NIX/bin/nix-channel" --update nixpkgs
+ HOME="$ROOT_HOME" NIX_SSL_CERT_FILE="$NIX_SSL_CERT_FILE" "$NIX_INSTALLED_NIX/bin/nix-channel" --update nixpkgs \
+ || channel_update_failed=1
+
}
diff --git a/scripts/install-nix-from-closure.sh b/scripts/install-nix-from-closure.sh
index fc633fa23..7810a6461 100644
--- a/scripts/install-nix-from-closure.sh
+++ b/scripts/install-nix-from-closure.sh
@@ -132,7 +132,10 @@ if ! $nix/bin/nix-channel --list | grep -q "^nixpkgs "; then
$nix/bin/nix-channel --add https://nixos.org/channels/nixpkgs-unstable
fi
if [ -z "$_NIX_INSTALLER_TEST" ]; then
- $nix/bin/nix-channel --update nixpkgs
+ if ! $nix/bin/nix-channel --update nixpkgs; then
+ echo "Fetching the nixpkgs channel failed. (Are you offline?)"
+ echo "To try again later, run \"nix-channel --update nixpkgs\"."
+ fi
fi
added=