mirror of
https://github.com/LnL7/nix-darwin.git
synced 2025-03-13 20:30:02 +00:00
installer: prefer nix from default profile
Using a nix 2.1 nix-channel/nix-env with a 2.0 nix-daemon doesn't work because the buildenv implementation was moved to the daemon. This means the nix version of the target darwin system can't be used because the daemon isn't upgraded yet. error: unsupported builtin function 'buildenv'
This commit is contained in:
parent
48f3ed6301
commit
75add386d3
2 changed files with 7 additions and 8 deletions
|
@ -11,6 +11,8 @@ with lib;
|
|||
users.knownUsers = [ "nixbld1" "nixbld2" "nixbld3" "nixbld4" "nixbld5" "nixbld6" "nixbld7" "nixbld8" "nixbld9" "nixbld10" ];
|
||||
|
||||
system.activationScripts.preUserActivation.text = mkBefore ''
|
||||
PATH=/nix/var/nix/profiles/default/bin:$PATH
|
||||
|
||||
darwinPath=$(NIX_PATH=${concatStringsSep ":" config.nix.nixPath} nix-instantiate --eval -E '<darwin>' 2> /dev/null) || true
|
||||
if ! test -e "$darwinPath"; then
|
||||
if test -t 1; then
|
||||
|
|
|
@ -24,8 +24,7 @@ stdenv.mkDerivation {
|
|||
shellHook = ''
|
||||
set -e
|
||||
|
||||
orig_path="$PATH"
|
||||
export PATH="${pkgs.openssh}/bin:/usr/bin:/bin:/usr/sbin:/sbin" # ssh in case nix needs it
|
||||
export PATH=/nix/var/nix/profiles/default/bin:${nix}/bin:${pkgs.openssh}/bin:/usr/bin:/bin:/usr/sbin:/sbin
|
||||
|
||||
action=switch
|
||||
while [ "$#" -gt 0 ]; do
|
||||
|
@ -45,9 +44,7 @@ stdenv.mkDerivation {
|
|||
echo >&2 "Installing nix-darwin..."
|
||||
echo >&2
|
||||
|
||||
export nix=${nix}
|
||||
|
||||
config=$($nix/bin/nix-instantiate --eval -E '<darwin-config>' 2> /dev/null || echo "$HOME/.nixpkgs/darwin-configuration.nix")
|
||||
config=$(nix-instantiate --eval -E '<darwin-config>' 2> /dev/null || echo "$HOME/.nixpkgs/darwin-configuration.nix")
|
||||
if ! test -f "$config"; then
|
||||
echo "copying example configuration.nix" >&2
|
||||
mkdir -p "$HOME/.nixpkgs"
|
||||
|
@ -61,15 +58,15 @@ stdenv.mkDerivation {
|
|||
read -p "Would you like edit the default configuration.nix before starting? [y/n] " i
|
||||
case "$i" in
|
||||
y|Y)
|
||||
PATH="$orig_path" ''${EDITOR:-nano} "$config"
|
||||
''${EDITOR:-nano} "$config"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
export NIX_PATH=${nixPath}
|
||||
system=$($nix/bin/nix-build '<darwin>' -I "user-darwin-config=$config" -A system --no-out-link)
|
||||
export PATH=$system/sw/bin:$PATH
|
||||
system=$(nix-build '<darwin>' -I "user-darwin-config=$config" -A system --no-out-link)
|
||||
|
||||
export PATH=$system/sw/bin:$PATH
|
||||
darwin-rebuild "$action" -I "user-darwin-config=$config"
|
||||
|
||||
echo >&2
|
||||
|
|
Loading…
Add table
Reference in a new issue