Subject: [bug#78580] [PATCH v2] pull: allow filtering which channels to pull from the CLI

From: Sergio Pastor Pérez <[email-masked]>
Date: Sun, 25 May 2025 09:22:09 +0200

Hello Sergey.

Sergey Trofimov <[email-masked]> writes:
>> +The optional @var{channels} argument filters the list of pulled channels
>> +to those whose names match the given list.  The channel named @dfn{guix}
>> +is always pulled.
>>
>
> wouldn't it be better to let user decide whether `guix` channel has to
> be pulled? The use-case is simple - I've made a change in my personal
> channel and I want to apply it without risking to build missing /
> download new substitutes of the main channel.

Unfortunately this is not possible. That was my initial idea as well,
but the `guix' channel is required. If you allow it to compose the list
of channels to pull without the `guix' channel, you get this error:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix pull rde
Updating channel 'rde' from Git repository at 'https://git.sr.ht/~abcdw/rde'...
Building from this channel:
  rde       https://git.sr.ht/~abcdw/rde        bf8f628
/home/pastor/projects/guix/puntos/dots/.config/guix/channels.scm:12:6: error: 'guix' channel is lacking
hint: Make sure your list of channels contains one channel named `guix' providing the core of Guix.
--8<---------------cut here---------------end--------------->8---

Once thing we could do, is to pin the Guix channel to the current commit
so it does not pull. I can try to implement that if you would like to
have that behaviour.