* 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
				
			
		|  | @ -174,11 +174,21 @@ bool isStorePath(const Path & path); | |||
| 
 | ||||
| void checkStoreName(const string & name); | ||||
| 
 | ||||
| 
 | ||||
| /* Chop off the parts after the top-level store name, e.g.,
 | ||||
|    /nix/store/abcd-foo/bar => /nix/store/abcd-foo. */ | ||||
| Path toStorePath(const Path & path); | ||||
| 
 | ||||
| 
 | ||||
| /* Follow symlinks until we end up with a path in the Nix store. */ | ||||
| Path followLinksToStore(const Path & path); | ||||
| 
 | ||||
| 
 | ||||
| /* Same as followLinksToStore(), but apply toStorePath() to the
 | ||||
|    result. */ | ||||
| Path followLinksToStorePath(const Path & path); | ||||
| 
 | ||||
| 
 | ||||
| /* Constructs a unique store path name. */ | ||||
| Path makeStorePath(const string & type, | ||||
|     const Hash & hash, const string & suffix); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue