Subject: Re: [bug#37443] [PATCH] scripts: pull: Add options for generation management
From: Ludovic Courtès <[email-masked]>
To: Konrad Hinsen <[email-masked]>
Cc: [email-masked]
Date: Wed, 18 Sep 2019 23:07:53 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Konrad,

Konrad Hinsen <[email-masked]> skribis:

> * guix/scripts/pull.scm (%options) Add --roll-back, --switch-generation,
> --delete-generations
> (process-generation-change): New function
> (guix-pull): Execute generation management operations
>
> * doc/guix.texi: Document the generation management operations

Cool, applied!

I think the main reason it hadn’t been done before is laziness, at least
as far as I’m concerned ;-), so I’m glad you took the time to do it!

> I have been working on a tutorial on using Guix for reproducible
> research, which will be part of a MOOC on reproducible research.  In
> that tutorial, I focus on using "guix environment" with manifest files
> for defining computational environemnts. Next, I introduce "guix
> describe" and "guix pull -C" to document the version of Guix that has
> been used.
>
> At the very end, I use a roll-back to undo the effect of "guix pull -C".
> At that point, I had to introduce "guix package" that I never used
> before, and also the concept of profiles that I hadn't needed so far
> either. All that just for a roll-back!
>
> It is of course nice that internally, the same profile management code
> is used for Guix and for installed packages, but I don't think that
> users should have to know about that. Moreover, users shouldn't have to
> memorize the path of the Guix profile either. With the patch I sent,
> Guix generations are entirely managed by "guix pull".

That makes perfect sense to me.

It’s great news that the MOOC will be talking about reproducible
research!

Thank you,
Ludo’.