Next: Replicating Guix, Previous: Specifying Additional Channels, Up: 频道 [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.