Next: Using a Custom Guix Channel, Up: Channels [Contents][Index]
You can specify additional channels to pull from. To use a channel, write
~/.config/guix/channels.scm
to instruct guix pull
to pull from it
in addition to the default Guix channel(s):
;; Add variant packages to those Guix provides. (cons (channel (name 'variant-packages) (url "https://example.org/variant-packages.git")) %default-channels)
Note that the snippet above is (as always!) Scheme code; we use cons
to
add a channel the list of channels that the variable %default-channels
is bound to (see cons
and lists in GNU Guile Reference
Manual). With this file in place, guix pull
builds not only Guix
but also the package modules from your own repository. The result in
~/.config/guix/current is the union of Guix with your own package
modules:
$ guix pull --list-generations … Generation 19 Aug 27 2018 16:20:48 guix d894ab8 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: d894ab8e9bfabcefa6c49d9ba2e834dd5a73a300 variant-packages dd3df5e repository URL: https://example.org/variant-packages.git branch: master commit: dd3df5e2c8818760a8fc0bd699e55d3b69fef2bb 11 new packages: variant-gimp, variant-emacs-with-cool-features, … 4 packages upgraded: emacs-racket-mode@0.0.2-2.1b78827, …
The output of guix pull
above shows that Generation 19 includes
both Guix and packages from the variant-personal-packages
channel. Among
the new and upgraded packages that are listed, some like variant-gimp
and
variant-emacs-with-cool-features
might come from
variant-packages
, while others come from the Guix default channel.