nix/doc/manual/nix-env.xml
Eelco Dolstra 66e94d3275 * Improvements to profiles. Generations are now per-profile, e.g.,
default -> default-94-link
  default-82-link -> /nix/store/cc4480...
  default-83-link -> /nix/store/caeec8...
  ...
  default-94-link -> /nix/store/2896ca...
  experimental -> experimental-2-link
  experimental-1-link -> /nix/store/cc4480...
  experimental-2-link -> /nix/store/a3148f...

* `--profile' / `-p' -> `--switch-profile' / `-S'
* `--link' / `-l' -> `--profile' / `-p'
* The default profile is stored in $prefix/var/nix/profiles.
  $prefix/var/nix/links is gone.  Profiles can be stored anywhere.
* The current profile is now referenced from ~/.nix-profile, not
  ~/.nix-userenv.
* The roots to the garbage collector now have extension `.gcroot', not
  `.id'.
2004-02-06 10:30:20 +00:00

161 lines
4.6 KiB
XML

<refentry>
<refnamediv>
<refname>nix-env</refname>
<refpurpose>manipulate or query Nix user environments</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>nix-env</command>
&opt-common-syn;
<arg>
<group choice='req'>
<arg choice='plain'><option>--file</option></arg>
<arg choice='plain'><option>-f</option></arg>
</group>
<replaceable>path</replaceable>
</arg>
<arg choice='plain'><replaceable>operation</replaceable></arg>
<arg rep='repeat'><replaceable>options</replaceable></arg>
<arg rep='repeat'><replaceable>arguments</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection>
<title>Description</title>
<para>
The command <command>nix-env</command> is used to manipulate Nix
user environments. User environments are sets of software
components available to a user at some point in time. In other
words, they are a synthesised view of the programs available in
the Nix store. There may be many user environments: different
users can have different environments, and individual users can
switch between different environments.
</para>
<!-- <para>
Environments are manipulated by operations such as the
installation and removal of components (hereafter called
<emphasis>derivations</emphasis>). These operations are not
destructive: rather than overwrite the current environment, they
create a new environment to which we can then atomically
<emphasis>switch</emphasis> by flipping a symlink.
</para> -->
<para>
<command>nix-env</command> takes exactly one
<emphasis>operation</emphasis> flag which indicates the
subcommand to be performed. These are documented below.
</para>
</refsection>
<!--######################################################################-->
<refsection>
<title>Common options</title>
<para>
This section lists the options that are common to all
operations. These options are allowed for every subcommand,
though they may not always have an effect.
</para>
<variablelist>
&opt-common;
<varlistentry>
<term><option>--file</option> / <option>-f</option></term>
<listitem>
<para>
Specifies the Nix expression used by the
<option>--install</option>, <option>--upgrade</option>,
and <option>--query --available</option> operations to
obtain derivations. The default is
<filename>~/.nix-defexpr</filename>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<!--######################################################################-->
<refsection>
<title>Files</title>
<variablelist>
<varlistentry>
<term><filename>~/.nix-defexpr</filename></term>
<listitem>
<para>
The default Nix expression used by the
<option>--install</option>, <option>--upgrade</option>,
and <option>--query --available</option> operations to
obtain derivations. It is generally a symbolic link to
some other location set using the
<option>--import</option> operation. The
<option>--file</option> option may be used to override
this default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>~/.nix-profile</filename></term>
<listitem>
<para>
A symbolic link to the user's current profile. The
default profile is
<filename><replaceable>prefix</replaceable>/var/nix/profiles/default</filename>.
The <envar>PATH</envar> environment variable should
include <filename>~/.nix-profile/bin</filename> for the user
environment to be visible to the user.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<!--######################################################################-->
<refsection>
<title>Operation <option>--install</option></title>
<refsection>
<title>Synopsis</title>
<cmdsynopsis>
<command>nix-env</command>
<group choice='req'>
<arg choice='plain'><option>--install</option></arg>
<arg choice='plain'><option>-i</option></arg>
</group>
</cmdsynopsis>
</refsection>
<refsection>
<title>Description</title>
<para>
</para>
</refsection>
</refsection>
</refentry>