Hello Richard; yours is a good answer. Let me add: Richard Sent <rich...@freakingpenguin.com> writes: > 1. Guix time-machine. e.g. > guix time-machine --commit=XXX -- package -m manifest.scm > > a. This will create a profile containing the exact packages at that > moment in time, including A@old. > > b. All packages will be at whatever version the corresponding > Scheme package variable is at for that commit. See (info "(guix) > Invoking guix time-machine"). Probably not the best idea to use > long term.
Note that “guix time-machine … -- install” or “guix time-machine … -- build” can be used for individual packages. So repeated time-machine to each package’s commit can reproduce the environment (have not tested it, but should be true). guix time-machine can also take a channel description file instead of a commit, if we are talking about other channels. Also to comment on Mauritz’ question, the @ syntax of guile@2.2.7 has nothing to do with reproducibility. Everybody understood correctly that by A@old, A from an old Guix commit was your intended meaning; I want to clarify this for future readers. Regards, Florian