Subject: Re: [bug#42030] [PATCH] channels: Error out when the 'guix' channel lacks an introduction.

From: Marius Bakke <[email-masked]>
Date: Mon, 29 Jun 2020 13:47:48 +0200

Hello!  Sorry for the late reply.

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

>> I think we should export %guix-channel-introduction, or alternatively
>> add a %default-guix-channel that can be inherited, for easy access in
>> custom channels.scm files.  WDYT?
>
> The idea was to expose only ‘%default-channels’, which leaves room for
> the possibility of having multiple channels by default.  I’d rather
> avoid exposing the individual bits as that’s a bit of an additional
> committment.
>
> But note that the introduction of the “official” guix channel is
> automatically added anyway (commit
> c3f6f564e909ebefe752d24b325871a4e3a02d40).

It is only added for people using the default channel URL, and not for
local mirrors that may well be authenticated.  E.g. (url "/some/dir") or
(url "https://github.com/guix-mirror/guix").

Would it make sense to remove the %default-channel-url check from
ensure-default-introductions?  I think we can safely assume that a
channel named 'guix is _the_ Guix channel regardless of where it came
from, and if users need to override the introduction they can just do
that.

Currently I do this to access the channel introduction, which seems
needlessly complicated:

--8<---------------cut here---------------start------------->8---
(use-modules (srfi srfi-1))
(let ((guix-channel (find (lambda (channel)
                            (eq? 'guix (channel-name channel)))
                          %default-channels)))
  (list [other channels omitted]
        (channel
         (inherit guix-channel)
         (url "/home/marius/src/guix"))))
--8<---------------cut here---------------end--------------->8---