mirror of
https://github.com/NixOS/nix
synced 2025-07-16 02:01:59 +02:00
Document channel format and excise most mentions of manifests and nix-pull
This commit is contained in:
parent
e5a51fab24
commit
3b88d03714
7 changed files with 163 additions and 98 deletions
|
@ -8,10 +8,9 @@
|
|||
|
||||
<para>If you want to stay up to date with a set of packages, it’s not
|
||||
very convenient to manually download the latest set of Nix expressions
|
||||
for those packages, use <command>nix-pull</command> to register
|
||||
pre-built binaries (if available), and upgrade using
|
||||
<command>nix-env</command>. Fortunately, there’s a better way:
|
||||
<emphasis>Nix channels</emphasis>.</para>
|
||||
for those packages and upgrade using <command>nix-env</command>.
|
||||
Fortunately, there’s a better way: <emphasis>Nix
|
||||
channels</emphasis>.</para>
|
||||
|
||||
<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 <link
|
||||
|
@ -23,35 +22,36 @@ URL.</para>
|
|||
<command>nix-channel --add</command>, e.g.,
|
||||
|
||||
<screen>
|
||||
$ nix-channel --add http://nixos.org/channels/nixpkgs-unstable</screen>
|
||||
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable</screen>
|
||||
|
||||
subscribes you to a channel that always contains that latest version
|
||||
of the Nix Packages collection. (Instead of
|
||||
<literal>nixpkgs-unstable</literal> you could also subscribe to
|
||||
<literal>nixpkgs-stable</literal>, which should have a higher level of
|
||||
stability, but right now is just outdated.) Subscribing really just
|
||||
means that the URL is added to the file
|
||||
<filename>~/.nix-channels</filename>. Right now there is no command
|
||||
to “unsubscribe”; you should just edit that file manually
|
||||
and delete the offending URL.</para>
|
||||
of the Nix Packages collection. (Subscribing really just means that
|
||||
the URL is added to the file <filename>~/.nix-channels</filename>,
|
||||
where it is read by subsequent calls to <command>nix-channel
|
||||
--update</command>.) You can “unsubscribe” using <command>nix-channel
|
||||
--remove</command>:
|
||||
|
||||
<screen>
|
||||
$ nix-channel --remove nixpkgs
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
<para>To obtain the latest Nix expressions available in a channel, do
|
||||
|
||||
<screen>
|
||||
$ nix-channel --update</screen>
|
||||
|
||||
This downloads the Nix expressions in every channel (downloaded from
|
||||
<literal><replaceable>url</replaceable>/nixexprs.tar.bz2</literal>)
|
||||
and registers any available pre-built binaries in every channel
|
||||
(by <command>nix-pull</command>ing
|
||||
<literal><replaceable>url</replaceable>/MANIFEST</literal>). It also
|
||||
makes the union of each channel’s Nix expressions the default for
|
||||
<command>nix-env</command> operations. Consequently, you can then say
|
||||
This downloads and unpacks the Nix expressions in every channel
|
||||
(downloaded from <literal><replaceable>url</replaceable>/nixexprs.tar.bz2</literal>).
|
||||
It also makes the union of each channel’s Nix expressions available by
|
||||
default to <command>nix-env</command> operations (via the symlink
|
||||
<filename>~/.nix-defexpr/channels</filename>). Consequently, you can
|
||||
then say
|
||||
|
||||
<screen>
|
||||
$ nix-env -u '*'</screen>
|
||||
$ nix-env -u</screen>
|
||||
|
||||
to upgrade all packages in your profile to the latest versions
|
||||
available in the subscribed channels.</para>
|
||||
|
||||
</chapter>
|
||||
</chapter>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue