Hi Tanguy, On dim., 23 oct. 2022 at 17:40, Tanguy LE CARROUR <tan...@bioneland.org> wrote:
>> guix package --export-manifest > /tmp/my-pkgs.scm >> guix refresh -m /tmp/my-pkgs.scm 2>&1 | ... > > I'm not using manifest (anymore). I used to, but for the time being, I'm using > `divenv` + `guix shell` and I'm quite happy with that setup. Note that the first command above creates the manifest for you. Usually, it works well enough. :-) Well, ’direnv’ + ’guix shell’ but you have a manifest, no? I mean how does ’guix shell’ know what to provide inside this new shell? For what it is worth, I have used similar workflow but I have been bored to run “guix pull”, do some stuff unrelated to ’project’, then later be back on ’project’ and then have failures. Instead, my workflow is splited into 2 ways depending on my phase of the Moon. Either, I create a profile inside the project directory. Either, I use channels.scm + manifest.scm and often run via ’guixify’ script (see below); e.g., guixify foo # run foo using the Guix environment guixify # enter in the environment Maybe, ’direnv’ would do a better job. The good point is that channels.scm and manifest.scm are included in the Git tree of the project. And they can be re-used with ’guix pack -f docker -m manifest.scm’ to generate Docker pack that I can share with colleagues. --8<---------------cut here---------------start------------->8--- #!/bin/sh guix time-machine -C channels.scm \ -- shell --pure \ -m manifest.scm \ -- $@ --8<---------------cut here---------------end--------------->8--- Cheers, simon