Subject: [PATCH 0/2] Making a 'guix' package with specific channels

From: Ludovic Courtès <[email-masked]>
Date: Fri, 22 Mar 2024 14:58:37 +0100

From: Ludovic Courtès <[email-masked]>

Hello Guix!

This patch series aims to allow users to create an operating system
that runs a specific Guix for ‘guix-service-type’, and in particular
for /run/current-system/profile/bin/guix: it could be the ‘guix’
channel pinned to a specific revision, or it could be ‘guix’ together
with additional channels.  Here’s the example added in the new
section of the manual:

     (use-modules (guix channels))

     (define my-channels
       ;; Channels that should be available to
       ;; /run/current-system/profile/bin/guix.
       (append
        (list (channel
               (name 'guix-science)
               (url "https://github.com/guix-science/guix-science")
               (branch "master")))
        %default-channels))

     (operating-system
       ;; ...
       (services
         ;; Change the package used by 'guix-service-type'.
         (modify-services %base-services
           (guix-service-type
            config => (guix-configuration
                       (inherit config)
                       (channels my-channels)
                       (guix (guix-for-channels my-channels)))))))

The resulting operating system will have both the ‘guix’ and the
‘guix-science’ channels visible by default.  The ‘channels’ field of
‘guix-configuration’ above ensures that /etc/guix/channels.scm specifies
the same set of channels

Thoughts?

Thanks,
Ludo’.

Ludovic Courtès (2):
  build-system/channel: Add support for additional channels.
  gnu: guix: Define ‘guix-for-channels’ and document its use.

 doc/guix.texi                       | 67 ++++++++++++++++++++++++++++-
 gnu/packages/package-management.scm | 14 +++++-
 guix/build-system/channel.scm       |  7 ++-
 3 files changed, 83 insertions(+), 5 deletions(-)

base-commit: 40f53e8fb5b867e3a1e8fa798328423718282aac
-- 
2.41.0