Subject: Re: bug#55653: [PATCH] guix: Add syntactic sugar for profile generation.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 31 May 2022 15:47:25 +0200

Hello!

Liliana Marie Prikler <[email-masked]> skribis:

> * guix/profiles.scm (%profile, package-compatibility-helper): New variables.
> (profile): Implement in terms of package-compatibility-helper.
> ---
> Hi Guix,
>
> this is a first step towards managing multiple profiles via Guix Home.
> It makes it so that regular Guix profiles can more easily be specified, though
> I'm not quite sure whether the mlet of packages->profile-entry should not also
> be used here.
>
> In any case, with this it should now be relatively easy for users to specify
> profiles such as
>   (profile (name "emacs") (packages emacs emacs-magit emacs-org ...))
>   (profile (name "r") (packages r r-plyr emacs emacs-ess ...))
>   (profile (name "python") (packages python python-beautifulsoup4 ...))
>   ...

So the goal is to make things slightly more concise than:

  (profile (content (packages->manifest (list …))))

right?

We don’t have syntactic sugar like this elsewhere, and I would prefer to
remain consistent here.  However, if that helps, we could have a
procedure, like:

  (define (packages->profile name packages)
    (profile (name name) …))

Thoughts?

Ludo’.