* Document nix-channel.

This commit is contained in:
Eelco Dolstra 2005-04-09 17:16:00 +00:00
parent c702dfca3f
commit fb45b0f548
7 changed files with 108 additions and 17 deletions

View file

@ -5,12 +5,12 @@ XSLTPROC = $(ENV) $(xsltproc) $(xmlflags) --catalogs \
--param section.autolabel 1 \ --param section.autolabel 1 \
--param section.label.includes.component.label 1 \ --param section.label.includes.component.label 1 \
--param html.stylesheet \'style.css\' \ --param html.stylesheet \'style.css\' \
--param xref.with.number.and.title 0 \ --param xref.with.number.and.title 1 \
--param toc.section.depth 3 --param toc.section.depth 3
man1_MANS = nix-env.1 nix-build.1 nix-store.1 nix-instantiate.1 \ man1_MANS = nix-env.1 nix-build.1 nix-store.1 nix-instantiate.1 \
nix-collect-garbage.1 nix-push.1 nix-pull.1 \ nix-collect-garbage.1 nix-push.1 nix-pull.1 \
nix-prefetch-url.1 nix-prefetch-url.1 nix-channel.1
FIGURES = figures/user-environments.png FIGURES = figures/user-environments.png

View file

@ -7,7 +7,7 @@ This file is a list of <literal><replaceable>name</replaceable> =
Comments start with a <literal>#</literal> character. An example Comments start with a <literal>#</literal> character. An example
configuration file is shown in <xref linkend="ex-nix-conf" />.</para> configuration file is shown in <xref linkend="ex-nix-conf" />.</para>
<example id='ex-nix-conf'><title>Nix expression for GNU Hello</title> <example id='ex-nix-conf'><title>Nix configuration file</title>
<programlisting> <programlisting>
gc-keep-outputs = true # Nice for developers gc-keep-outputs = true # Nice for developers

View file

@ -246,11 +246,10 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
<varlistentry><term><filename>references</filename></term> <varlistentry><term><filename>references</filename></term>
<listitem><para>The reference graph of the inputs, in the format <listitem><para>The reference graph of the inputs, in the format
accepted by the command <link accepted by the command <command>nix-store
linkend="rsec-nix-store-reg-val"><command>nix-store --register-validity</command>. It is necessary to run this
--register-validity</command></link>. It is necessary to run command on the remote machine after copying the inputs to inform
this command on the remote machine after copying the inputs to Nix on the remote machine that the inputs are valid
inform Nix on the remote machine that the inputs are valid
paths.</para></listitem> paths.</para></listitem>
</varlistentry> </varlistentry>

View file

@ -56,6 +56,10 @@
<title>nix-collect-garbage</title> <title>nix-collect-garbage</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="nix-collect-garbage.xml" /> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="nix-collect-garbage.xml" />
</sect1> </sect1>
<sect1 id="sec-nix-channel">
<title>nix-channel</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="nix-channel.xml" />
</sect1>
<sect1> <sect1>
<title>nix-push</title> <title>nix-push</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="nix-push.xml" /> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="nix-push.xml" />

View file

@ -0,0 +1,83 @@
<refentry>
<refnamediv>
<refname>nix-channel</refname>
<refpurpose>manage Nix channels</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>nix-channel</command>
<group choice='req'>
<arg choice='plain'><option>--add</option> <replaceable>url</replaceable></arg>
<arg choice='plain'><option>--remove</option> <replaceable>url</replaceable></arg>
<arg choice='plain'><option>--list</option></arg>
<arg choice='plain'><option>--update</option></arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsection><title>Description</title>
<para>A Nix channel is mechanism that allows you to automatically stay
up-to-date with a set of pre-built Nix expressions. A Nix channel is
just a URL that points to a place that contains a set of Nix
expressions, as well as a <command>nix-push</command> manifest. See
also <xref linkend="sec-channels" />.</para>
<para>This command has the following operations:
<variablelist>
<varlistentry><term><option>--add</option> <replaceable>url</replaceable></term>
<listitem><para>Adds <replaceable>url</replaceable> to the list of
subscribed channels.</para></listitem>
</varlistentry>
<varlistentry><term><option>--remove</option> <replaceable>url</replaceable></term>
<listitem><para>Removes <replaceable>url</replaceable> from the
list of subscribed channels.</para></listitem>
</varlistentry>
<varlistentry><term><option>--list</option></term>
<listitem><para>Prints the URLs of all subscribed channels on
standard output.</para></listitem>
</varlistentry>
<varlistentry><term><option>--update</option></term>
<listitem><para>Downloads the Nix expressions of all subscribed
channels, makes the conjunction of these the default for
<command>nix-env</command> operations (by calling <command>nix-env
-I</command>), and performs a <command>nix-pull</command> on the
manifests of all channels to make pre-built binaries
available.</para></listitem>
</varlistentry>
</variablelist>
</para>
<para>Note that <option>--add</option> and <option>--remove</option>
do not automatically perform an update.</para>
<para>The list of subscribed channels is stored in
<filename>~/.nix-channels</filename>.</para>
<para>A channel consists of two elements: a bzipped Tar archive
containing the Nix expressions, and a manifest created by
<command>nix-push</command>. These must be stored under
<literal><replaceable>url</replaceable>/nixexprs.tar.bz2</literal> and
<literal><replaceable>url</replaceable>/MANIFEST</literal>,
respectively.</para>
</refsection>
</refentry>

View file

@ -571,13 +571,14 @@ $ gv graph.ps</screen>
<!--######################################################################--> <!--######################################################################-->
<refsection id="rsec-nix-store-reg-val"><title>Operation <option>--register-validity</option></title> <!--
<refsection id="rsec-nix-store-reg-val"><title>Operation <option>-XXX-register-validity</option></title>
<refsection><title>Synopsis</title> <refsection><title>Synopsis</title>
<cmdsynopsis> <cmdsynopsis>
<command>nix-store</command> <command>nix-store</command>
<arg choice='plain'><option>--register-validity</option></arg> <arg choice='plain'><option>-XXX-register-validity</option></arg>
</cmdsynopsis> </cmdsynopsis>
</refsection> </refsection>
@ -588,18 +589,20 @@ $ gv graph.ps</screen>
</refsection> </refsection>
</refsection> </refsection>
-->
<!--######################################################################--> <!--######################################################################-->
<refsection><title>Operation <option>--substitute</option></title> <!--
<refsection><title>Operation <option>-XXX-substitute</option></title>
<refsection><title>Synopsis</title> <refsection><title>Synopsis</title>
<cmdsynopsis> <cmdsynopsis>
<command>nix-store</command> <command>nix-store</command>
<arg choice='plain'><option>--substitute</option></arg> <arg choice='plain'><option>-XXX-substitute</option></arg>
<arg choice='plain' <arg choice='plain'
rep='repeat'><replaceable>srcpath</replaceable> <replaceable>subpath</replaceable></arg> rep='repeat'><replaceable>srcpath</replaceable> <replaceable>subpath</replaceable></arg>
</cmdsynopsis> </cmdsynopsis>
@ -607,7 +610,7 @@ $ gv graph.ps</screen>
<refsection><title>Description</title> <refsection><title>Description</title>
<para>The operation <option>--substitute</option> registers that the <para>The operation <option>-XXX-substitute</option> registers that the
store path <replaceable>srcpath</replaceable> can be built by store path <replaceable>srcpath</replaceable> can be built by
realising the derivation expression in realising the derivation expression in
<replaceable>subpath</replaceable>. This is used to implement binary <replaceable>subpath</replaceable>. This is used to implement binary
@ -616,6 +619,7 @@ deployment.</para>
</refsection> </refsection>
</refsection> </refsection>
-->

View file

@ -408,7 +408,7 @@ followed to prevent infinite recursion.</para>
</sect1> </sect1>
<sect1><title>Channels</title> <sect1 id="sec-channels"><title>Channels</title>
<para>If you want to stay up to date with a set of packages, its not <para>If you want to stay up to date with a set of packages, its not
very convenient to manually download the latest set of Nix expressions very convenient to manually download the latest set of Nix expressions
@ -418,9 +418,10 @@ pre-built binaries (if available), and upgrade using
<emphasis>Nix channels</emphasis>.</para> <emphasis>Nix channels</emphasis>.</para>
<para>A Nix channel is just a URL that points to a place that contains <para>A Nix channel is just a URL that points to a place that contains
a set of Nix expressions and a manifest. Using the command a set of Nix expressions and a manifest. Using the command <link
<command>nix-channel</command> you can automatically stay up to date linkend="sec-nix-channel"><command>nix-channel</command></link> you
with whatever is available at that URL.</para> can automatically stay up to date with whatever is available at that
URL.</para>
<para>You can <quote>subscribe</quote> to a channel using <para>You can <quote>subscribe</quote> to a channel using
<command>nix-channel --add</command>, e.g., <command>nix-channel --add</command>, e.g.,