aboutsummaryrefslogtreecommitdiff
path: root/doc/manual
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-09-03 21:15:47 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-09-03 21:21:14 +0200
commit2c1ecf8e81f8ea5a9fa228aa22a57a6ba0a0e4df (patch)
tree4efd8ce1b987a54b0b9ca9709d2e403da8f0f2cc /doc/manual
parent88c07341a6bf99f923cb3d6487b72afc025b7746 (diff)
nix-env -i: Add a flag ‘--remove-all’ / ‘-r’
This is equivalent to running ‘nix-env -e '*'’ first, except that it happens in a single transaction. Thus, ‘nix-env -i pkgs...’ replaces the profile with the specified set of packages. The main motivation is to support declarative package management (similar to environment.systemPackages in NixOS). That is, if you have a specification ‘profile.nix’ like this: with import <nixpkgs> {}; [ thunderbird geeqie ... ] then after any change to ‘profile.nix’, you can run: $ nix-env -f profile.nix -ir to update the profile to match the specification. (Without the ‘-r’ flag, if you remove a package from ‘profile.nix’, it won't be removed from the actual profile.) Suggested by @zefhemel.
Diffstat (limited to 'doc/manual')
-rw-r--r--doc/manual/nix-env.xml14
1 files changed, 14 insertions, 0 deletions
diff --git a/doc/manual/nix-env.xml b/doc/manual/nix-env.xml
index 84c875dad..03111515a 100644
--- a/doc/manual/nix-env.xml
+++ b/doc/manual/nix-env.xml
@@ -209,6 +209,10 @@ also <xref linkend="sec-common-options" />.</phrase></para>
<arg choice='plain'><option>--preserve-installed</option></arg>
<arg choice='plain'><option>-P</option></arg>
</group>
+ <group choice='opt'>
+ <arg choice='plain'><option>--remove-all</option></arg>
+ <arg choice='plain'><option>-r</option></arg>
+ </group>
<arg choice='plain' rep='repeat'><replaceable>args</replaceable></arg>
</cmdsynopsis>
@@ -318,6 +322,16 @@ number of possible ways:
</varlistentry>
+ <varlistentry><term><option>--remove-all</option></term>
+ <term><option>-r</option></term>
+
+ <listitem><para>Remove all previously installed packages first.
+ This is equivalent to running <literal>nix-env -e '*'</literal>
+ first, except that everything happens in a single
+ transaction.</para></listitem>
+
+ </varlistentry>
+
</variablelist>
</refsection>