mirror of
https://github.com/NixOS/nix
synced 2025-07-08 19:23:54 +02:00
* nix-env -e: support uninstalling by path, so that one can say
$ nix-env -e $(which firefox) or $ nix-env -e /nix/store/nywzlygrkfcgz7dfmhm5xixlx1l0m60v-pan-0.132 * nix-env -i: if an argument contains a slash anywhere, treat it as a path and follow it through symlinks into the Nix store. This allows things like $ nix-build -A firefox $ nix-env -i ./result * nix-env -q/-i/-e: don't complain when the `*' selector doesn't match anything. In particular, `nix-env -q \*' doesn't fail anymore on an empty profile.
This commit is contained in:
parent
12d0a1eb75
commit
633518628f
7 changed files with 81 additions and 50 deletions
|
@ -2,6 +2,8 @@ source common.sh
|
|||
|
||||
clearProfiles
|
||||
|
||||
set -x
|
||||
|
||||
# Query installed: should be empty.
|
||||
test "$($nixenv -p $profiles/test -q '*' | wc -l)" -eq 0
|
||||
|
||||
|
@ -71,6 +73,15 @@ echo $outPath10
|
|||
$nixenv -p $profiles/test -i "$outPath10"
|
||||
$nixenv -p $profiles/test -q '*' | grep -q foo-1.0
|
||||
|
||||
# Uninstall foo-1.0, using a symlink to its store path.
|
||||
ln -sfn $outPath10/bin/foo $TEST_ROOT/symlink
|
||||
$nixenv -p $profiles/test -e $TEST_ROOT/symlink
|
||||
if $nixenv -p $profiles/test -q '*' | grep -q foo; then false; fi
|
||||
|
||||
# Install foo-1.0, now using a symlink to its store path.
|
||||
$nixenv -p $profiles/test -i $TEST_ROOT/symlink
|
||||
$nixenv -p $profiles/test -q '*' | grep -q foo
|
||||
|
||||
# Delete all old generations.
|
||||
$nixenv -p $profiles/test --delete-generations old
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue