summaryrefslogtreecommitdiffstats
path: root/doc/manual/command-ref/nix-channel.xml
diff options
context:
space:
mode:
authorMikey Ariel <mariel@redhat.com>2014-08-27 18:41:09 +0200
committerMikey Ariel <mariel@redhat.com>2014-08-27 18:41:09 +0200
commit8901acc97664aa8ebf687ee904428aa57a5192be (patch)
treef7bfefccbc2a08cc49eb37b424758a6158b29b58 /doc/manual/command-ref/nix-channel.xml
parent3f0a4bf0e7254edddaa864d23893d98da23c2977 (diff)
Restructuring the Nix manual
Diffstat (limited to 'doc/manual/command-ref/nix-channel.xml')
-rw-r--r--doc/manual/command-ref/nix-channel.xml113
1 files changed, 113 insertions, 0 deletions
diff --git a/doc/manual/command-ref/nix-channel.xml b/doc/manual/command-ref/nix-channel.xml
new file mode 100644
index 000000000..e13394c7d
--- /dev/null
+++ b/doc/manual/command-ref/nix-channel.xml
@@ -0,0 +1,113 @@
+<refentry xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ version="5.0"
+ xml:id="sec-nix-channel">
+
+<refmeta>
+ <refentrytitle>nix-channel</refentrytitle>
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="source">Nix</refmiscinfo>
+ <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo>
+</refmeta>
+
+<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 choice='opt'><replaceable>name</replaceable></arg></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 rep='repeat'><replaceable>names</replaceable></arg></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 containing a set of Nix expressions
+and a <command>nix-push</command> manifest. <phrase
+condition="manual">See also <xref linkend="sec-channels"
+/>.</phrase></para>
+
+<para>This command has the following operations:
+
+<variablelist>
+
+ <varlistentry><term><option>--add</option> <replaceable>url</replaceable> [<replaceable>name</replaceable>]</term>
+
+ <listitem><para>Adds a channel named
+ <replaceable>name</replaceable> with URL
+ <replaceable>url</replaceable> to the list of subscribed channels.
+ If <replaceable>name</replaceable> is omitted, it defaults to the
+ last component of <replaceable>url</replaceable>, with the
+ suffixes <literal>-stable</literal> or
+ <literal>-unstable</literal> removed.</para></listitem>
+
+ </varlistentry>
+
+ <varlistentry><term><option>--remove</option> <replaceable>name</replaceable></term>
+
+ <listitem><para>Removes the channel named
+ <replaceable>name</replaceable> from the list of subscribed
+ channels.</para></listitem>
+
+ </varlistentry>
+
+ <varlistentry><term><option>--list</option></term>
+
+ <listitem><para>Prints the names and URLs of all subscribed
+ channels on standard output.</para></listitem>
+
+ </varlistentry>
+
+ <varlistentry><term><option>--update</option> [<replaceable>names</replaceable>…]</term>
+
+ <listitem><para>Downloads the Nix expressions of all subscribed
+ channels (or only those included in
+ <replaceable>names</replaceable> if specified), makes them the
+ default for <command>nix-env</command> operations (by symlinking
+ them from the directory <filename>~/.nix-defexpr</filename>), 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> does 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>
+
+<refsection><title>Examples</title>
+
+<para>To subscribe to the Nixpkgs channel and install the GNU Hello package:</para>
+
+<screen>
+$ nix-channel --add http://nixos.org/channels/nixpkgs-unstable
+$ nix-channel --update
+$ nix-env -iA nixpkgs.hello</screen>
+
+</refsection>
+
+</refentry>