Subject: bug#66705: ‘guix shell -CW’ provides a Guix command without extra channels

From: Ludovic Courtès <[email-masked]>
Date: Mon, 23 Oct 2023 18:26:10 +0200

‘guix shell -CW’ dismisses extra channels available in the original
Guix, as illustrated by this example:

--8<---------------cut here---------------start------------->8---
$ guix time-machine -C <(echo '(cons (channel (name (quote guix-hpc)) (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")) %default-channels)') -- shell -CW coreutils -- guix describe
  guix cbd20d6
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: cbd20d627497053871db863970c07d93c7081786

$ guix time-machine -C <(echo '(cons (channel (name (quote guix-hpc)) (url "https://gitlab.inria.fr/guix-hpc/guix-hpc.git")) %default-channels)') -- describe
  guix cbd20d6
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: cbd20d627497053871db863970c07d93c7081786
  guix-hpc 887d76a
    repository URL: https://gitlab.inria.fr/guix-hpc/guix-hpc.git
    branch: master
    commit: 887d76a8e1d0f35d615c613b28b9b871f39a997e
--8<---------------cut here---------------end--------------->8---

This is due to the fact that ‘-W’ (‘--nesting’) is implemented by adding
the outer ‘guix’ to the container’s profile, without also adding its
companion profile entries (those that provide channels).

Ludo’.