From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id uHysNylosmGAcQAAgWs5BA (envelope-from ) for ; Thu, 09 Dec 2021 21:33:45 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id MOZHMylosmEqbgAAB5/wlQ (envelope-from ) for ; Thu, 09 Dec 2021 20:33:45 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 74C9E71A2 for ; Thu, 9 Dec 2021 21:33:45 +0100 (CET) Received: from localhost ([::1]:34592 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mvQ6q-0007pz-KN for larch@yhetil.org; Thu, 09 Dec 2021 15:33:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42616) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvQ6m-0007pd-Vj for guix-science@gnu.org; Thu, 09 Dec 2021 15:33:41 -0500 Received: from [2001:470:142:3::e] (port=57236 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvQ6m-0007Az-DK; Thu, 09 Dec 2021 15:33:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=cyj4TL5Tp5d0BJNQpBwRw/R++jyI/Bw75asIlTpVRkI=; b=QKET5cvnmhnHQZBOxapK ciuon9q0m01xgfWpGpjT6ughFuw/KlhruhQ1/O6+iRABtnrjtEkbjRbQD7nk1RMLudBASJuwK92Hi YsUPC6/8KTZKLY5VHWVapcTpMzaFYx1/u8yR4NKVHGGFclQg2JQsFbmG5j6SXJfB9fxrzYrVy+Qi7 vk5SrllwDwlToxg7hXTXJhCtHq9kPiFPNBigwBHYmNZWtu06i9SZAFU3NTCHrZa37dtZ8CPHYOkdF N5P9kvcXX+y63usLhmLQjwdro+eahzsbzPiASNxTJ4T75wj5Su6PuhsqoHRN0wHz0MENAxDG7+EO/ nvyzzb6ivlNTWg==; Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=37120 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvQ6m-0004Yo-B2; Thu, 09 Dec 2021 15:33:40 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Peter Polidoro Cc: zimoun , guix-science@gnu.org Subject: Re: Reproducible Project Environments References: <86lf0x3f9c.fsf@polidoro.io> <86fsr5oela.fsf@gmail.com> <867dcfw3km.fsf@polidoro.io> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 Frimaire an 230 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 09 Dec 2021 21:33:37 +0100 In-Reply-To: <867dcfw3km.fsf@polidoro.io> (Peter Polidoro's message of "Wed, 08 Dec 2021 09:30:34 -0500") Message-ID: <8735n1frha.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-science@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-science-bounces+larch=yhetil.org@gnu.org Sender: "Guix-Science" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1639082025; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=cyj4TL5Tp5d0BJNQpBwRw/R++jyI/Bw75asIlTpVRkI=; b=lnBIxptsHxoRKz1KnJSwbqIi9LwOVelOryYlYj824xQEInO5JdTXsupUvatrPmAK6c+z4L OE1Njru+6GmHcD/QNOGmtOLrRIyBcwXis7rhIVVskC3txPYgZVQKUkfiQVFgb7nKPSAjel 2gKdgWOn8CPzsM4E6Chc+kSbGbs66w2LhcNDi+qoKaPALrzla5gQNRNmkBMbWmZ3Jvdr26 o9Gp3RK9G6WCKqdtLFjxJLRgMVNjZT58ZRkRCRakCgMXciGm+z8X4vP9gsJvq/e+gkL5j6 W/vY5MGpavwl/EQ1MgbmEtGj67uIEFNDfumUZXPfybVItzslQIW0jnT59M+x4Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1639082025; a=rsa-sha256; cv=none; b=u26HQlQa+74BED9FCXLqTrT6UbQBmcHLzqPkzVYE9KyV8YpbPJeR8x1leg2vDh5dkXFkG6 XtY3Xdsw2/1ExXlnRvtLowZCmRcOYF24+F24qazJIoIxy8lbkqNBvlazKfOvpZezIgJnwk d1UBssNjuYe8D30T16zvg4XnL/io8t3oFQpcdvjFNuj5nhGi30T+8RtNJjdSwefyevLkXU h+5cV7ec4DzFgDIpVQ2Le5AjOco0Gymj2n9QmG6A+EY30HpybQEqZTm/kKPQVvrUlkEL4X Lmk7lZ1kIqqYoT20vj91Sck5e+uPnd3r4MQ23v38+SpuwJKH6dVpZ51Gz22Q7g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=QKET5cvn; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-science-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-science-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.36 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=QKET5cvn; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-science-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-science-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 74C9E71A2 X-Spam-Score: -5.36 X-Migadu-Scanner: scn1.migadu.com X-TUID: CsurHAv7LCQG Hi Peter, Peter Polidoro 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 =E2=80=98guix=E2=80=99 command is us= ing, 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=20 > 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 =E2=80=98manifest.scm=E2=80=99 (or =E2=80=98guix.scm=E2=80=99). 2. Run =E2=80=98guix describe -f channels > channels.scm=E2=80=99. 3. If you know that =E2=80=98channels.scm=E2=80=99 contains more than wha= t=E2=80=99s 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=E2=80=99t a command to do the filtering in step #3 for yourself. HTH! Ludo=E2=80=99.