Subject: Re: [PATCH 0/2] Add 'guix manifest' to "translate" commands to manifests

From: Liliana Marie Prikler <[email-masked]>
Date: Tue, 15 Mar 2022 08:18:57 +0100

Hi,

Am Montag, dem 14.03.2022 um 22:50 +0100 schrieb Ludovic Courtès:
> Hello Guix!
> 
> Writing manifests can be intimidating: in part because it’s not
> well documented, and in part because it’s always hard to start from
> a blank page.
> 
> We have ‘guix package --export-manifest’ to help with that, but I
> realized that colleagues of mine often use ‘guix shell’ more than
> ‘guix package’, and ‘--export-manifest’ is awkward to use:
> 
>   $ 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
> 
> Voilà!
> 
> Thoughts?
The current implementation is missing the most important feature, which
would be ‘guix manifest --profile $GUIX_PROFILE’ :)
I think if we are to introduce a new command, we should make it handle
existing use cases as well.  If people then prefer ‘guix manifest’ over
‘guix package --export-manifest’, we can deprecate the old command in
favor of the new one.

Furthermore, one issue I have with both the existing and proposed
approaches is that both mandate the specification style, whereas for
operating system configs we typically prefer the variable style of
referencing a package.  Adding an option to choose between the two
would be much appreciated from my side.

Cheers