guix-science
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reproducible Project Environments


From: Ludovic Courtès
Subject: Re: Reproducible Project Environments
Date: Thu, 09 Dec 2021 21:33:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hi Peter,

Peter Polidoro <peter@polidoro.io> skribis:

>>
>> From my point of view, if we are speaking of a project gluing many
>> thing
>> to produce analysis, then a Git repo with:
>>
>>   - manifest.scm containing package set for the project
>>   - channels.scm containing the revision
>>   - all your files
>
> Does 'guix describe - f channels' always return a list of all of the
> user's channels? If I include a channels.scm file in a project, it
> would be nice if it only contained the channels necessary to build and
> run the packages within that project.

Yes, it includes all the channels your ‘guix’ command is using, but you
could easily edit it to remove unnecessary channels.

> Is it possible to use the guix.scm or manifest.scm file when
> generating the channels.scm file so it only includes the necessary 
> channels? Would I need to create a temporary project profile first and
> then use that to filter the channel list?

I think the workflow in general would be:

  1. Write ‘manifest.scm’ (or ‘guix.scm’).

  2. Run ‘guix describe -f channels > channels.scm’.

  3. If you know that ‘channels.scm’ contains more than what’s strictly
     needed, remove it.

In theory it should be possible to automatically determine from the
manifest which channels are definitely required, but there currently
isn’t a command to do the filtering in step #3 for yourself.

HTH!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]