aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/package-management/channels.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/src/package-management/channels.md')
-rw-r--r--doc/manual/src/package-management/channels.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/manual/src/package-management/channels.md b/doc/manual/src/package-management/channels.md
new file mode 100644
index 000000000..c239998d9
--- /dev/null
+++ b/doc/manual/src/package-management/channels.md
@@ -0,0 +1,42 @@
+# Channels
+
+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 and upgrade using `nix-env`. Fortunately, there’s a
+better way: *Nix channels*.
+
+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
+[`nix-channel`](../command-ref/nix-channel.md) you can automatically
+stay up to date with whatever is available at that URL.
+
+To see the list of official NixOS channels, visit
+<https://nixos.org/channels>.
+
+You can “subscribe” to a channel using `nix-channel --add`, e.g.,
+
+ $ nix-channel --add https://nixos.org/channels/nixpkgs-unstable
+
+subscribes you to a channel that always contains that latest version of
+the Nix Packages collection. (Subscribing really just means that the URL
+is added to the file `~/.nix-channels`, where it is read by subsequent
+calls to `nix-channel
+--update`.) You can “unsubscribe” using `nix-channel
+--remove`:
+
+ $ nix-channel --remove nixpkgs
+
+To obtain the latest Nix expressions available in a channel, do
+
+ $ nix-channel --update
+
+This downloads and unpacks the Nix expressions in every channel
+(downloaded from `url/nixexprs.tar.bz2`). It also makes the union of
+each channel’s Nix expressions available by default to `nix-env`
+operations (via the symlink `~/.nix-defexpr/channels`). Consequently,
+you can then say
+
+ $ nix-env -u
+
+to upgrade all packages in your profile to the latest versions available
+in the subscribed channels.