Subject: Feature request: filter channel on "guix pull"

From: EuAndreh <[email-masked]>
Date: Wed, 25 May 2022 21:57:21 -0300

I'd like to be able to select a specific channel to be updated when running a
"guix pull" command.

Let's say I have a "channels.scm" file, containing 3 channels: "abc", "xyz" and
"guix", all pointing to the branch "main".  When running "guix pull", all three
channels get updated via a "git pull", naturally.

However I'd like to select only channel "abc" to be updated, and leave "xyz" and
"guix" as is, untouched.  In order to accomplish this today, I'd have to:

1. generate a temporary "tmp-channels.scm" file with "abc" and "guix" pinned to
   the current commit given by "guix describe";
2. include in the temporary file the "xyz" channel, but that one still pointing
   to the branch "main";
3. "guix pull -C tmp-channels.scm".

That way I get only the "xyz" channel to be upgraded, since all other channels
are pinned to a specific commit.  I'd like to be possible to run a desired
"guix pull -c xyz" (or similar) command and get that same behaviour.

Since I don't plan to implement that feature soon enough, I'm registering it
here so that a fellow hacker seeking for an improvement opportunity can jump
in :)