diff options
author | Robert Hensing <roberth@users.noreply.github.com> | 2022-01-06 11:34:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-06 11:34:55 +0100 |
commit | 265fe132e698e6b958d10ae5e42bfb42ac3d3fac (patch) | |
tree | 672c731149d590386fbc73261843f9a1897734e3 | |
parent | 77fda7f672726e1a95c8cd200f27bccfc86c870b (diff) | |
parent | 3ad8f52de0aaad1a7c798ad8b1649cb18becb906 (diff) |
Merge pull request #153620 from pennae/fix-installer-tests
nixos-install: copy channels before system eval
-rw-r--r-- | nixos/modules/installer/tools/nixos-install.sh | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index fc4a69aa17d34..e7cf52f5e32bd 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -143,6 +143,23 @@ export TMPDIR=${TMPDIR:-$tmpdir} sub="auto?trusted=1" +# Copy the NixOS/Nixpkgs sources to the target as the initial contents +# of the NixOS channel. +if [[ -z $noChannelCopy ]]; then + if [[ -z $channelPath ]]; then + channelPath="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")" + fi + if [[ -n $channelPath ]]; then + echo "copying channel..." + mkdir -p "$mountPoint"/nix/var/nix/profiles/per-user/root + nix-env --store "$mountPoint" "${extraBuildFlags[@]}" --extra-substituters "$sub" \ + -p "$mountPoint"/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet \ + "${verbosity[@]}" + install -m 0700 -d "$mountPoint"/root/.nix-defexpr + ln -sfn /nix/var/nix/profiles/per-user/root/channels "$mountPoint"/root/.nix-defexpr/channels + fi +fi + # Build the system configuration in the target filesystem. if [[ -z $system ]]; then outLink="$tmpdir/system" @@ -167,23 +184,6 @@ nix-env --store "$mountPoint" "${extraBuildFlags[@]}" \ --extra-substituters "$sub" \ -p "$mountPoint"/nix/var/nix/profiles/system --set "$system" "${verbosity[@]}" -# Copy the NixOS/Nixpkgs sources to the target as the initial contents -# of the NixOS channel. -if [[ -z $noChannelCopy ]]; then - if [[ -z $channelPath ]]; then - channelPath="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")" - fi - if [[ -n $channelPath ]]; then - echo "copying channel..." - mkdir -p "$mountPoint"/nix/var/nix/profiles/per-user/root - nix-env --store "$mountPoint" "${extraBuildFlags[@]}" --extra-substituters "$sub" \ - -p "$mountPoint"/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet \ - "${verbosity[@]}" - install -m 0700 -d "$mountPoint"/root/.nix-defexpr - ln -sfn /nix/var/nix/profiles/per-user/root/channels "$mountPoint"/root/.nix-defexpr/channels - fi -fi - # Mark the target as a NixOS installation, otherwise switch-to-configuration will chicken out. mkdir -m 0755 -p "$mountPoint/etc" touch "$mountPoint/etc/NIXOS" |