Subject: Re: bug#73294: "guix shell -- anything" does not look for manifests

From: Ludovic Courtès <[email-masked]>
Date: Mon, 30 Sep 2024 23:04:23 +0200

Hi,

[email-masked] skribis:

> Currently, if you have an authorized manifest available and want to run 
> some command (for example htop) provided by the manifest, you need to
>
>
> $ guix shell
> $ htop
>
> as supplying a command for guix shell makes it to not look for 
> manifests, and instead simply create a empty environment.
>
>
> $ guix shell -- htop
> guix shell: warning: no packages specified; creating an empty 
> environment
> guix shell: error: htop: command not found
>
> Which doesn't seems a desirable behavior to me. Could we fix it?

This is the documented behavior: ‘manifest.scm’ and ‘guix.scm’ are read
only for interactive use, meaning without ‘--’:

  https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html

The rationale for it is that non-interactive uses of ‘guix shell’ would
always be self-contained.

This was arguably a very conservative choice but I’m not sure we can
change it at this stage.  Thoughts?

Ludo’.