diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2019-03-02 18:48:28 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-02 18:48:28 -0500 |
commit | b0799b42190a594832dd7dad62682b2d2cee6e12 (patch) | |
tree | 26808a9c9032a26ab5b4aa210d9fd69218bd6a61 | |
parent | 601204f55d1f57b949db7cd6ee22834adae2cf49 (diff) | |
parent | 475c8aa018bbdd99e7e9d693c7207cdccdcde7b3 (diff) | |
download | nixlib-b0799b42190a594832dd7dad62682b2d2cee6e12.tar nixlib-b0799b42190a594832dd7dad62682b2d2cee6e12.tar.gz nixlib-b0799b42190a594832dd7dad62682b2d2cee6e12.tar.bz2 nixlib-b0799b42190a594832dd7dad62682b2d2cee6e12.tar.lz nixlib-b0799b42190a594832dd7dad62682b2d2cee6e12.tar.xz nixlib-b0799b42190a594832dd7dad62682b2d2cee6e12.tar.zst nixlib-b0799b42190a594832dd7dad62682b2d2cee6e12.zip |
Merge pull request #56115 from matthewbauer/nixos-rebuild-upgrade-nix
nixos-rebuild: try to get Nix fallback from new channel first
-rw-r--r-- | nixos/modules/installer/tools/nixos-rebuild.sh | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 27e5b5d8c704..6a08c9b4c6c6 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -267,6 +267,14 @@ if [ -n "$rollback" -o "$action" = dry-build ]; then buildNix= fi +nixSystem() { + machine="$(uname -m)" + if [[ "$machine" =~ i.86 ]]; then + machine=i686 + fi + echo $machine-linux +} + prebuiltNix() { machine="$1" if [ "$machine" = x86_64 ]; then @@ -286,7 +294,9 @@ if [ -n "$buildNix" ]; then nixDrv= if ! nixDrv="$(nix-instantiate '<nixpkgs/nixos>' --add-root $tmpDir/nix.drv --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then if ! nixDrv="$(nix-instantiate '<nixpkgs>' --add-root $tmpDir/nix.drv --indirect -A nix "${extraBuildFlags[@]}")"; then - nixStorePath="$(prebuiltNix "$(uname -m)")" + if ! nixStorePath="$(nix-instantiate --eval '<nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix>' -A $(nixSystem) | sed -e 's/^"//' -e 's/"$//')"; then + nixStorePath="$(prebuiltNix "$(uname -m)")" + fi if ! nix-store -r $nixStorePath --add-root $tmpDir/nix --indirect \ --option extra-binary-caches https://cache.nixos.org/; then echo "warning: don't know how to get latest Nix" >&2 |