Next: Replicating Guix, Previous: Specifying Additional Channels, Up: Channels [Contents][Index]
The channel called guix
specifies where Guix itself—its command-line
tools as well as its package collection—should be downloaded. For instance,
suppose you want to update from another copy of the Guix repository at
example.org
, and specifically the super-hacks
branch, you can
write in ~/.config/guix/channels.scm
this specification:
;; Tell 'guix pull' to use another repo. (list (channel (name 'guix) (url "https://example.org/another-guix.git") (branch "super-hacks")))
From there on, guix pull
will fetch code from the super-hacks
branch of the repository at example.org
. The authentication concern is
addressed below (see Channel Authentication).
Note that you can specify a local directory on the url
field above if
the channel that you intend to use resides on a local file system. However,
in this case guix
checks said directory for ownership before any
further processing. This means that if the user is not the directory owner,
but wants to use it as their default, they will then need to set it as a safe
directory in their global git configuration file. Otherwise, guix
will refuse to even read it. Supposing your system-wide local directory is at
/src/guix.git
, you would then create a git configuration file at
~/.gitconfig
with the following contents:
[safe] directory = /src/guix.git
This also applies to the root user unless when called with sudo
by
the directory owner.