1
0
Fork 0
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:
Eelco Dolstra 2007-11-29 16:18:24 +00:00
parent 12d0a1eb75
commit 633518628f
7 changed files with 81 additions and 50 deletions

View file

@ -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