Hi, Simon Tournier <zimon.touto...@gmail.com> skribis:
> On Sun, 10 Nov 2024 at 12:38, Ludovic Courtès <l...@gnu.org> wrote: > >>> $ guix shell -m manifest.scm --export-manifest >> >> ‘--export-manifest’ is meant to “translate” a command line, which it can >> do faithfully; there’s no way it could possibly “recreate” what >> ‘manifest.scm’, which may contain arbitrary Scheme code (and someone who >> already has a ‘manifest.scm’ file probably doesn’t need >> ‘--export-manifest’). > > Yes, one might need. :-) > > As I explained: « That’s annoying in some context as “guix pack > --save-provenance” [1]. Even, it defeats the idea of a self-contained > reproducible binary container. » I see, but if you have the source ‘manifest.scm’, best practice is to publish it. >> It’s necessarily a lossy process. > > This is where I disagree. :-) You are free to disagree but it’s a fact. > I mean, yes I agree that building profile/manifest is somehow a lossy > process because some Scheme is potentially evaluated on the road. > However, I am proposing: Aside the profile ’manifest’ file (lossy > process), we could store all the manifests provided by the command > line. Something as: > > /gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-profile/manifest > /gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-profile/manifest.orig1 > /gnu/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-profile/manifest.orig2 > … > > where manifest.orig1 and manifest.orig2 are the copy of files ’foo.scm’ > and ’bar.scm’ from: > > -m foo.scm -m bar.scm Hmm yes, maybe ‘guix pack -m manifest.scm --save-provenance’ could arrange to put ‘manifest.scm’ inside the pack, similar to how ‘guix system reconfigure’ inserts ‘configuration.scm’ inside the system. I’m all for it! Thanks, Ludo’.