Merge pull request #27342 from lheckemann/installer-changes
Installer changes
This commit is contained in:
commit
7d5633ea7a
@ -106,8 +106,11 @@ extraBuildFlags+=(--option "build-users-group" "$buildUsersGroup")
|
|||||||
binary_caches="$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')"
|
binary_caches="$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')"
|
||||||
extraBuildFlags+=(--option "binary-caches" "$binary_caches")
|
extraBuildFlags+=(--option "binary-caches" "$binary_caches")
|
||||||
|
|
||||||
nixpkgs="$(readlink -f "$(nix-instantiate --find-file nixpkgs)")"
|
# We only need nixpkgs in the path if we don't already have a system closure to install
|
||||||
export NIX_PATH="nixpkgs=$nixpkgs:nixos-config=$mountPoint/$NIXOS_CONFIG"
|
if [[ -z "$closure" ]]; then
|
||||||
|
nixpkgs="$(readlink -f "$(nix-instantiate --find-file nixpkgs)")"
|
||||||
|
export NIX_PATH="nixpkgs=$nixpkgs:nixos-config=$mountPoint/$NIXOS_CONFIG"
|
||||||
|
fi
|
||||||
unset NIXOS_CONFIG
|
unset NIXOS_CONFIG
|
||||||
|
|
||||||
# TODO: do I need to set NIX_SUBSTITUTERS here or is the --option binary-caches above enough?
|
# TODO: do I need to set NIX_SUBSTITUTERS here or is the --option binary-caches above enough?
|
||||||
@ -123,6 +126,9 @@ function closure() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
system_closure="$tmpdir/system.closure"
|
system_closure="$tmpdir/system.closure"
|
||||||
|
# Use a FIFO for piping nix-store --export into nix-store --import, saving disk
|
||||||
|
# I/O and space. nix-store --import is run by nixos-prepare-root.
|
||||||
|
mkfifo $system_closure
|
||||||
|
|
||||||
if [ -z "$closure" ]; then
|
if [ -z "$closure" ]; then
|
||||||
expr="(import <nixpkgs/nixos> {}).system"
|
expr="(import <nixpkgs/nixos> {}).system"
|
||||||
@ -132,7 +138,9 @@ else
|
|||||||
system_root=$closure
|
system_root=$closure
|
||||||
# Create a temporary file ending in .closure (so nixos-prepare-root knows to --import it) to transport the store closure
|
# Create a temporary file ending in .closure (so nixos-prepare-root knows to --import it) to transport the store closure
|
||||||
# to the filesytem we're preparing. Also delete it on exit!
|
# to the filesytem we're preparing. Also delete it on exit!
|
||||||
nix-store --export $(nix-store -qR $closure) > $system_closure
|
# Run in background to avoid blocking while trying to write to the FIFO
|
||||||
|
# $system_closure refers to
|
||||||
|
nix-store --export $(nix-store -qR $closure) > $system_closure &
|
||||||
fi
|
fi
|
||||||
|
|
||||||
channel_root="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")"
|
channel_root="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user