Dear, On Thu, 11 Jun 2020 at 10:40, elaexuo...@wilsonb.com wrote: > In an attempt to tar up the *build* environment for a package to share with a > colleague, I encountered this: > > [env]$ guix pack -m $GUIX_ENVIRONMENT/manifest > (manifest ...): Wrong number of arguments > > From playing around a bit, my guess is that the `<profile>/manifest' files are > just human-readable serializations of <manifest> objects and don't deserialize > back: > > $ guix environment -m ~/.guix-profile/manifest > (manifest ...): Wrong number of arguments
It is more "complicated" than that. The detailed explanations are in the mega thread. :-) In short and from my understanding, going from "<profile>/manifest" to "-m manifest.scm" cannot be done in the general case because two concepts -- imperative vs declarative -- are not well aligned. Pragmatically, it means that the result could be more than often unpractical with too much inferiors. Well, only an "approximation" could be exported. Sorry I am too lazy to search, but I think I remember that at the time Pierre sent -- probably in the mega thread :-) -- a small script to extract relevant information from <profile>/manifest; the preliminary for '--export-manifest'. :-) Otherwise, let open <profile>/manifest, write an Emacs macro and extract the relevant information. ;-) Well, because I hit the same problem some time ago -- well when I raised or revived the discussion about this conversion -- I fixed for myself by converting by hand some profiles and totally changed my workflow. Now, I never use "guix install" but always "guix package -m". For temporary test, I extend the profile with "guix environment" which is on purpose because it is a temporary profile; if it is worth, I add the package to the manifest file. (Sometimes, I run "guix install foo -p /tmp/foo" to test something temporary, mainly when I try to figure out an issue that has been reported.) Each time, I run "guix package -m" or "guix update", then I run in the same time "guix describe" and track the output. Well, I have 2 kind of manifests: - the ones of my setup, living under ~/.config/guix/manifests and where I applied some recipe of [1] - the ones of projects I work on, living in the project folder and each manifest is accompanied by channel.scm (guix describe -f). And I have almost no package in ~/.guix-profile but they live separated profiles (Emacs, Python, Apps, etc.). All the best, simon 1: https://guix.gnu.org/cookbook/en/html_node/Guix-Profiles-in-Practice.html#Guix-Profiles-in-Practice