Hi,

zimoun <[email protected]> skribis:

> On Mon, 23 May 2022 at 17:42, Ludovic Courtès <[email protected]> wrote:
>
>> Exactly!  ‘guix pull’ profiles are entirely reproducible: we can rebuild
>> them from the output of ‘guix describe’.
>>
>> So ‘guix gc’ (or something) could automatically remove old generation
>> symlinks and instead store the output of ‘guix describe’.  That way,
>> ‘--list-generations’ or ‘--switch-generations’ could transparently
>> display the info or rebuild the generation.
>
> I have in mind to remove all except the manifest file.

[...]

> Or maybe, it is easier to remove as today but save the relevant
> information elsewhere.  WDYT?

Yes, that ‘manifest’ file would have copied elsewhere (we can’t just
remove part of what’s in a /gnu/store directory).

> Today, I manually store the output of “guix describe” before I
> manipulate a profile.  This channels.scm output is tracked by Git as
> part of my project.  Then I run “git log” to find the previous state of
> interest and go back using,
>
>     guix time-machine -C channels.scm -- shell -m manifest.scm
>
> which is fine and works well.  Probably the good practise. :-)
>
> Instead of this external tracking, I would like to allow this workflow:
>
>     guix package -p project --list-generations
>     guix package -p project --switch-generation=12
>
> whatever the sysadmin collect about the old generations.

Do you expect ‘--list-generations’ to look at older revisions of your
version-controlled ‘manifest.scm’?

Ludo’.

Reply via email to