0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-14 06:00:33 +03:00

nixos-rebuild: do not depend on nix.conf to activate flakes

This commit is contained in:
Julien Moutinho 2020-09-04 06:53:00 +02:00
parent e449d07a26
commit c6a3a0f4f5
2 changed files with 7 additions and 5 deletions

View file

@ -521,7 +521,7 @@
<varlistentry> <varlistentry>
<term> <term>
<option>--flake</option> <replaceable>flake-uri</replaceable>[<replaceable>name</replaceable>] <option>--flake</option> <replaceable>flake-uri</replaceable><optional>#<replaceable>name</replaceable></optional>
</term> </term>
<listitem> <listitem>
<para> <para>

View file

@ -17,6 +17,7 @@ showSyntax() {
origArgs=("$@") origArgs=("$@")
extraBuildFlags=() extraBuildFlags=()
lockFlags=() lockFlags=()
flakeFlags=()
action= action=
buildNix=1 buildNix=1
fast= fast=
@ -99,6 +100,7 @@ while [ "$#" -gt 0 ]; do
;; ;;
--flake) --flake)
flake="$1" flake="$1"
flakeFlags=(--experimental-features 'nix-command flakes')
shift 1 shift 1
;; ;;
--recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file)
@ -281,7 +283,7 @@ fi
# Resolve the flake. # Resolve the flake.
if [[ -n $flake ]]; then if [[ -n $flake ]]; then
flake=$(nix flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
fi fi
# Find configuration.nix and open editor instead of building. # Find configuration.nix and open editor instead of building.
@ -290,7 +292,7 @@ if [ "$action" = edit ]; then
NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)} NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)}
exec "${EDITOR:-nano}" "$NIXOS_CONFIG" exec "${EDITOR:-nano}" "$NIXOS_CONFIG"
else else
exec nix edit "${lockFlags[@]}" -- "$flake#$flakeAttr" exec nix "${flakeFlags[@]}" edit "${lockFlags[@]}" -- "$flake#$flakeAttr"
fi fi
exit 1 exit 1
fi fi
@ -416,7 +418,7 @@ if [ -z "$rollback" ]; then
pathToConfig="$(nixBuild '<nixpkgs/nixos>' --no-out-link -A system "${extraBuildFlags[@]}")" pathToConfig="$(nixBuild '<nixpkgs/nixos>' --no-out-link -A system "${extraBuildFlags[@]}")"
else else
outLink=$tmpDir/result outLink=$tmpDir/result
nix build "$flake#$flakeAttr.config.system.build.toplevel" \ nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \
"${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link $outLink "${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link $outLink
pathToConfig="$(readlink -f $outLink)" pathToConfig="$(readlink -f $outLink)"
fi fi
@ -426,7 +428,7 @@ if [ -z "$rollback" ]; then
if [[ -z $flake ]]; then if [[ -z $flake ]]; then
pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A system -k "${extraBuildFlags[@]}")" pathToConfig="$(nixBuild '<nixpkgs/nixos>' -A system -k "${extraBuildFlags[@]}")"
else else
nix build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}" nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}"
pathToConfig="$(readlink -f ./result)" pathToConfig="$(readlink -f ./result)"
fi fi
elif [ "$action" = build-vm ]; then elif [ "$action" = build-vm ]; then