From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id iMZUL7zBzF66YQAA0tVLHw (envelope-from ) for ; Tue, 26 May 2020 07:14:04 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id gOkaK7zBzF4FEQAAbx9fmQ (envelope-from ) for ; Tue, 26 May 2020 07:14:04 +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 7DD279401AD for ; Tue, 26 May 2020 07:14:04 +0000 (UTC) Received: from localhost ([::1]:58166 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jdTml-0006M9-FA for larch@yhetil.org; Tue, 26 May 2020 03:14:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40170) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jdTme-0006Lb-B3 for guix-devel@gnu.org; Tue, 26 May 2020 03:13:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38200) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jdTme-00033a-1u; Tue, 26 May 2020 03:13:56 -0400 Received: from [2a01:e0a:fa:a50:e5d3:131c:4654:9823] (port=55194 helo=meru) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jdTmc-0001kD-Sb; Tue, 26 May 2020 03:13:55 -0400 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: Providing a Guix System images catalog. References: <875zckvxp3.fsf@gnu.org> <871rn7hhl6.fsf@gnu.org> <87pnarr7ka.fsf@gnu.org> Date: Tue, 26 May 2020 09:13:51 +0200 In-Reply-To: <87pnarr7ka.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 26 May 2020 00:08:53 +0200") Message-ID: <871rn7w4ls.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: -1.01 X-TUID: PqU2XvmXvSK9 Hey, >> That's pretty nice! > > +1! Thanks to both of you for your quick feedback! >> I wonder about how this composes; if I'd want to add say a guix-daemon >> service to the bare-hurd, how would I do that? > > How about leaving the =E2=80=98operating-system=E2=80=99 field of = to #f or some > default value, and then filling it in with the argument passed to =E2=80= =98guix > system=E2=80=99? > > Or better: at the API level, we=E2=80=99d look for an =E2=80=9Cimage cons= tructor=E2=80=9D (or > =E2=80=9Cimage type=E2=80=9D), not an image, where an image constructor i= s a procedure > that takes an and returns an . In practice, > you=E2=80=99d wrap that in with a =E2=80=98name=E2=80=99 fie= ld so you can still > look them up by name. This sounds fair. However, I would still like that: * The operating-systems are stored elsewhere than in an "examples" directory. =20=20 * The "image" command could use a default operating-system that we are building with the CI, and making available on Guix website. What about having a: --8<---------------cut here---------------start------------->8--- gnu/system/images/hurd =E2=94=9C=E2=94=80=E2=94=80 hurd-bare-bones-os.scm =E2=94=94=E2=94=80=E2=94=80 hurd.scm --8<---------------cut here---------------end--------------->8--- hurd-bare-bones-os.scm would contain an operating-system with the "image-type" set to the image contained in hurd.scm. Conversely, the image in hurd.scm would point to the default operating-system, that could be the one in hurd-bare-bones-os.scm. Then, the user could type: --8<---------------cut here---------------start------------->8--- guix system image hurd-disk-image guix system disk-image hurd-bare-bones-os.scm --8<---------------cut here---------------end--------------->8--- and have the same result. We could also allow: --8<---------------cut here---------------start------------->8--- guix system image hurd-disk-image --with-os hurd-bare-bones-os.scm --8<---------------cut here---------------end--------------->8--- to override the default operating-system. WDYT? Thanks, Mathieu