On Fri, 19 Jun 2020 at 11:52, elaexuo...@wilsonb.com wrote: > You emphasize that declarative package management with "manifest.scm" is the > way to go. I agree but wanted to point out that > > $ guix package -m manifest.scm > > produces a different /gnu/store/<hash>-profile, depending on when it's run (or > more precisely, depending on which channel commits guix resolves for the > invocation).
Yes, but AFAIU the correct is: guix describe -f channels > channel.scm guix package -m manifest.scm then later or elsewhere, reproduce with: guix time-machine -C channel.scm -- package -m manifest.scm > You know that, of course, but the point I try to make is that "manifest.scm" > and "channels.scm" are *not enough* to uniquely determine a specific > /gnu/store/<hash>-profile. We need to separate out the concepts of > "declarative > profile management" and "deterministic profile regeneration." Do you have examples? I am not sure we are talking about the same channels.scm file. I guess, you have in mind ~/.config/guix/channels.scm but it is not the one of interest for reproducing. You need the real one, i.e., "guix describe -f channels". AFAIU, manifest.scm+$(guix describe -f channel) is enough to have "deterministic profile (re)generation". If not, it means there is a "bug" in Inferiors or I miss something. All the best, simon