[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Notes from discussion on Quality Assurance from the 10 Years of Guix
From: |
zimoun |
Subject: |
Re: Notes from discussion on Quality Assurance from the 10 Years of Guix event |
Date: |
Mon, 24 Oct 2022 09:34:09 +0200 |
Hi Tanguy,
On dim., 23 oct. 2022 at 17:40, Tanguy LE CARROUR <tanguy@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