Next: Declaring Channel Dependencies, Previous: Creating a Channel, Up: Channels [Contents][Index]
As a channel author, you may want to keep your channel modules in a sub-directory. If your modules are in the sub-directory guix, you must add a meta-data file .guix-channel that contains:
(channel
(version 0)
(directory "guix"))
The modules must be underneath the specified directory, as the
directory
changes Guile’s load-path
. For example, if
.guix-channel has (directory "base")
, then a module
defined as (define-module (gnu packages fun))
must be located at
base/gnu/packages/fun.scm
.
Doing this allows for only parts of a repository to be used as a
channel, as Guix expects valid Guile modules when pulling. For
instance, guix deploy
machine configuration files are not
valid Guile modules, and treating them as such would make guix
pull
fail.