about summary refs log tree commit diff
path: root/doc/manual/nix-env.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/nix-env.xml')
-rw-r--r--doc/manual/nix-env.xml226
1 files changed, 224 insertions, 2 deletions
diff --git a/doc/manual/nix-env.xml b/doc/manual/nix-env.xml
index 874f27081636..70069fa1af84 100644
--- a/doc/manual/nix-env.xml
+++ b/doc/manual/nix-env.xml
@@ -111,8 +111,9 @@
         <listitem>
           <para>
             For the <option>--install</option>,
-            <option>--upgrade</option> and
-            <option>--uninstall</option> operations, this flag will
+            <option>--upgrade</option>, <option>--uninstall</option>,
+            <option>--switch-generation</option> and
+            <option>--rollback</option> operations, this flag will
             cause <command>nix-env</command> to print what
             <emphasis>would</emphasis> be done if this flag had not
             been specified, without actually doing it.
@@ -594,4 +595,225 @@ foo-1.2.3</screen>
   </refsection>
   
     
+
+  <!--######################################################################-->
+
+  <refsection>
+    <title>Operation <option>--switch-profile</option></title>
+
+    <refsection>
+      <title>Synopsis</title>
+      <cmdsynopsis>
+        <command>nix-env</command>
+        <group choice='req'>
+          <arg choice='plain'><option>--switch-profile</option></arg>
+          <arg choice='plain'><option>-S</option></arg>
+        </group>
+        <arg choice='req'><replaceable>path</replaceable></arg>
+      </cmdsynopsis>
+    </refsection>
+
+    <refsection>
+      <title>Description</title>
+            
+      <para>
+        This operation makes <replaceable>path</replaceable> the
+        current profile for the user.  That is, the symlink
+        <filename>~/.nix-profile</filename> is made to point to
+        <replaceable>path</replaceable>.
+      </para>
+
+    </refsection>
+            
+    <refsection>
+      <title>Examples</title>
+
+      <screen>
+$ nix-env -S ~/my-profile</screen>
+
+    </refsection>
+    
+  </refsection>
+
+
+  
+  <!--######################################################################-->
+
+  <refsection>
+    <title>Operation <option>--list-generations</option></title>
+
+    <refsection>
+      <title>Synopsis</title>
+      <cmdsynopsis>
+        <command>nix-env</command>
+        <arg choice='req'><option>--list-generations</option></arg>
+      </cmdsynopsis>
+    </refsection>
+
+    <refsection>
+      <title>Description</title>
+            
+      <para>
+        This operation print a list of all the currently existing
+        generations for the active profile.  These may be switched to
+        using the <option>--switch-generation</option> operation.  It
+        also prints the creation date of the generation, and indicates
+        the current generation.
+      </para>
+
+    </refsection>
+            
+    <refsection>
+      <title>Examples</title>
+
+      <screen>
+$ nix-env --list-generations
+  95   2004-02-06 11:48:24
+  96   2004-02-06 11:49:01
+  97   2004-02-06 16:22:45
+  98   2004-02-06 16:24:33   (current)</screen>
+
+    </refsection>
+    
+  </refsection>
+
+
+  
+  <!--######################################################################-->
+
+  <refsection>
+    <title>Operation <option>--switch-generation</option></title>
+
+    <refsection>
+      <title>Synopsis</title>
+      <cmdsynopsis>
+        <command>nix-env</command>
+        <group choice='req'>
+          <arg choice='plain'><option>--switch-generation</option></arg>
+          <arg choice='plain'><option>-G</option></arg>
+        </group>
+        <arg choice='req'><replaceable>generation</replaceable></arg>
+      </cmdsynopsis>
+    </refsection>
+
+    <refsection>
+      <title>Description</title>
+            
+      <para>
+        This operation makes generation number
+        <replaceable>generation</replaceable> the current generation
+        of the active profile.  That is, if the
+        <filename><replaceable>profile</replaceable></filename> is the
+        path to the active profile, then the symlink
+        <filename><replaceable>profile</replaceable></filename> is
+        made to point to
+        <filename><replaceable>profile</replaceable>-<replaceable>generation</replaceable>-link</filename>,
+        which is in turn a symlink to the actual user environment in
+        the Nix store.
+      </para>
+
+      <para>
+        Switching will fail if the specified generation does not
+        exist.
+      </para>
+
+    </refsection>
+            
+    <refsection>
+      <title>Examples</title>
+
+      <screen>
+$ nix-env -G 42
+switching from generation 50 to 42</screen>
+
+    </refsection>
+    
+  </refsection>
+
+
+  
+  <!--######################################################################-->
+
+  <refsection>
+    <title>Operation <option>--rollback</option></title>
+
+    <refsection>
+      <title>Synopsis</title>
+      <cmdsynopsis>
+        <command>nix-env</command>
+        <arg choice='req'><option>--rollback</option></arg>
+      </cmdsynopsis>
+    </refsection>
+
+    <refsection>
+      <title>Description</title>
+            
+      <para>
+        This operation switches to the <quote>previous</quote>
+        generation of the active profile, that is, the highest
+        numbered generation lower than the current generation, if it
+        exists.  It is just a convenience wrapper around
+        <option>--list-generations</option> and
+        <option>--switch-generation</option>.
+      </para>
+
+    </refsection>
+            
+    <refsection>
+      <title>Examples</title>
+
+      <screen>
+$ nix-env --rollback
+switching from generation 92 to 91
+
+$ nix-env --rolback
+error: no generation older than the current (91) exists</screen>
+
+    </refsection>
+    
+  </refsection>
+
+
+  
+  <!--######################################################################-->
+
+  <refsection>
+    <title>Operation <option>--import</option></title>
+
+    <refsection>
+      <title>Synopsis</title>
+      <cmdsynopsis>
+        <command>nix-env</command>
+        <group choice='req'>
+          <arg choice='plain'><option>--import</option></arg>
+          <arg choice='plain'><option>-I</option></arg>
+        </group>
+        <arg choice='req'><replaceable>path</replaceable></arg>
+      </cmdsynopsis>
+    </refsection>
+
+    <refsection>
+      <title>Description</title>
+            
+      <para>
+        This operation makes <replaceable>path</replaceable> the
+        default active Nix expression for the user.  That is, the
+        symlink <filename>~/.nix-userenv</filename> is made to point
+        to <replaceable>path</replaceable>.
+      </para>
+
+    </refsection>
+            
+    <refsection>
+      <title>Examples</title>
+
+      <screen>
+$ nix-env -I ~/nixpkgs-0.5/</screen>
+
+    </refsection>
+    
+  </refsection>
+
+
+  
 </refentry>