diff options
author | Chris Marusich <cmmarusich@gmail.com> | 2019-01-27 16:29:30 -0800 |
---|---|---|
committer | Chris Marusich <cmmarusich@gmail.com> | 2019-02-12 21:39:38 -0800 |
commit | b0a372637f683eae35802af93d67711c3a18e480 (patch) | |
tree | 7c29fd3d9aac027917dfd5e2ff8fbd59a59599aa /doc | |
parent | cf0913f64ec9ca5952db368990acba032bc8eb9f (diff) | |
download | gnu-guix-b0a372637f683eae35802af93d67711c3a18e480.tar gnu-guix-b0a372637f683eae35802af93d67711c3a18e480.tar.gz |
doc: Clarify channel file structure.
Suggested by Hartmut Goebel <h.goebel@crazy-compilers.com>.
* doc/guix.texi (Channels): Clarify how a channel author should structure the
files in their channel's Git repository.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guix.texi | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index aab8978fca..2ae4f53245 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3705,9 +3705,8 @@ share your improvements, which are basic tenets of email us at @email{guix-devel@@gnu.org} if you'd like to discuss this. @end quotation -Once you have a Git repository containing your own package modules, you can -write @code{~/.config/guix/channels.scm} to instruct @command{guix pull} to -pull from your personal channel @emph{in addition} to the default Guix +To use a channel, write @code{~/.config/guix/channels.scm} to instruct +@command{guix pull} to pull from it @emph{in addition} to the default Guix channel(s): @vindex %default-channels @@ -3751,6 +3750,17 @@ the new and upgraded packages that are listed, some like @code{my-gimp} and @code{my-emacs-with-cool-features} might come from @code{my-personal-packages}, while others come from the Guix default channel. +To create a channel, create a Git repository containing your own package +modules and make it available. The repository can contain anything, but a +useful channel will contain Guile modules that export packages. Once you +start using a channel, Guix will behave as if the root directory of that +channel's Git repository has been added to the Guile load path (@pxref{Load +Paths,,, guile, GNU Guile Reference Manual}). For example, if your channel +contains a file at @file{my-packages/my-tools.scm} that defines a Guile +module, then the module will be available under the name @code{(my-packages +my-tools)}, and you will be able to use it like any other module +(@pxref{Modules,,, guile, GNU Guile Reference Manual}). + @cindex dependencies, channels @cindex meta-data, channels @subsection Declaring Channel Dependencies |