guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#54393] [PATCH 0/2] Add 'guix manifest' to "translate" commands to m


From: Ludovic Courtès
Subject: [bug#54393] [PATCH 0/2] Add 'guix manifest' to "translate" commands to manifests
Date: Tue, 15 Mar 2022 10:23:11 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hi zimoun,

zimoun <zimon.toutoune@gmail.com> skribis:

> On Mon, 14 Mar 2022 at 22:53, Ludovic Courtès <ludo@gnu.org> wrote:
>
>>   $ guix shell a b c d --transform=whatever=else
>>   [env]$ guix package --export-manifest -p $GUIX_ENVIRONMENT
>>
>> I figured that instead of documenting this, we might as well provide
>> a command that does it in one go:
>>
>>   guix manifest a b c d --transform=whatever=else > manifest.scm
>
>>From my opinion, a complete subcommand for only one use case does not
> seem the right thing.  Instead, IMHO, it would be better to have an
> extension for that.
>
> Because once we introduce a subcommand, it is hard to change (see
> 'guix environment') and since Guix provides this great extension
> mechanism, I think it is the path for this kind of niche use cases:
> start with an extension and depending on the "popularity" and interest
> then upstream.
>
> Well, if you think this feature is great to have in Guix proper,
> personally I would find more coherent:
>
>     guix package --create-manifest a b c --transform=whatever=else >
> manifest.scm

OTOH, sub-commands as just as cheap (and as expensive!) as command-line
options.  That is, one way or another, we’ll have to maintain the thing,
whether it’s called ‘--create-manifest’ or ‘manifest’.

To me, the argument in favor of the sub-command is that that it’s more
discoverable, clearer, and easier to use.  A user who has a ‘guix shell’
command line can replace ‘shell’ by ‘manifest’ and get their manifest.

Thinking about it, another option would be to add an ‘--export-manifest’
option to ‘guix shell’ instead.

Thoughts?

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]