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’.
