mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 05:56:15 +02:00
Merge pull request #9590 from wh0/patch-1
nix-profile: fix both profile links detection
This commit is contained in:
commit
de5050f73b
3 changed files with 19 additions and 8 deletions
|
@ -1,4 +1,5 @@
|
||||||
# Only execute this file once per shell.
|
# Only execute this file once per shell.
|
||||||
|
# This file is tested by tests/installer/default.nix.
|
||||||
if [ -n "${__ETC_PROFILE_NIX_SOURCED:-}" ]; then return; fi
|
if [ -n "${__ETC_PROFILE_NIX_SOURCED:-}" ]; then return; fi
|
||||||
__ETC_PROFILE_NIX_SOURCED=1
|
__ETC_PROFILE_NIX_SOURCED=1
|
||||||
|
|
||||||
|
@ -9,11 +10,9 @@ else
|
||||||
NIX_LINK_NEW=$HOME/.local/state/nix/profile
|
NIX_LINK_NEW=$HOME/.local/state/nix/profile
|
||||||
fi
|
fi
|
||||||
if [ -e "$NIX_LINK_NEW" ]; then
|
if [ -e "$NIX_LINK_NEW" ]; then
|
||||||
NIX_LINK="$NIX_LINK_NEW"
|
if [ -t 2 ] && [ -e "$NIX_LINK" ]; then
|
||||||
else
|
|
||||||
if [ -t 2 ] && [ -e "$NIX_LINK_NEW" ]; then
|
|
||||||
warning="\033[1;35mwarning:\033[0m"
|
warning="\033[1;35mwarning:\033[0m"
|
||||||
printf "$warning Both %s and legacy %s exist; using the latter.\n" "$NIX_LINK_NEW" "$NIX_LINK" 1>&2
|
printf "$warning Both %s and legacy %s exist; using the former.\n" "$NIX_LINK_NEW" "$NIX_LINK" 1>&2
|
||||||
if [ "$(realpath "$NIX_LINK")" = "$(realpath "$NIX_LINK_NEW")" ]; then
|
if [ "$(realpath "$NIX_LINK")" = "$(realpath "$NIX_LINK_NEW")" ]; then
|
||||||
printf " Since the profiles match, you can safely delete either of them.\n" 1>&2
|
printf " Since the profiles match, you can safely delete either of them.\n" 1>&2
|
||||||
else
|
else
|
||||||
|
@ -26,6 +25,7 @@ else
|
||||||
printf "$warning Profiles do not match. You should manually migrate from %s to %s.\n" "$NIX_LINK" "$NIX_LINK_NEW" 1>&2
|
printf "$warning Profiles do not match. You should manually migrate from %s to %s.\n" "$NIX_LINK" "$NIX_LINK_NEW" 1>&2
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
NIX_LINK="$NIX_LINK_NEW"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export NIX_PROFILES="@localstatedir@/nix/profiles/default $NIX_LINK"
|
export NIX_PROFILES="@localstatedir@/nix/profiles/default $NIX_LINK"
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# This file is tested by tests/installer/default.nix.
|
||||||
if [ -n "$HOME" ] && [ -n "$USER" ]; then
|
if [ -n "$HOME" ] && [ -n "$USER" ]; then
|
||||||
|
|
||||||
# Set up the per-user profile.
|
# Set up the per-user profile.
|
||||||
|
@ -9,11 +10,9 @@ if [ -n "$HOME" ] && [ -n "$USER" ]; then
|
||||||
NIX_LINK_NEW="$HOME/.local/state/nix/profile"
|
NIX_LINK_NEW="$HOME/.local/state/nix/profile"
|
||||||
fi
|
fi
|
||||||
if [ -e "$NIX_LINK_NEW" ]; then
|
if [ -e "$NIX_LINK_NEW" ]; then
|
||||||
NIX_LINK="$NIX_LINK_NEW"
|
if [ -t 2 ] && [ -e "$NIX_LINK" ]; then
|
||||||
else
|
|
||||||
if [ -t 2 ] && [ -e "$NIX_LINK_NEW" ]; then
|
|
||||||
warning="\033[1;35mwarning:\033[0m"
|
warning="\033[1;35mwarning:\033[0m"
|
||||||
printf "$warning Both %s and legacy %s exist; using the latter.\n" "$NIX_LINK_NEW" "$NIX_LINK" 1>&2
|
printf "$warning Both %s and legacy %s exist; using the former.\n" "$NIX_LINK_NEW" "$NIX_LINK" 1>&2
|
||||||
if [ "$(realpath "$NIX_LINK")" = "$(realpath "$NIX_LINK_NEW")" ]; then
|
if [ "$(realpath "$NIX_LINK")" = "$(realpath "$NIX_LINK_NEW")" ]; then
|
||||||
printf " Since the profiles match, you can safely delete either of them.\n" 1>&2
|
printf " Since the profiles match, you can safely delete either of them.\n" 1>&2
|
||||||
else
|
else
|
||||||
|
@ -26,6 +25,7 @@ if [ -n "$HOME" ] && [ -n "$USER" ]; then
|
||||||
printf "$warning Profiles do not match. You should manually migrate from %s to %s.\n" "$NIX_LINK" "$NIX_LINK_NEW" 1>&2
|
printf "$warning Profiles do not match. You should manually migrate from %s to %s.\n" "$NIX_LINK" "$NIX_LINK_NEW" 1>&2
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
NIX_LINK="$NIX_LINK_NEW"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set up environment.
|
# Set up environment.
|
||||||
|
|
|
@ -13,6 +13,17 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
install-both-profile-links = {
|
||||||
|
script = ''
|
||||||
|
tar -xf ./nix.tar.xz
|
||||||
|
mv ./nix-* nix
|
||||||
|
ln -s $HOME/.local/state/nix/profiles/a-profile $HOME/.nix-profile
|
||||||
|
mkdir -p $HOME/.local/state/nix
|
||||||
|
ln -s $HOME/.local/state/nix/profiles/b-profile $HOME/.local/state/nix/profile
|
||||||
|
./nix/install --no-channel-add
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
install-force-no-daemon = {
|
install-force-no-daemon = {
|
||||||
script = ''
|
script = ''
|
||||||
tar -xf ./nix.tar.xz
|
tar -xf ./nix.tar.xz
|
||||||
|
|
Loading…
Reference in a new issue