@@ -226,6 +226,18 @@ Substitutes
* Substitution Failure:: What happens when substitution fails.
* On Trusting Binaries:: How can you trust that binary blob?
+Channels
+
+* Channel Authentication:: How Guix verifies what it fetches.
+* Using a Custom Guix Channel:: Using a customized Guix.
+* Specifying Additional Channels:: Extending the package collection.
+* Declaring Channel Dependencies:: Declaring channel dependencies.
+* Package Modules in a Sub-directory:: Package Modules in a Sub-directory.
+* Specifying Channel Authorizations:: Specifying Channel Authorizations.
+* Primary URL:: Distinguishing mirror to original.
+* Writing Channel News:: Communicating information to channel's users.
+* Replicating Guix:: Running the @emph{exact same} Guix.
+
Development
* Invoking guix environment:: Setting up development environments.
@@ -4206,6 +4218,19 @@ to pull from one or more channels. In other words, channels can be used
to @emph{customize} and to @emph{extend} Guix, as we will see below.
Before that, some security considerations.
+@menu
+* Channel Authentication:: How Guix verifies what it fetches.
+* Using a Custom Guix Channel:: Using a customized Guix.
+* Specifying Additional Channels:: Extending the package collection.
+* Declaring Channel Dependencies:: Declaring channel dependencies.
+* Package Modules in a Sub-directory:: Package Modules in a Sub-directory.
+* Specifying Channel Authorizations:: Specifying Channel Authorizations.
+* Primary URL:: Distinguishing mirror to original.
+* Writing Channel News:: Communicating information to channel's users.
+* Replicating Guix:: Running the @emph{exact same} Guix.
+@end menu
+
+@node Channel Authentication
@subsection Channel Authentication
@anchor{channel-authentication}
@@ -4245,6 +4270,7 @@ introduction from a trusted source since that is the root of your trust.
If you're curious about the authentication mechanics, read on!
+@node Using a Custom Guix Channel
@subsection Using a Custom Guix Channel
The channel called @code{guix} specifies where Guix itself---its command-line
@@ -4265,6 +4291,7 @@ write in @code{~/.config/guix/channels.scm} this specification:
From there on, @command{guix pull} will fetch code from the @code{super-hacks}
branch of the repository at @code{example.org}.
+@node Specifying Additional Channels
@subsection Specifying Additional Channels
@cindex extending the package collection (channels)
@@ -4373,6 +4400,7 @@ my-tools)}, and you will be able to use it like any other module
@cindex dependencies, channels
@cindex meta-data, channels
+@node Declaring Channel Dependencies
@subsection Declaring Channel Dependencies
Channel authors may decide to augment a package collection provided by other
@@ -4413,6 +4441,7 @@ on channels that you don't control, and you should aim to keep the number of
dependencies to a minimum.
@cindex subdirectory, channels
+@node Package Modules in a Sub-directory
@subsection Package Modules in a Sub-directory
As a channel author, you may want to keep your channel modules in a
@@ -4426,6 +4455,7 @@ add a meta-data file @file{.guix-channel} that contains:
@end lisp
@cindex channel authorizations
+@node Specifying Channel Authorizations
@subsection Specifying Channel Authorizations
@anchor{channel-authorizations}
@@ -4526,6 +4556,7 @@ are considered authentic if and only if they are signed by a key present
in the @file{.guix-authorizations} file of @emph{both} branches.
@cindex primary URL, channels
+@node Primary URL
@subsection Primary URL
Channel authors can indicate the primary URL of their channel's Git
@@ -4548,6 +4579,7 @@ the official @code{guix} channel, for which @command{guix pull} ensures
the code it fetches is authentic.
@cindex news, for channels
+@node Writing Channel News
@subsection Writing Channel News
Channel authors may occasionally want to communicate to their users
@@ -4615,6 +4647,7 @@ xgettext -o news.po -l scheme -ken etc/news.txt
To sum up, yes, you could use your channel as a blog. But beware, this
is @emph{not quite} what your users might expect.
+@node Replicating Guix
@subsection Replicating Guix
@cindex pinning, channels