diff --git a/doc/manual/nix-env.xml b/doc/manual/nix-env.xml index 6106d15f4..ff005830e 100644 --- a/doc/manual/nix-env.xml +++ b/doc/manual/nix-env.xml @@ -109,8 +109,13 @@ linkend="sec-common-options" />. operations, this flag will cause nix-env to print what would be done if this flag had not been - specified, without actually doing it. - + specified, without actually doing it. + + also prints out which paths will + be substituted (i.e., + downloaded) and which paths will be built from source (because no + substitute is available). + system @@ -205,6 +210,14 @@ number of possible ways: is specified. + If + () is specified, the arguments are + attribute paths that select attributes from the + top-level Nix expression. This is faster than using derivation + names and unambiguous. To find out the attribute paths of available + packages, use nix-env -qaA '*'. + If path is given, args is a set of names denoting installed @@ -280,6 +293,14 @@ installing `gcc-3.3.2' +To install using a specific attribute: + + +$ nix-env -i -A gcc40mips +$ nix-env -i -A xorg.xorgserver + + + To install all derivations in the Nix expression foo.nix: @@ -322,6 +343,25 @@ selecting the subversionWithJava attribute from the attribute set returned by calling the function defined in ./foo.nix. +A dry-run tells you which paths will be downloaded or built from +source: + + +$ nix-env -f pkgs/top-level/all-packages.nix -i f-spot --dry-run +(dry run; not doing anything) +installing `f-spot-0.0.10' +the following derivations will be built: + /nix/store/0g63jv9aagwbgci4nnzs2dkxqz84kdja-libgnomeprintui-2.12.1.tar.bz2.drv + /nix/store/0gfarvxq6sannsdw8a1ir40j1ys2mqb4-ORBit2-2.14.2.tar.bz2.drv + /nix/store/0i9gs5zc04668qiy60ga2rc16abkj7g8-sqlite-2.8.17.drv + ... +the following paths will be substituted: + /nix/store/8zbipvm4gp9jfqh9nnk1n3bary1a37gs-perl-XML-Parser-2.34 + /nix/store/b8a2bg7gnyvvvjjibp4axg9x1hzkw36c-mono-1.1.4 + ... + + + @@ -343,6 +383,7 @@ attribute set returned by calling the function defined in + args @@ -391,6 +432,17 @@ installed. + + + Only “upgrade” to derivations + that have the same version. This may not seem very useful, but it + actually is, e.g., when there is a new release of Nixpkgs and you + want to replace installed applications with the same versions + built against newer dependencies (to reduce the number of + dependencies floating around on your system). + + + In addition to upgrading to newer versions, also @@ -523,21 +575,37 @@ $ nix-env -e '*' (remove everything) + - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + names @@ -549,7 +617,10 @@ $ nix-env -e '*' (remove everything) paths that are installed in the current generation of the active profile (), or the derivations that are available for installation in the active Nix expression -(). +(). It only prints information about +derivations whose symbolic name matches one of +names. The wildcard * +shows all derivations. The derivations are sorted by their name attributes. @@ -598,6 +669,18 @@ user environment elements, etc. --> + + + Print the result in an XML representation suitable + for automatic processing by other tools. The root element is + called items, which contains a + item element for each available or installed + derivation. The fields discussed below are all stored in + attributes of the item + elements. + + + @@ -617,6 +700,17 @@ user environment elements, etc. --> + + + + Print the attribute path of + the derivation, which can be used to unambiguously select it using + the option + available in commands that install derivations like + nix-env --install. + + + Suppress printing of the name @@ -690,6 +784,15 @@ user environment elements, etc. --> + + + Print a short (one-line) description of the + derivation, if available. The description is taken from the + meta.description attribute of the + derivation. + + + @@ -698,7 +801,7 @@ user environment elements, etc. --> Examples -$ nix-env -q (show installed derivations) +$ nix-env -q '*' (show installed derivations) bison-1.875c docbook-xml-4.2 firefox-1.0.4 @@ -706,30 +809,39 @@ MPlayer-1.0pre7 ORBit2-2.8.3 ... -$ nix-env -qa (show available derivations) +$ nix-env -qa '*' (show available derivations) firefox-1.0.7 GConf-2.4.0.1 MPlayer-1.0pre7 ORBit2-2.8.3 ... -$ nix-env -qas (show status of available derivations) +$ nix-env -qas '*' (show status of available derivations) -P- firefox-1.0.7 (not installed but present) --S GConf-2.4.0.1 (not present, but there is a substitute for fast installation) --S MPlayer-1.0pre3 (i.e., this is not the installed MPlayer, even though the version is the same!) IP- ORBit2-2.8.3 (installed and by definition present) ... -$ nix-env -f ./foo.nix -qa (show available derivations in the Nix expression foo.nix) +(show available derivations in the Nix expression foo.nix) +$ nix-env -f ./foo.nix -qa '*' foo-1.2.3 -$ nix-env -qc (compare installed versions to what’s available) +$ nix-env -qc '*' (compare installed versions to what’s available) ... acrobat-reader-7.0 - ? (package is not available at all) autoconf-2.59 = 2.59 (same version) firefox-1.0.4 < 1.0.7 (a more recent version is available) ... - + +(show info about a specific package, in XML) +$ nix-env -qa --xml --description firefox + + + +]]>