forked from lix-project/lix
<envar> -> <literal>
This commit is contained in:
parent
942cd687f9
commit
c20c082383
|
@ -31,13 +31,13 @@ they are, how they interact, and their configuration trade-offs.</para>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
<para>The <xref linkend="conf-cores" /> setting determines the value of
|
<para>The <xref linkend="conf-cores" /> setting determines the value of
|
||||||
<envar>NIX_BUILD_CORES</envar>. <envar>NIX_BUILD_CORES</envar> is equal
|
<literal>NIX_BUILD_CORES</literal>. <literal>NIX_BUILD_CORES</literal> is equal
|
||||||
to <xref linkend="conf-cores" />, unless <xref linkend="conf-cores" />
|
to <xref linkend="conf-cores" />, unless <xref linkend="conf-cores" />
|
||||||
equals <literal>0</literal>, in which case <envar>NIX_BUILD_CORES</envar>
|
equals <literal>0</literal>, in which case <literal>NIX_BUILD_CORES</literal>
|
||||||
will be the total number of cores in the system.</para>
|
will be the total number of cores in the system.</para>
|
||||||
|
|
||||||
<para>The maximum number of consumed cores is a simple multiplication,
|
<para>The maximum number of consumed cores is a simple multiplication,
|
||||||
<xref linkend="conf-max-jobs" /> * <envar>NIX_BUILD_CORES</envar>.</para>
|
<xref linkend="conf-max-jobs" /> * <literal>NIX_BUILD_CORES</literal>.</para>
|
||||||
|
|
||||||
<para>The balance on how to set these two independent variables depends
|
<para>The balance on how to set these two independent variables depends
|
||||||
upon each builder's workload and hardware. Here are a few example
|
upon each builder's workload and hardware. Here are a few example
|
||||||
|
@ -49,7 +49,7 @@ scenarios on a machine with 24 cores:</para>
|
||||||
<tr>
|
<tr>
|
||||||
<th><xref linkend="conf-max-jobs" /></th>
|
<th><xref linkend="conf-max-jobs" /></th>
|
||||||
<th><xref linkend="conf-cores" /></th>
|
<th><xref linkend="conf-cores" /></th>
|
||||||
<th><envar>NIX_BUILD_CORES</envar></th>
|
<th><literal>NIX_BUILD_CORES</literal></th>
|
||||||
<th>Maximum Processes</th>
|
<th>Maximum Processes</th>
|
||||||
<th>Result</th>
|
<th>Result</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -116,6 +116,6 @@ scenarios on a machine with 24 cores:</para>
|
||||||
|
|
||||||
<para>It is up to the derivations' build script to respect
|
<para>It is up to the derivations' build script to respect
|
||||||
host's requested cores-per-build by following the value of the
|
host's requested cores-per-build by following the value of the
|
||||||
<envar>NIX_BUILD_CORES</envar> environment variable.</para>
|
<literal>NIX_BUILD_CORES</literal> environment variable.</para>
|
||||||
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
|
@ -43,7 +43,7 @@ bash: nix-store: command not found
|
||||||
error: cannot connect to 'mac'
|
error: cannot connect to 'mac'
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
then you need to ensure that the <envar>PATH</envar> of
|
then you need to ensure that the <literal>PATH</literal> of
|
||||||
non-interactive login shells contains Nix.</para>
|
non-interactive login shells contains Nix.</para>
|
||||||
|
|
||||||
<warning><para>If you are building via the Nix daemon, it is the Nix
|
<warning><para>If you are building via the Nix daemon, it is the Nix
|
||||||
|
|
|
@ -25,20 +25,20 @@
|
||||||
<filename><replaceable>sysconfdir</replaceable>/nix/nix.conf</filename>
|
<filename><replaceable>sysconfdir</replaceable>/nix/nix.conf</filename>
|
||||||
(i.e. <filename>/etc/nix/nix.conf</filename> on most systems), or
|
(i.e. <filename>/etc/nix/nix.conf</filename> on most systems), or
|
||||||
<filename>$NIX_CONF_DIR/nix.conf</filename> if
|
<filename>$NIX_CONF_DIR/nix.conf</filename> if
|
||||||
<envar>NIX_CONF_DIR</envar> is set. Values loaded in this file are not forwarded to the Nix daemon. The
|
<literal>NIX_CONF_DIR</literal> is set. Values loaded in this file are not forwarded to the Nix daemon. The
|
||||||
client assumes that the daemon has already loaded them.
|
client assumes that the daemon has already loaded them.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>User-specific configuration files:</para>
|
<para>User-specific configuration files:</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
If <envar>NIX_USER_CONF_FILES</envar> is set, then each path separated by
|
If <literal>NIX_USER_CONF_FILES</literal> is set, then each path separated by
|
||||||
<literal>:</literal> will be loaded in reverse order.
|
<literal>:</literal> will be loaded in reverse order.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Otherwise it will look for <filename>nix/nix.conf</filename> files in
|
Otherwise it will look for <filename>nix/nix.conf</filename> files in
|
||||||
<envar>XDG_CONFIG_DIRS</envar> and <envar>XDG_CONFIG_HOME</envar>.
|
<literal>XDG_CONFIG_DIRS</literal> and <literal>XDG_CONFIG_HOME</literal>.
|
||||||
|
|
||||||
The default location is <filename>$HOME/.config/nix.conf</filename> if
|
The default location is <filename>$HOME/.config/nix.conf</filename> if
|
||||||
those environment variables are unset.
|
those environment variables are unset.
|
||||||
|
@ -195,8 +195,8 @@ false</literal>.</para>
|
||||||
|
|
||||||
<para>If the build users group is empty, builds will be performed
|
<para>If the build users group is empty, builds will be performed
|
||||||
under the uid of the Nix process (that is, the uid of the caller
|
under the uid of the Nix process (that is, the uid of the caller
|
||||||
if <envar>NIX_REMOTE</envar> is empty, the uid under which the Nix
|
if <literal>NIX_REMOTE</literal> is empty, the uid under which the Nix
|
||||||
daemon runs if <envar>NIX_REMOTE</envar> is
|
daemon runs if <literal>NIX_REMOTE</literal> is
|
||||||
<literal>daemon</literal>). Obviously, this should not be used in
|
<literal>daemon</literal>). Obviously, this should not be used in
|
||||||
multi-user settings with untrusted users.</para>
|
multi-user settings with untrusted users.</para>
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ false</literal>.</para>
|
||||||
<varlistentry xml:id="conf-cores"><term><literal>cores</literal></term>
|
<varlistentry xml:id="conf-cores"><term><literal>cores</literal></term>
|
||||||
|
|
||||||
<listitem><para>Sets the value of the
|
<listitem><para>Sets the value of the
|
||||||
<envar>NIX_BUILD_CORES</envar> environment variable in the
|
<literal>NIX_BUILD_CORES</literal> environment variable in the
|
||||||
invocation of builders. Builders can use this variable at their
|
invocation of builders. Builders can use this variable at their
|
||||||
discretion to control the maximum amount of parallelism. For
|
discretion to control the maximum amount of parallelism. For
|
||||||
instance, in Nixpkgs, if the derivation attribute
|
instance, in Nixpkgs, if the derivation attribute
|
||||||
|
@ -694,7 +694,7 @@ password <replaceable>my-password</replaceable>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><envar>DRV_PATH</envar></term>
|
<term><literal>DRV_PATH</literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The derivation for the built paths.</para>
|
<para>The derivation for the built paths.</para>
|
||||||
<para>Example:
|
<para>Example:
|
||||||
|
@ -704,7 +704,7 @@ password <replaceable>my-password</replaceable>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><envar>OUT_PATHS</envar></term>
|
<term><literal>OUT_PATHS</literal></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Output paths of the built derivation, separated by a space character.</para>
|
<para>Output paths of the built derivation, separated by a space character.</para>
|
||||||
<para>Example:
|
<para>Example:
|
||||||
|
@ -754,7 +754,7 @@ password <replaceable>my-password</replaceable>
|
||||||
|
|
||||||
<para>If set to <literal>true</literal>, the Nix evaluator will
|
<para>If set to <literal>true</literal>, the Nix evaluator will
|
||||||
not allow access to any files outside of the Nix search path (as
|
not allow access to any files outside of the Nix search path (as
|
||||||
set via the <envar>NIX_PATH</envar> environment variable or the
|
set via the <literal>NIX_PATH</literal> environment variable or the
|
||||||
<option>-I</option> option), or to URIs outside of
|
<option>-I</option> option), or to URIs outside of
|
||||||
<option>allowed-uri</option>. The default is
|
<option>allowed-uri</option>. The default is
|
||||||
<literal>false</literal>.</para>
|
<literal>false</literal>.</para>
|
||||||
|
@ -958,7 +958,7 @@ requiredSystemFeatures = [ "kvm" ];
|
||||||
<para>Nix caches tarballs in
|
<para>Nix caches tarballs in
|
||||||
<filename>$XDG_CACHE_HOME/nix/tarballs</filename>.</para>
|
<filename>$XDG_CACHE_HOME/nix/tarballs</filename>.</para>
|
||||||
|
|
||||||
<para>Files fetched via <envar>NIX_PATH</envar>,
|
<para>Files fetched via <literal>NIX_PATH</literal>,
|
||||||
<function>fetchGit</function>, <function>fetchMercurial</function>,
|
<function>fetchGit</function>, <function>fetchMercurial</function>,
|
||||||
<function>fetchTarball</function>, and <function>fetchurl</function>
|
<function>fetchTarball</function>, and <function>fetchurl</function>
|
||||||
respect this TTL.
|
respect this TTL.
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
<variablelist xml:id="env-common">
|
<variablelist xml:id="env-common">
|
||||||
|
|
||||||
<varlistentry><term><envar>IN_NIX_SHELL</envar></term>
|
<varlistentry><term><literal>IN_NIX_SHELL</literal></term>
|
||||||
|
|
||||||
<listitem><para>Indicator that tells if the current environment was set up by
|
<listitem><para>Indicator that tells if the current environment was set up by
|
||||||
<command>nix-shell</command>. Since Nix 2.0 the values are
|
<command>nix-shell</command>. Since Nix 2.0 the values are
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry xml:id="env-NIX_PATH"><term><envar>NIX_PATH</envar></term>
|
<varlistentry xml:id="env-NIX_PATH"><term><literal>NIX_PATH</literal></term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ nixpkgs=/home/eelco/Dev/nixpkgs-branch:/etc/nixos</screen>
|
||||||
interpreted as the URL of a tarball that will be downloaded and
|
interpreted as the URL of a tarball that will be downloaded and
|
||||||
unpacked to a temporary location. The tarball must consist of a
|
unpacked to a temporary location. The tarball must consist of a
|
||||||
single top-level directory. For example, setting
|
single top-level directory. For example, setting
|
||||||
<envar>NIX_PATH</envar> to
|
<literal>NIX_PATH</literal> to
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-15.09.tar.gz</screen>
|
nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-15.09.tar.gz</screen>
|
||||||
|
@ -65,12 +65,12 @@ nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-15.09.tar.gz</screen>
|
||||||
|
|
||||||
<para>The search path can be extended using the <option
|
<para>The search path can be extended using the <option
|
||||||
linkend="opt-I">-I</option> option, which takes precedence over
|
linkend="opt-I">-I</option> option, which takes precedence over
|
||||||
<envar>NIX_PATH</envar>.</para></listitem>
|
<literal>NIX_PATH</literal>.</para></listitem>
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_IGNORE_SYMLINK_STORE</envar></term>
|
<varlistentry><term><literal>NIX_IGNORE_SYMLINK_STORE</literal></term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-15.09.tar.gz</screen>
|
||||||
except when builds are deployed to machines where
|
except when builds are deployed to machines where
|
||||||
<filename>/nix/store</filename> resolves differently. If you are
|
<filename>/nix/store</filename> resolves differently. If you are
|
||||||
sure that you’re not going to do that, you can set
|
sure that you’re not going to do that, you can set
|
||||||
<envar>NIX_IGNORE_SYMLINK_STORE</envar> to <envar>1</envar>.</para>
|
<literal>NIX_IGNORE_SYMLINK_STORE</literal> to <literal>1</literal>.</para>
|
||||||
|
|
||||||
<para>Note that if you’re symlinking the Nix store so that you can
|
<para>Note that if you’re symlinking the Nix store so that you can
|
||||||
put it on another file system than the root file system, on Linux
|
put it on another file system than the root file system, on Linux
|
||||||
|
@ -102,7 +102,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_STORE_DIR</envar></term>
|
<varlistentry><term><literal>NIX_STORE_DIR</literal></term>
|
||||||
|
|
||||||
<listitem><para>Overrides the location of the Nix store (default
|
<listitem><para>Overrides the location of the Nix store (default
|
||||||
<filename><replaceable>prefix</replaceable>/store</filename>).</para></listitem>
|
<filename><replaceable>prefix</replaceable>/store</filename>).</para></listitem>
|
||||||
|
@ -110,7 +110,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_DATA_DIR</envar></term>
|
<varlistentry><term><literal>NIX_DATA_DIR</literal></term>
|
||||||
|
|
||||||
<listitem><para>Overrides the location of the Nix static data
|
<listitem><para>Overrides the location of the Nix static data
|
||||||
directory (default
|
directory (default
|
||||||
|
@ -119,7 +119,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_LOG_DIR</envar></term>
|
<varlistentry><term><literal>NIX_LOG_DIR</literal></term>
|
||||||
|
|
||||||
<listitem><para>Overrides the location of the Nix log directory
|
<listitem><para>Overrides the location of the Nix log directory
|
||||||
(default <filename><replaceable>prefix</replaceable>/var/log/nix</filename>).</para></listitem>
|
(default <filename><replaceable>prefix</replaceable>/var/log/nix</filename>).</para></listitem>
|
||||||
|
@ -127,7 +127,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_STATE_DIR</envar></term>
|
<varlistentry><term><literal>NIX_STATE_DIR</literal></term>
|
||||||
|
|
||||||
<listitem><para>Overrides the location of the Nix state directory
|
<listitem><para>Overrides the location of the Nix state directory
|
||||||
(default <filename><replaceable>prefix</replaceable>/var/nix</filename>).</para></listitem>
|
(default <filename><replaceable>prefix</replaceable>/var/nix</filename>).</para></listitem>
|
||||||
|
@ -135,7 +135,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_CONF_DIR</envar></term>
|
<varlistentry><term><literal>NIX_CONF_DIR</literal></term>
|
||||||
|
|
||||||
<listitem><para>Overrides the location of the system Nix configuration
|
<listitem><para>Overrides the location of the system Nix configuration
|
||||||
directory (default
|
directory (default
|
||||||
|
@ -143,7 +143,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_USER_CONF_FILES</envar></term>
|
<varlistentry><term><literal>NIX_USER_CONF_FILES</literal></term>
|
||||||
|
|
||||||
<listitem><para>Overrides the location of the user Nix configuration files
|
<listitem><para>Overrides the location of the user Nix configuration files
|
||||||
to load from (defaults to the XDG spec locations). The variable is treated
|
to load from (defaults to the XDG spec locations). The variable is treated
|
||||||
|
@ -151,7 +151,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry><term><envar>TMPDIR</envar></term>
|
<varlistentry><term><literal>TMPDIR</literal></term>
|
||||||
|
|
||||||
<listitem><para>Use the specified directory to store temporary
|
<listitem><para>Use the specified directory to store temporary
|
||||||
files. In particular, this includes temporary build directories;
|
files. In particular, this includes temporary build directories;
|
||||||
|
@ -161,7 +161,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry xml:id="envar-remote"><term><envar>NIX_REMOTE</envar></term>
|
<varlistentry xml:id="envar-remote"><term><literal>NIX_REMOTE</literal></term>
|
||||||
|
|
||||||
<listitem><para>This variable should be set to
|
<listitem><para>This variable should be set to
|
||||||
<literal>daemon</literal> if you want to use the Nix daemon to
|
<literal>daemon</literal> if you want to use the Nix daemon to
|
||||||
|
@ -174,7 +174,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_SHOW_STATS</envar></term>
|
<varlistentry><term><literal>NIX_SHOW_STATS</literal></term>
|
||||||
|
|
||||||
<listitem><para>If set to <literal>1</literal>, Nix will print some
|
<listitem><para>If set to <literal>1</literal>, Nix will print some
|
||||||
evaluation statistics, such as the number of values
|
evaluation statistics, such as the number of values
|
||||||
|
@ -183,7 +183,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_COUNT_CALLS</envar></term>
|
<varlistentry><term><literal>NIX_COUNT_CALLS</literal></term>
|
||||||
|
|
||||||
<listitem><para>If set to <literal>1</literal>, Nix will print how
|
<listitem><para>If set to <literal>1</literal>, Nix will print how
|
||||||
often functions were called during Nix expression evaluation. This
|
often functions were called during Nix expression evaluation. This
|
||||||
|
@ -192,7 +192,7 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
<varlistentry><term><envar>GC_INITIAL_HEAP_SIZE</envar></term>
|
<varlistentry><term><literal>GC_INITIAL_HEAP_SIZE</literal></term>
|
||||||
|
|
||||||
<listitem><para>If Nix has been configured to use the Boehm garbage
|
<listitem><para>If Nix has been configured to use the Boehm garbage
|
||||||
collector, this variable sets the initial size of the heap in bytes.
|
collector, this variable sets the initial size of the heap in bytes.
|
||||||
|
|
|
@ -129,7 +129,7 @@ those paths. If this bothers you, use
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_SSHOPTS</envar></term>
|
<varlistentry><term><literal>NIX_SSHOPTS</literal></term>
|
||||||
|
|
||||||
<listitem><para>Additional options to be passed to
|
<listitem><para>Additional options to be passed to
|
||||||
<command>ssh</command> on the command line.</para></listitem>
|
<command>ssh</command> on the command line.</para></listitem>
|
||||||
|
|
|
@ -277,7 +277,7 @@ also <xref linkend="sec-common-options" />.</phrase></para>
|
||||||
<listitem><para>A symbolic link to the user's current profile. By
|
<listitem><para>A symbolic link to the user's current profile. By
|
||||||
default, this symlink points to
|
default, this symlink points to
|
||||||
<filename><replaceable>prefix</replaceable>/var/nix/profiles/default</filename>.
|
<filename><replaceable>prefix</replaceable>/var/nix/profiles/default</filename>.
|
||||||
The <envar>PATH</envar> environment variable should include
|
The <literal>PATH</literal> environment variable should include
|
||||||
<filename>~/.nix-profile/bin</filename> for the user environment
|
<filename>~/.nix-profile/bin</filename> for the user environment
|
||||||
to be visible to the user.</para></listitem>
|
to be visible to the user.</para></listitem>
|
||||||
|
|
||||||
|
@ -1485,7 +1485,7 @@ error: no generation older than the current (91) exists</screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_PROFILE</envar></term>
|
<varlistentry><term><literal>NIX_PROFILE</literal></term>
|
||||||
|
|
||||||
<listitem><para>Location of the Nix profile. Defaults to the
|
<listitem><para>Location of the Nix profile. Defaults to the
|
||||||
target of the symlink <filename>~/.nix-profile</filename>, if it
|
target of the symlink <filename>~/.nix-profile</filename>, if it
|
||||||
|
|
|
@ -106,10 +106,10 @@ input.</para>
|
||||||
<varlistentry><term><option>--find-file</option></term>
|
<varlistentry><term><option>--find-file</option></term>
|
||||||
|
|
||||||
<listitem><para>Look up the given files in Nix’s search path (as
|
<listitem><para>Look up the given files in Nix’s search path (as
|
||||||
specified by the <envar linkend="env-NIX_PATH">NIX_PATH</envar>
|
specified by the <envar linkend="env-NIX_PATH">NIX_PATH</literal>
|
||||||
environment variable). If found, print the corresponding absolute
|
environment variable). If found, print the corresponding absolute
|
||||||
paths on standard output. For instance, if
|
paths on standard output. For instance, if
|
||||||
<envar>NIX_PATH</envar> is
|
<literal>NIX_PATH</literal> is
|
||||||
<literal>nixpkgs=/home/alice/nixpkgs</literal>, then
|
<literal>nixpkgs=/home/alice/nixpkgs</literal>, then
|
||||||
<literal>nix-instantiate --find-file nixpkgs/default.nix</literal>
|
<literal>nix-instantiate --find-file nixpkgs/default.nix</literal>
|
||||||
will print
|
will print
|
||||||
|
|
|
@ -141,8 +141,8 @@ also <xref linkend="sec-common-options" />.</phrase></para>
|
||||||
almost entirely cleared before the interactive shell is started,
|
almost entirely cleared before the interactive shell is started,
|
||||||
so you get an environment that more closely corresponds to the
|
so you get an environment that more closely corresponds to the
|
||||||
“real” Nix build. A few variables, in particular
|
“real” Nix build. A few variables, in particular
|
||||||
<envar>HOME</envar>, <envar>USER</envar> and
|
<literal>HOME</literal>, <literal>USER</literal> and
|
||||||
<envar>DISPLAY</envar>, are retained. Note that
|
<literal>DISPLAY</literal>, are retained. Note that
|
||||||
<filename>~/.bashrc</filename> and (depending on your Bash
|
<filename>~/.bashrc</filename> and (depending on your Bash
|
||||||
installation) <filename>/etc/bashrc</filename> are still sourced,
|
installation) <filename>/etc/bashrc</filename> are still sourced,
|
||||||
so any variables set there will affect the interactive
|
so any variables set there will affect the interactive
|
||||||
|
@ -193,10 +193,10 @@ also <xref linkend="sec-common-options" />.</phrase></para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry><term><envar>NIX_BUILD_SHELL</envar></term>
|
<varlistentry><term><literal>NIX_BUILD_SHELL</literal></term>
|
||||||
|
|
||||||
<listitem><para>Shell used to start the interactive environment.
|
<listitem><para>Shell used to start the interactive environment.
|
||||||
Defaults to the <command>bash</command> found in <envar>PATH</envar>.</para></listitem>
|
Defaults to the <command>bash</command> found in <literal>PATH</literal>.</para></listitem>
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ $ nix-shell -p sqlite 'git.override { withManual = false; }'
|
||||||
|
|
||||||
The <command>-p</command> flag looks up Nixpkgs in the Nix search
|
The <command>-p</command> flag looks up Nixpkgs in the Nix search
|
||||||
path. You can override it by passing <option>-I</option> or setting
|
path. You can override it by passing <option>-I</option> or setting
|
||||||
<envar>NIX_PATH</envar>. For example, the following gives you a shell
|
<literal>NIX_PATH</literal>. For example, the following gives you a shell
|
||||||
containing the Pan package from a specific revision of Nixpkgs:
|
containing the Pan package from a specific revision of Nixpkgs:
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
|
|
|
@ -1433,7 +1433,7 @@ loads it into the Nix database.</para>
|
||||||
<para>The operation <option>--print-env</option> prints out the
|
<para>The operation <option>--print-env</option> prints out the
|
||||||
environment of a derivation in a format that can be evaluated by a
|
environment of a derivation in a format that can be evaluated by a
|
||||||
shell. The command line arguments of the builder are placed in the
|
shell. The command line arguments of the builder are placed in the
|
||||||
variable <envar>_args</envar>.</para>
|
variable <literal>_args</literal>.</para>
|
||||||
|
|
||||||
</refsection>
|
</refsection>
|
||||||
|
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
|
|
||||||
<varlistentry xml:id="opt-cores"><term><option>--cores</option></term>
|
<varlistentry xml:id="opt-cores"><term><option>--cores</option></term>
|
||||||
|
|
||||||
<listitem><para>Sets the value of the <envar>NIX_BUILD_CORES</envar>
|
<listitem><para>Sets the value of the <literal>NIX_BUILD_CORES</literal>
|
||||||
environment variable in the invocation of builders. Builders can
|
environment variable in the invocation of builders. Builders can
|
||||||
use this variable at their discretion to control the maximum amount
|
use this variable at their discretion to control the maximum amount
|
||||||
of parallelism. For instance, in Nixpkgs, if the derivation
|
of parallelism. For instance, in Nixpkgs, if the derivation
|
||||||
|
@ -370,10 +370,10 @@
|
||||||
|
|
||||||
<listitem><para>Add a path to the Nix expression search path. This
|
<listitem><para>Add a path to the Nix expression search path. This
|
||||||
option may be given multiple times. See the <envar
|
option may be given multiple times. See the <envar
|
||||||
linkend="env-NIX_PATH">NIX_PATH</envar> environment variable for
|
linkend="env-NIX_PATH">NIX_PATH</literal> environment variable for
|
||||||
information on the semantics of the Nix search path. Paths added
|
information on the semantics of the Nix search path. Paths added
|
||||||
through <option>-I</option> take precedence over
|
through <option>-I</option> take precedence over
|
||||||
<envar>NIX_PATH</envar>.</para></listitem>
|
<literal>NIX_PATH</literal>.</para></listitem>
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
|
@ -139,7 +139,7 @@ impureEnvVars = [ "http_proxy" "https_proxy" <replaceable>...</replaceable> ];
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
to make it use the proxy server configuration specified by the
|
to make it use the proxy server configuration specified by the
|
||||||
user in the environment variables <envar>http_proxy</envar> and
|
user in the environment variables <literal>http_proxy</literal> and
|
||||||
friends.</para>
|
friends.</para>
|
||||||
|
|
||||||
<para>This attribute is only allowed in <link
|
<para>This attribute is only allowed in <link
|
||||||
|
@ -294,12 +294,12 @@ big = "a very long string";
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
then when the builder runs, the environment variable
|
then when the builder runs, the environment variable
|
||||||
<envar>bigPath</envar> will contain the absolute path to a
|
<literal>bigPath</literal> will contain the absolute path to a
|
||||||
temporary file containing <literal>a very long
|
temporary file containing <literal>a very long
|
||||||
string</literal>. That is, for any attribute
|
string</literal>. That is, for any attribute
|
||||||
<replaceable>x</replaceable> listed in
|
<replaceable>x</replaceable> listed in
|
||||||
<varname>passAsFile</varname>, Nix will pass an environment
|
<varname>passAsFile</varname>, Nix will pass an environment
|
||||||
variable <envar><replaceable>x</replaceable>Path</envar> holding
|
variable <literal><replaceable>x</replaceable>Path</literal> holding
|
||||||
the path of the file containing the value of attribute
|
the path of the file containing the value of attribute
|
||||||
<replaceable>x</replaceable>. This is useful when you need to pass
|
<replaceable>x</replaceable>. This is useful when you need to pass
|
||||||
large strings to a builder, since most operating systems impose a
|
large strings to a builder, since most operating systems impose a
|
||||||
|
|
|
@ -35,19 +35,19 @@ steps:</para>
|
||||||
|
|
||||||
<para>When Nix runs a builder, it initially completely clears the
|
<para>When Nix runs a builder, it initially completely clears the
|
||||||
environment (except for the attributes declared in the
|
environment (except for the attributes declared in the
|
||||||
derivation). For instance, the <envar>PATH</envar> variable is
|
derivation). For instance, the <literal>PATH</literal> variable is
|
||||||
empty<footnote><para>Actually, it's initialised to
|
empty<footnote><para>Actually, it's initialised to
|
||||||
<filename>/path-not-set</filename> to prevent Bash from setting it
|
<filename>/path-not-set</filename> to prevent Bash from setting it
|
||||||
to a default value.</para></footnote>. This is done to prevent
|
to a default value.</para></footnote>. This is done to prevent
|
||||||
undeclared inputs from being used in the build process. If for
|
undeclared inputs from being used in the build process. If for
|
||||||
example the <envar>PATH</envar> contained
|
example the <literal>PATH</literal> contained
|
||||||
<filename>/usr/bin</filename>, then you might accidentally use
|
<filename>/usr/bin</filename>, then you might accidentally use
|
||||||
<filename>/usr/bin/gcc</filename>.</para>
|
<filename>/usr/bin/gcc</filename>.</para>
|
||||||
|
|
||||||
<para>So the first step is to set up the environment. This is
|
<para>So the first step is to set up the environment. This is
|
||||||
done by calling the <filename>setup</filename> script of the
|
done by calling the <filename>setup</filename> script of the
|
||||||
standard environment. The environment variable
|
standard environment. The environment variable
|
||||||
<envar>stdenv</envar> points to the location of the standard
|
<literal>stdenv</literal> points to the location of the standard
|
||||||
environment being used. (It wasn't specified explicitly as an
|
environment being used. (It wasn't specified explicitly as an
|
||||||
attribute in <xref linkend='ex-hello-nix' />, but
|
attribute in <xref linkend='ex-hello-nix' />, but
|
||||||
<varname>mkDerivation</varname> adds it automatically.)</para>
|
<varname>mkDerivation</varname> adds it automatically.)</para>
|
||||||
|
@ -57,7 +57,7 @@ steps:</para>
|
||||||
<callout arearefs='ex-hello-builder-co-2'>
|
<callout arearefs='ex-hello-builder-co-2'>
|
||||||
|
|
||||||
<para>Since Hello needs Perl, we have to make sure that Perl is in
|
<para>Since Hello needs Perl, we have to make sure that Perl is in
|
||||||
the <envar>PATH</envar>. The <envar>perl</envar> environment
|
the <literal>PATH</literal>. The <literal>perl</literal> environment
|
||||||
variable points to the location of the Perl package (since it
|
variable points to the location of the Perl package (since it
|
||||||
was passed in as an attribute to the derivation), so
|
was passed in as an attribute to the derivation), so
|
||||||
<filename><replaceable>$perl</replaceable>/bin</filename> is the
|
<filename><replaceable>$perl</replaceable>/bin</filename> is the
|
||||||
|
@ -70,7 +70,7 @@ steps:</para>
|
||||||
<para>Now we have to unpack the sources. The
|
<para>Now we have to unpack the sources. The
|
||||||
<varname>src</varname> attribute was bound to the result of
|
<varname>src</varname> attribute was bound to the result of
|
||||||
fetching the Hello source tarball from the network, so the
|
fetching the Hello source tarball from the network, so the
|
||||||
<envar>src</envar> environment variable points to the location in
|
<literal>src</literal> environment variable points to the location in
|
||||||
the Nix store to which the tarball was downloaded. After
|
the Nix store to which the tarball was downloaded. After
|
||||||
unpacking, we <command>cd</command> to the resulting source
|
unpacking, we <command>cd</command> to the resulting source
|
||||||
directory.</para>
|
directory.</para>
|
||||||
|
@ -93,7 +93,7 @@ steps:</para>
|
||||||
<filename>/nix/store/9a54ba97fb71b65fda531012d0443ce2-hello-2.1.1</filename>.
|
<filename>/nix/store/9a54ba97fb71b65fda531012d0443ce2-hello-2.1.1</filename>.
|
||||||
Nix computes this path by cryptographically hashing all attributes
|
Nix computes this path by cryptographically hashing all attributes
|
||||||
of the derivation. The path is passed to the builder through the
|
of the derivation. The path is passed to the builder through the
|
||||||
<envar>out</envar> environment variable. So here we give
|
<literal>out</literal> environment variable. So here we give
|
||||||
<filename>configure</filename> the parameter
|
<filename>configure</filename> the parameter
|
||||||
<literal>--prefix=$out</literal> to cause Hello to be installed in
|
<literal>--prefix=$out</literal> to cause Hello to be installed in
|
||||||
the expected location.</para>
|
the expected location.</para>
|
||||||
|
@ -103,7 +103,7 @@ steps:</para>
|
||||||
<callout arearefs='ex-hello-builder-co-5'>
|
<callout arearefs='ex-hello-builder-co-5'>
|
||||||
|
|
||||||
<para>Finally we build Hello (<literal>make</literal>) and install
|
<para>Finally we build Hello (<literal>make</literal>) and install
|
||||||
it into the location specified by <envar>out</envar>
|
it into the location specified by <literal>out</literal>
|
||||||
(<literal>make install</literal>).</para>
|
(<literal>make install</literal>).</para>
|
||||||
|
|
||||||
</callout>
|
</callout>
|
||||||
|
|
|
@ -122,7 +122,7 @@ the Nixpkgs manual for details.</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem><para>A temporary directory is created under the directory
|
<listitem><para>A temporary directory is created under the directory
|
||||||
specified by <envar>TMPDIR</envar> (default
|
specified by <literal>TMPDIR</literal> (default
|
||||||
<filename>/tmp</filename>) where the build will take place. The
|
<filename>/tmp</filename>) where the build will take place. The
|
||||||
current directory is changed to this directory.</para></listitem>
|
current directory is changed to this directory.</para></listitem>
|
||||||
|
|
||||||
|
@ -133,29 +133,29 @@ the Nixpkgs manual for details.</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem><para><envar>NIX_BUILD_TOP</envar> contains the path of
|
<listitem><para><literal>NIX_BUILD_TOP</literal> contains the path of
|
||||||
the temporary directory for this build.</para></listitem>
|
the temporary directory for this build.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>Also, <envar>TMPDIR</envar>,
|
<listitem><para>Also, <literal>TMPDIR</literal>,
|
||||||
<envar>TEMPDIR</envar>, <envar>TMP</envar>, <envar>TEMP</envar>
|
<literal>TEMPDIR</literal>, <literal>TMP</literal>, <literal>TEMP</literal>
|
||||||
are set to point to the temporary directory. This is to prevent
|
are set to point to the temporary directory. This is to prevent
|
||||||
the builder from accidentally writing temporary files anywhere
|
the builder from accidentally writing temporary files anywhere
|
||||||
else. Doing so might cause interference by other
|
else. Doing so might cause interference by other
|
||||||
processes.</para></listitem>
|
processes.</para></listitem>
|
||||||
|
|
||||||
<listitem><para><envar>PATH</envar> is set to
|
<listitem><para><literal>PATH</literal> is set to
|
||||||
<filename>/path-not-set</filename> to prevent shells from
|
<filename>/path-not-set</filename> to prevent shells from
|
||||||
initialising it to their built-in default value.</para></listitem>
|
initialising it to their built-in default value.</para></listitem>
|
||||||
|
|
||||||
<listitem><para><envar>HOME</envar> is set to
|
<listitem><para><literal>HOME</literal> is set to
|
||||||
<filename>/homeless-shelter</filename> to prevent programs from
|
<filename>/homeless-shelter</filename> to prevent programs from
|
||||||
using <filename>/etc/passwd</filename> or the like to find the
|
using <filename>/etc/passwd</filename> or the like to find the
|
||||||
user's home directory, which could cause impurity. Usually, when
|
user's home directory, which could cause impurity. Usually, when
|
||||||
<envar>HOME</envar> is set, it is used as the location of the home
|
<literal>HOME</literal> is set, it is used as the location of the home
|
||||||
directory, even if it points to a non-existent
|
directory, even if it points to a non-existent
|
||||||
path.</para></listitem>
|
path.</para></listitem>
|
||||||
|
|
||||||
<listitem><para><envar>NIX_STORE</envar> is set to the path of the
|
<listitem><para><literal>NIX_STORE</literal> is set to the path of the
|
||||||
top-level Nix store directory (typically,
|
top-level Nix store directory (typically,
|
||||||
<filename>/nix/store</filename>).</para></listitem>
|
<filename>/nix/store</filename>).</para></listitem>
|
||||||
|
|
||||||
|
|
|
@ -38,18 +38,18 @@ genericBuild <co xml:id='ex-hello-builder2-co-3' /></programlisting>
|
||||||
|
|
||||||
<callout arearefs='ex-hello-builder2-co-1'>
|
<callout arearefs='ex-hello-builder2-co-1'>
|
||||||
|
|
||||||
<para>The <envar>buildInputs</envar> variable tells
|
<para>The <literal>buildInputs</literal> variable tells
|
||||||
<filename>setup</filename> to use the indicated packages as
|
<filename>setup</filename> to use the indicated packages as
|
||||||
<quote>inputs</quote>. This means that if a package provides a
|
<quote>inputs</quote>. This means that if a package provides a
|
||||||
<filename>bin</filename> subdirectory, it's added to
|
<filename>bin</filename> subdirectory, it's added to
|
||||||
<envar>PATH</envar>; if it has a <filename>include</filename>
|
<literal>PATH</literal>; if it has a <filename>include</filename>
|
||||||
subdirectory, it's added to GCC's header search path; and so
|
subdirectory, it's added to GCC's header search path; and so
|
||||||
on.<footnote><para>How does it work? <filename>setup</filename>
|
on.<footnote><para>How does it work? <filename>setup</filename>
|
||||||
tries to source the file
|
tries to source the file
|
||||||
<filename><replaceable>pkg</replaceable>/nix-support/setup-hook</filename>
|
<filename><replaceable>pkg</replaceable>/nix-support/setup-hook</filename>
|
||||||
of all dependencies. These “setup hooks” can then set up whatever
|
of all dependencies. These “setup hooks” can then set up whatever
|
||||||
environment variables they want; for instance, the setup hook for
|
environment variables they want; for instance, the setup hook for
|
||||||
Perl sets the <envar>PERL5LIB</envar> environment variable to
|
Perl sets the <literal>PERL5LIB</literal> environment variable to
|
||||||
contain the <filename>lib/site_perl</filename> directories of all
|
contain the <filename>lib/site_perl</filename> directories of all
|
||||||
inputs.</para></footnote>
|
inputs.</para></footnote>
|
||||||
</para>
|
</para>
|
||||||
|
@ -78,7 +78,7 @@ genericBuild <co xml:id='ex-hello-builder2-co-3' /></programlisting>
|
||||||
</calloutlist>
|
</calloutlist>
|
||||||
|
|
||||||
<para>Discerning readers will note that the
|
<para>Discerning readers will note that the
|
||||||
<envar>buildInputs</envar> could just as well have been set in the Nix
|
<literal>buildInputs</literal> could just as well have been set in the Nix
|
||||||
expression, like this:
|
expression, like this:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
|
|
|
@ -176,7 +176,7 @@ stdenv.mkDerivation {
|
||||||
<para>Paths can also be specified between angle brackets, e.g.
|
<para>Paths can also be specified between angle brackets, e.g.
|
||||||
<literal><nixpkgs></literal>. This means that the directories
|
<literal><nixpkgs></literal>. This means that the directories
|
||||||
listed in the environment variable
|
listed in the environment variable
|
||||||
<envar linkend="env-NIX_PATH">NIX_PATH</envar> will be searched
|
<envar linkend="env-NIX_PATH">NIX_PATH</literal> will be searched
|
||||||
for the given file or directory name.
|
for the given file or directory name.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ name.</para>
|
||||||
|
|
||||||
<para>Nix has transactional semantics. Once a build finishes
|
<para>Nix has transactional semantics. Once a build finishes
|
||||||
successfully, Nix makes a note of this in its database: it registers
|
successfully, Nix makes a note of this in its database: it registers
|
||||||
that the path denoted by <envar>out</envar> is now
|
that the path denoted by <literal>out</literal> is now
|
||||||
<quote>valid</quote>. If you try to build the derivation again, Nix
|
<quote>valid</quote>. If you try to build the derivation again, Nix
|
||||||
will see that the path is already valid and finish immediately. If a
|
will see that the path is already valid and finish immediately. If a
|
||||||
build fails, either because it returns a non-zero exit code, because
|
build fails, either because it returns a non-zero exit code, because
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<title>Environment Variables</title>
|
<title>Environment Variables</title>
|
||||||
|
|
||||||
<para>To use Nix, some environment variables should be set. In
|
<para>To use Nix, some environment variables should be set. In
|
||||||
particular, <envar>PATH</envar> should contain the directories
|
particular, <literal>PATH</literal> should contain the directories
|
||||||
<filename><replaceable>prefix</replaceable>/bin</filename> and
|
<filename><replaceable>prefix</replaceable>/bin</filename> and
|
||||||
<filename>~/.nix-profile/bin</filename>. The first directory contains
|
<filename>~/.nix-profile/bin</filename>. The first directory contains
|
||||||
the Nix tools themselves, while <filename>~/.nix-profile</filename> is
|
the Nix tools themselves, while <filename>~/.nix-profile</filename> is
|
||||||
|
@ -23,15 +23,15 @@ source <replaceable>prefix</replaceable>/etc/profile.d/nix.sh</screen>
|
||||||
|
|
||||||
<section xml:id="sec-nix-ssl-cert-file">
|
<section xml:id="sec-nix-ssl-cert-file">
|
||||||
|
|
||||||
<title><envar>NIX_SSL_CERT_FILE</envar></title>
|
<title><literal>NIX_SSL_CERT_FILE</literal></title>
|
||||||
|
|
||||||
<para>If you need to specify a custom certificate bundle to account
|
<para>If you need to specify a custom certificate bundle to account
|
||||||
for an HTTPS-intercepting man in the middle proxy, you must specify
|
for an HTTPS-intercepting man in the middle proxy, you must specify
|
||||||
the path to the certificate bundle in the environment variable
|
the path to the certificate bundle in the environment variable
|
||||||
<envar>NIX_SSL_CERT_FILE</envar>.</para>
|
<literal>NIX_SSL_CERT_FILE</literal>.</para>
|
||||||
|
|
||||||
|
|
||||||
<para>If you don't specify a <envar>NIX_SSL_CERT_FILE</envar>
|
<para>If you don't specify a <literal>NIX_SSL_CERT_FILE</literal>
|
||||||
manually, Nix will install and use its own certificate
|
manually, Nix will install and use its own certificate
|
||||||
bundle.</para>
|
bundle.</para>
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ the Nix installer will detect the presense of Nix configuration, and
|
||||||
abort.</para></note>
|
abort.</para></note>
|
||||||
|
|
||||||
<section xml:id="sec-nix-ssl-cert-file-with-nix-daemon-and-macos">
|
<section xml:id="sec-nix-ssl-cert-file-with-nix-daemon-and-macos">
|
||||||
<title><envar>NIX_SSL_CERT_FILE</envar> with macOS and the Nix daemon</title>
|
<title><literal>NIX_SSL_CERT_FILE</literal> with macOS and the Nix daemon</title>
|
||||||
|
|
||||||
<para>On macOS you must specify the environment variable for the Nix
|
<para>On macOS you must specify the environment variable for the Nix
|
||||||
daemon service, then restart it:</para>
|
daemon service, then restart it:</para>
|
||||||
|
|
|
@ -61,7 +61,7 @@ The install script will modify the first writable file from amongst
|
||||||
<filename>.bash_profile</filename>, <filename>.bash_login</filename>
|
<filename>.bash_profile</filename>, <filename>.bash_login</filename>
|
||||||
and <filename>.profile</filename> to source
|
and <filename>.profile</filename> to source
|
||||||
<filename>~/.nix-profile/etc/profile.d/nix.sh</filename>. You can set
|
<filename>~/.nix-profile/etc/profile.d/nix.sh</filename>. You can set
|
||||||
the <envar>NIX_INSTALLER_NO_MODIFY_PROFILE</envar> environment
|
the <literal>NIX_INSTALLER_NO_MODIFY_PROFILE</literal> environment
|
||||||
variable before executing the install script to disable this
|
variable before executing the install script to disable this
|
||||||
behaviour.
|
behaviour.
|
||||||
</para>
|
</para>
|
||||||
|
|
|
@ -69,7 +69,7 @@ You’ll want to put that line somewhere in your system’s boot
|
||||||
scripts.</para>
|
scripts.</para>
|
||||||
|
|
||||||
<para>To let unprivileged users use the daemon, they should set the
|
<para>To let unprivileged users use the daemon, they should set the
|
||||||
<link linkend="envar-remote"><envar>NIX_REMOTE</envar> environment
|
<link linkend="envar-remote"><literal>NIX_REMOTE</literal> environment
|
||||||
variable</link> to <literal>daemon</literal>. So you should put a
|
variable</link> to <literal>daemon</literal>. So you should put a
|
||||||
line like
|
line like
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ extremely well.</para>
|
||||||
<para>Nix has multi-user support. This means that non-privileged
|
<para>Nix has multi-user support. This means that non-privileged
|
||||||
users can securely install software. Each user can have a different
|
users can securely install software. Each user can have a different
|
||||||
<emphasis>profile</emphasis>, a set of packages in the Nix store that
|
<emphasis>profile</emphasis>, a set of packages in the Nix store that
|
||||||
appear in the user’s <envar>PATH</envar>. If a user installs a
|
appear in the user’s <literal>PATH</literal>. If a user installs a
|
||||||
package that another user has already installed previously, the
|
package that another user has already installed previously, the
|
||||||
package won’t be built or downloaded a second time. At the same time,
|
package won’t be built or downloaded a second time. At the same time,
|
||||||
it is not possible for one user to inject a Trojan horse into a
|
it is not possible for one user to inject a Trojan horse into a
|
||||||
|
|
|
@ -16,7 +16,7 @@ on the set of installed applications. That is, there might be lots of
|
||||||
applications present on the system (possibly in many different
|
applications present on the system (possibly in many different
|
||||||
versions), but users can have a specific selection of those active —
|
versions), but users can have a specific selection of those active —
|
||||||
where “active” just means that it appears in a directory
|
where “active” just means that it appears in a directory
|
||||||
in the user’s <envar>PATH</envar>. Such a view on the set of
|
in the user’s <literal>PATH</literal>. Such a view on the set of
|
||||||
installed applications is called a <emphasis>user
|
installed applications is called a <emphasis>user
|
||||||
environment</emphasis>, which is just a directory tree consisting of
|
environment</emphasis>, which is just a directory tree consisting of
|
||||||
symlinks to the files of the active applications. </para>
|
symlinks to the files of the active applications. </para>
|
||||||
|
|
|
@ -41,9 +41,9 @@ store.</para>
|
||||||
$ /nix/store/dpmvp969yhdq...-subversion-1.1.3/bin/svn</screen>
|
$ /nix/store/dpmvp969yhdq...-subversion-1.1.3/bin/svn</screen>
|
||||||
|
|
||||||
every time you want to run Subversion. Of course we could set up the
|
every time you want to run Subversion. Of course we could set up the
|
||||||
<envar>PATH</envar> environment variable to include the
|
<literal>PATH</literal> environment variable to include the
|
||||||
<filename>bin</filename> directory of every package we want to use,
|
<filename>bin</filename> directory of every package we want to use,
|
||||||
but this is not very convenient since changing <envar>PATH</envar>
|
but this is not very convenient since changing <literal>PATH</literal>
|
||||||
doesn’t take effect for already existing processes. The solution Nix
|
doesn’t take effect for already existing processes. The solution Nix
|
||||||
uses is to create directory trees of symlinks to
|
uses is to create directory trees of symlinks to
|
||||||
<emphasis>activated</emphasis> packages. These are called
|
<emphasis>activated</emphasis> packages. These are called
|
||||||
|
@ -122,10 +122,10 @@ $ nix-env --list-generations</screen></para>
|
||||||
|
|
||||||
<para>You generally wouldn’t have
|
<para>You generally wouldn’t have
|
||||||
<filename>/nix/var/nix/profiles/<replaceable>some-profile</replaceable>/bin</filename>
|
<filename>/nix/var/nix/profiles/<replaceable>some-profile</replaceable>/bin</filename>
|
||||||
in your <envar>PATH</envar>. Rather, there is a symlink
|
in your <literal>PATH</literal>. Rather, there is a symlink
|
||||||
<filename>~/.nix-profile</filename> that points to your current
|
<filename>~/.nix-profile</filename> that points to your current
|
||||||
profile. This means that you should put
|
profile. This means that you should put
|
||||||
<filename>~/.nix-profile/bin</filename> in your <envar>PATH</envar>
|
<filename>~/.nix-profile/bin</filename> in your <literal>PATH</literal>
|
||||||
(and indeed, that’s what the initialisation script
|
(and indeed, that’s what the initialisation script
|
||||||
<filename>/nix/etc/profile.d/nix.sh</filename> does). This makes it
|
<filename>/nix/etc/profile.d/nix.sh</filename> does). This makes it
|
||||||
easier to switch to a different profile. You can do that using the
|
easier to switch to a different profile. You can do that using the
|
||||||
|
|
|
@ -184,9 +184,9 @@ irreversible.</para></warning>
|
||||||
|
|
||||||
|
|
||||||
<listitem><para>Nix now works behind an HTTP proxy server; just set
|
<listitem><para>Nix now works behind an HTTP proxy server; just set
|
||||||
the standard environment variables <envar>http_proxy</envar>,
|
the standard environment variables <literal>http_proxy</literal>,
|
||||||
<envar>https_proxy</envar>, <envar>ftp_proxy</envar> or
|
<literal>https_proxy</literal>, <literal>ftp_proxy</literal> or
|
||||||
<envar>all_proxy</envar> appropriately. Functions such as
|
<literal>all_proxy</literal> appropriately. Functions such as
|
||||||
<function>fetchurl</function> in Nixpkgs also respect these
|
<function>fetchurl</function> in Nixpkgs also respect these
|
||||||
variables.</para></listitem>
|
variables.</para></listitem>
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ $ rm __db* log.* derivers references referrers reserved validpaths DB_CONFIG</sc
|
||||||
filesystem. For instance, you can speed up an installation by
|
filesystem. For instance, you can speed up an installation by
|
||||||
mounting some remote Nix store that already has the packages in
|
mounting some remote Nix store that already has the packages in
|
||||||
question via NFS or <literal>sshfs</literal>. The environment
|
question via NFS or <literal>sshfs</literal>. The environment
|
||||||
variable <envar>NIX_OTHER_STORES</envar> specifies the locations of
|
variable <literal>NIX_OTHER_STORES</literal> specifies the locations of
|
||||||
the remote Nix directories,
|
the remote Nix directories,
|
||||||
e.g. <literal>/mnt/remote-fs/nix</literal>.</para></listitem>
|
e.g. <literal>/mnt/remote-fs/nix</literal>.</para></listitem>
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ the following paths will be downloaded/copied (30.02 MiB):
|
||||||
|
|
||||||
<listitem><para><command>nix-prefetch-url</command> now supports
|
<listitem><para><command>nix-prefetch-url</command> now supports
|
||||||
<literal>mirror://</literal> URLs, provided that the environment
|
<literal>mirror://</literal> URLs, provided that the environment
|
||||||
variable <envar>NIXPKGS_ALL</envar> points at a Nixpkgs
|
variable <literal>NIXPKGS_ALL</literal> points at a Nixpkgs
|
||||||
tree.</para></listitem>
|
tree.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>Removed the commands
|
<listitem><para>Removed the commands
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<replaceable>N</replaceable></option> as well as a configuration
|
<replaceable>N</replaceable></option> as well as a configuration
|
||||||
setting <varname>build-cores =
|
setting <varname>build-cores =
|
||||||
<replaceable>N</replaceable></varname> that causes the
|
<replaceable>N</replaceable></varname> that causes the
|
||||||
environment variable <envar>NIX_BUILD_CORES</envar> to be set to
|
environment variable <literal>NIX_BUILD_CORES</literal> to be set to
|
||||||
<replaceable>N</replaceable> when the builder is invoked. The
|
<replaceable>N</replaceable> when the builder is invoked. The
|
||||||
builder can use this at its discretion to perform a parallel
|
builder can use this at its discretion to perform a parallel
|
||||||
build, e.g., by calling <command>make -j
|
build, e.g., by calling <command>make -j
|
||||||
|
|
|
@ -29,7 +29,7 @@ previous release. Here are the most significant:</para>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Nix now has an search path for expressions. The search path
|
<para>Nix now has an search path for expressions. The search path
|
||||||
is set using the environment variable <envar>NIX_PATH</envar> and
|
is set using the environment variable <literal>NIX_PATH</literal> and
|
||||||
the <option>-I</option> command line option. In Nix expressions,
|
the <option>-I</option> command line option. In Nix expressions,
|
||||||
paths between angle brackets are used to specify files that must
|
paths between angle brackets are used to specify files that must
|
||||||
be looked up in the search path. For instance, the expression
|
be looked up in the search path. For instance, the expression
|
||||||
|
|
|
@ -116,7 +116,7 @@ $ mount -o remount,ro,bind /nix/store
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Basic Nix expression evaluation profiling: setting the
|
<para>Basic Nix expression evaluation profiling: setting the
|
||||||
environment variable <envar>NIX_COUNT_CALLS</envar> to
|
environment variable <literal>NIX_COUNT_CALLS</literal> to
|
||||||
<literal>1</literal> will cause Nix to print how many times each
|
<literal>1</literal> will cause Nix to print how many times each
|
||||||
primop or function was executed.</para>
|
primop or function was executed.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
|
@ -33,7 +33,7 @@ features:</para>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><command>nix-shell</command> now sets the shell prompt
|
<para><command>nix-shell</command> now sets the shell prompt
|
||||||
(<envar>PS1</envar>) to ensure that Nix shells are distinguishable
|
(<literal>PS1</literal>) to ensure that Nix shells are distinguishable
|
||||||
from your regular shells.</para>
|
from your regular shells.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
|
|
@ -105,7 +105,7 @@ $ nix-store -l $(which xterm)
|
||||||
some terminals show them anyway.</para></listitem>
|
some terminals show them anyway.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>Various commands now automatically pipe their output
|
<listitem><para>Various commands now automatically pipe their output
|
||||||
into the pager as specified by the <envar>PAGER</envar> environment
|
into the pager as specified by the <literal>PAGER</literal> environment
|
||||||
variable.</para></listitem>
|
variable.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>Several improvements to reduce memory consumption in
|
<listitem><para>Several improvements to reduce memory consumption in
|
||||||
|
|
|
@ -62,7 +62,7 @@ $ nix-build https://github.com/NixOS/nixpkgs/archive/master.tar.gz -A hello
|
||||||
master branch.</para></listitem>
|
master branch.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>In the Nix search path (as specified via
|
<listitem><para>In the Nix search path (as specified via
|
||||||
<envar>NIX_PATH</envar> or <option>-I</option>). For example, to
|
<literal>NIX_PATH</literal> or <option>-I</option>). For example, to
|
||||||
start a shell containing the Pan package from a specific version
|
start a shell containing the Pan package from a specific version
|
||||||
of Nixpkgs:
|
of Nixpkgs:
|
||||||
|
|
||||||
|
@ -190,8 +190,8 @@ main = do
|
||||||
“generation” symlink in <filename>/nix/var/nix/profiles</filename>
|
“generation” symlink in <filename>/nix/var/nix/profiles</filename>
|
||||||
if something actually changed.</para></listitem>
|
if something actually changed.</para></listitem>
|
||||||
|
|
||||||
<listitem><para>The environment variable <envar>NIX_PAGER</envar>
|
<listitem><para>The environment variable <literal>NIX_PAGER</literal>
|
||||||
can now be set to override <envar>PAGER</envar>. You can set it to
|
can now be set to override <literal>PAGER</literal>. You can set it to
|
||||||
<literal>cat</literal> to disable paging for Nix commands
|
<literal>cat</literal> to disable paging for Nix commands
|
||||||
only.</para></listitem>
|
only.</para></listitem>
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The “copy from other stores” substituter mechanism
|
<para>The “copy from other stores” substituter mechanism
|
||||||
(<command>copy-from-other-stores</command> and the
|
(<command>copy-from-other-stores</command> and the
|
||||||
<envar>NIX_OTHER_STORES</envar> environment variable) has been
|
<literal>NIX_OTHER_STORES</literal> environment variable) has been
|
||||||
removed. It was primarily used by the NixOS installer to copy
|
removed. It was primarily used by the NixOS installer to copy
|
||||||
available paths from the installation medium. The replacement is
|
available paths from the installation medium. The replacement is
|
||||||
to use a chroot store as a substituter
|
to use a chroot store as a substituter
|
||||||
|
@ -371,7 +371,7 @@
|
||||||
daemon. You can use <literal>auto</literal> or the empty
|
daemon. You can use <literal>auto</literal> or the empty
|
||||||
string to auto-select a local or daemon store depending on
|
string to auto-select a local or daemon store depending on
|
||||||
whether you have write permission to the Nix store. It is no
|
whether you have write permission to the Nix store. It is no
|
||||||
longer necessary to set the <envar>NIX_REMOTE</envar>
|
longer necessary to set the <literal>NIX_REMOTE</literal>
|
||||||
environment variable to use the Nix daemon.</para>
|
environment variable to use the Nix daemon.</para>
|
||||||
|
|
||||||
<para>As noted above, <classname>LocalStore</classname> now
|
<para>As noted above, <classname>LocalStore</classname> now
|
||||||
|
@ -492,7 +492,7 @@
|
||||||
use <filename>/build</filename> instead of
|
use <filename>/build</filename> instead of
|
||||||
<filename>/tmp</filename> as the temporary build
|
<filename>/tmp</filename> as the temporary build
|
||||||
directory. This fixes potential security problems when a build
|
directory. This fixes potential security problems when a build
|
||||||
accidentally stores its <envar>TMPDIR</envar> in some
|
accidentally stores its <literal>TMPDIR</literal> in some
|
||||||
security-sensitive place, such as an RPATH.</para>
|
security-sensitive place, such as an RPATH.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -546,8 +546,8 @@
|
||||||
are not using the Nix daemon, you can now just specify a remote
|
are not using the Nix daemon, you can now just specify a remote
|
||||||
build machine on the command line, e.g. <literal>--option builders
|
build machine on the command line, e.g. <literal>--option builders
|
||||||
'ssh://my-mac x86_64-darwin'</literal>. The environment variable
|
'ssh://my-mac x86_64-darwin'</literal>. The environment variable
|
||||||
<envar>NIX_BUILD_HOOK</envar> has been removed and is no longer
|
<literal>NIX_BUILD_HOOK</literal> has been removed and is no longer
|
||||||
needed. The environment variable <envar>NIX_REMOTE_SYSTEMS</envar>
|
needed. The environment variable <literal>NIX_REMOTE_SYSTEMS</literal>
|
||||||
is still supported for compatibility, but it is also possible to
|
is still supported for compatibility, but it is also possible to
|
||||||
specify builders in <command>nix.conf</command> by setting the
|
specify builders in <command>nix.conf</command> by setting the
|
||||||
option <literal>builders =
|
option <literal>builders =
|
||||||
|
@ -574,7 +574,7 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><envar>NIX_PATH</envar> is now lazy, so URIs in the path are
|
<para><literal>NIX_PATH</literal> is now lazy, so URIs in the path are
|
||||||
only downloaded if they are needed for evaluation.</para>
|
only downloaded if they are needed for evaluation.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -672,7 +672,7 @@
|
||||||
<para><command>nix-shell</command> now uses
|
<para><command>nix-shell</command> now uses
|
||||||
<varname>bashInteractive</varname> from Nixpkgs, rather than the
|
<varname>bashInteractive</varname> from Nixpkgs, rather than the
|
||||||
<command>bash</command> command that happens to be in the caller’s
|
<command>bash</command> command that happens to be in the caller’s
|
||||||
<envar>PATH</envar>. This is especially important on macOS where
|
<literal>PATH</literal>. This is especially important on macOS where
|
||||||
the <command>bash</command> provided by the system is seriously
|
the <command>bash</command> provided by the system is seriously
|
||||||
outdated and cannot execute <literal>stdenv</literal>’s setup
|
outdated and cannot execute <literal>stdenv</literal>’s setup
|
||||||
script.</para>
|
script.</para>
|
||||||
|
@ -720,7 +720,7 @@
|
||||||
configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"}";
|
configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"}";
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
will cause the <envar>configureFlags</envar> environment variable
|
will cause the <literal>configureFlags</literal> environment variable
|
||||||
to contain the actual store paths corresponding to the
|
to contain the actual store paths corresponding to the
|
||||||
<literal>out</literal> and <literal>dev</literal> outputs.</para>
|
<literal>out</literal> and <literal>dev</literal> outputs.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -815,7 +815,7 @@ configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"
|
||||||
<varname>__structuredAttrs</varname> is set to
|
<varname>__structuredAttrs</varname> is set to
|
||||||
<literal>true</literal>, the other derivation attributes are
|
<literal>true</literal>, the other derivation attributes are
|
||||||
serialised in JSON format and made available to the builder via
|
serialised in JSON format and made available to the builder via
|
||||||
the file <envar>.attrs.json</envar> in the builder’s temporary
|
the file <literal>.attrs.json</literal> in the builder’s temporary
|
||||||
directory. This obviates the need for
|
directory. This obviates the need for
|
||||||
<varname>passAsFile</varname> since JSON files have no size
|
<varname>passAsFile</varname> since JSON files have no size
|
||||||
restrictions, unlike process environments.</para>
|
restrictions, unlike process environments.</para>
|
||||||
|
@ -823,7 +823,7 @@ configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"
|
||||||
<para><link
|
<para><link
|
||||||
xlink:href="https://github.com/NixOS/nix/commit/2d5b1b24bf70a498e4c0b378704cfdb6471cc699">As
|
xlink:href="https://github.com/NixOS/nix/commit/2d5b1b24bf70a498e4c0b378704cfdb6471cc699">As
|
||||||
a convenience to Bash builders</link>, Nix writes a script named
|
a convenience to Bash builders</link>, Nix writes a script named
|
||||||
<envar>.attrs.sh</envar> to the builder’s directory that
|
<literal>.attrs.sh</literal> to the builder’s directory that
|
||||||
initialises shell variables corresponding to all attributes that
|
initialises shell variables corresponding to all attributes that
|
||||||
are representable in Bash. This includes non-nested (associative)
|
are representable in Bash. This includes non-nested (associative)
|
||||||
arrays. For example, the attribute <literal>hardening.format =
|
arrays. For example, the attribute <literal>hardening.format =
|
||||||
|
@ -835,7 +835,7 @@ configureFlags = "--prefix=${placeholder "out"} --includedir=${placeholder "dev"
|
||||||
<para>Builders can <link
|
<para>Builders can <link
|
||||||
xlink:href="https://github.com/NixOS/nix/commit/88e6bb76de5564b3217be9688677d1c89101b2a3">now</link>
|
xlink:href="https://github.com/NixOS/nix/commit/88e6bb76de5564b3217be9688677d1c89101b2a3">now</link>
|
||||||
communicate what build phase they are in by writing messages to
|
communicate what build phase they are in by writing messages to
|
||||||
the file descriptor specified in <envar>NIX_LOG_FD</envar>. The
|
the file descriptor specified in <literal>NIX_LOG_FD</literal>. The
|
||||||
current phase is shown by the <command>nix</command> progress
|
current phase is shown by the <command>nix</command> progress
|
||||||
indicator.
|
indicator.
|
||||||
</para>
|
</para>
|
||||||
|
|
|
@ -114,8 +114,8 @@ import <nix/fetchurl.nix> {
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The evaluator now prints profiling statistics (enabled via
|
<para>The evaluator now prints profiling statistics (enabled via
|
||||||
the <envar>NIX_SHOW_STATS</envar> and
|
the <literal>NIX_SHOW_STATS</literal> and
|
||||||
<envar>NIX_COUNT_CALLS</envar> environment variables) in JSON
|
<literal>NIX_COUNT_CALLS</literal> environment variables) in JSON
|
||||||
format.</para>
|
format.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ incompatible changes:</para>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Builds are now executed in a pseudo-terminal, and the
|
<para>Builds are now executed in a pseudo-terminal, and the
|
||||||
<envar>TERM</envar> environment variable is set to
|
<literal>TERM</literal> environment variable is set to
|
||||||
<literal>xterm-256color</literal>. This allows many programs
|
<literal>xterm-256color</literal>. This allows many programs
|
||||||
(e.g. <command>gcc</command>, <command>clang</command>,
|
(e.g. <command>gcc</command>, <command>clang</command>,
|
||||||
<command>cmake</command>) to print colorized log output.</para>
|
<command>cmake</command>) to print colorized log output.</para>
|
||||||
|
|
Loading…
Reference in a new issue