From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id WOlkNt0CD2WrOQAAG6o9tA:P1 (envelope-from ) for ; Sat, 23 Sep 2023 17:23:10 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id WOlkNt0CD2WrOQAAG6o9tA (envelope-from ) for ; Sat, 23 Sep 2023 17:23:09 +0200 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 3E6C345907 for ; Sat, 23 Sep 2023 17:23:09 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=hRQF4bMt; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695482589; 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:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=fKrtwjof7UxFDgmEKKIzkDcLrtGAu/v/x1R0zNwoVHA=; b=WRXoBpq0a5Fd6FylFfWE4mpo5hnLaHWYKYwqTiYbUU5OWDJh2DTfSW0u4oVReIFxMMgbaf 30imK4J7RS2yQT5kAQlQMJNAqe7bptgkvyfP7D1WUmet/qMPdw7T5W0JxQ7FC4fIvh6i8g Nzpwpl522m9qFEYbgyvy607MKnda9gQi0B/6oyiL4wpEVAcQ/IW3ISO9wOayFwlipLMw2c zLKKYLCPZJLXcV6cL9Qoaqb+gzOfDfYn1PqyGAI0nHccs8133af3cQt19Cf1CgN4Bbx6Bd AR3qzgD93I7EiYqtFyugloC2T67d6skIFlcpKSu7/yWnlP3TDL3WGkE2LeO3mA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695482589; a=rsa-sha256; cv=none; b=sxIFr3Pn7T/VcXUoWT/5ECiotcmc9ucyiNwXP/JELZL4ox4LZ0D/IS+DTGuT4hi8gMSVLR OczBfr+O3uvs6fKvKDFeiZ2rFk9TjfRVeaOyEJttbGlr/muoaxP3ICCR3bIJXkjxalCTf0 mPqvWm+29zD2bKhfo8q6Uva3/p9FOyHoJG6zTNTpbU5nRpydWjAYVjRGCed/BBHTeNt8Uf w3sri2Uw+wQI2nST/OmUl24HibXSHjJVuxYUmfXFTN55loEi1A3bHFUFvprMwuH8utNEvr cXu1ThtgEWxqReI5ttib2PkbtVFNWNDsDCGbA0RSXjVBXr8dyKzvwzaxLIzZQg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b=hRQF4bMt; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qk4T9-0001rH-4y; Sat, 23 Sep 2023 11:22:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qk4T7-0001r6-9J for guix-patches@gnu.org; Sat, 23 Sep 2023 11:22:53 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qk4T5-0006jU-PE for guix-patches@gnu.org; Sat, 23 Sep 2023 11:22:52 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qk4TG-0003xk-KF for guix-patches@gnu.org; Sat, 23 Sep 2023 11:23:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#63985] [PATCH v3 00/11] Service subsystem improvements Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 23 Sep 2023 15:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63985 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Bruno Victal Cc: 63985@debbugs.gnu.org, ludo@gnu.org, maxim.cournoyer@gmail.com Received: via spool by 63985-submit@debbugs.gnu.org id=B63985.169548257515216 (code B ref 63985); Sat, 23 Sep 2023 15:23:02 +0000 Received: (at 63985) by debbugs.gnu.org; 23 Sep 2023 15:22:55 +0000 Received: from localhost ([127.0.0.1]:40323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qk4T9-0003xM-70 for submit@debbugs.gnu.org; Sat, 23 Sep 2023 11:22:55 -0400 Received: from mail-lf1-x142.google.com ([2a00:1450:4864:20::142]:49461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qk4T4-0003x7-Jj for 63985@debbugs.gnu.org; Sat, 23 Sep 2023 11:22:53 -0400 Received: by mail-lf1-x142.google.com with SMTP id 2adb3069b0e04-5041cc983f9so6079743e87.3 for <63985@debbugs.gnu.org>; Sat, 23 Sep 2023 08:22:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695482553; x=1696087353; darn=debbugs.gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=fKrtwjof7UxFDgmEKKIzkDcLrtGAu/v/x1R0zNwoVHA=; b=hRQF4bMtzeE9ZE6+AXcDlZF1xCiSmxegOPP0WlL+B7St7q9LZjtiAEkaUg38i1jUHQ uDH+Gd7+oo+hA+QIlzignlusdjvpluzMO+8qYTls2GJd+VdGDQuy+t9VQMU9hy1fzlZb 61T9FgXxTmFRfGLq0HKWkWKr2UEcJ24pa4Z4JSCf+J/RKVQr5wfX95cwFpz2cPPLxWE8 FpAp8axrVqp64QWJqfCXgVoczH/5xy3cTsSNUO6K2E+F/KP0XuPNzCI7yww/ITrRa+oH pV05GVf1G1sjyep+fELXArDS8rxqzJGf6TjP6Uj17RQiPR78fwVOTSSjCwGaiJwOwCK0 8hyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695482553; x=1696087353; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=fKrtwjof7UxFDgmEKKIzkDcLrtGAu/v/x1R0zNwoVHA=; b=MJgMLEZ6eMIBtqswqbWY1YLwJ6eBNsrEBQlN6e/CNk+mb1jBFvdDgAFRTOQtMZp3J0 6ZbM8wyN/9GNWvVOa3nlUkATbH18XlumW12+4VuRpljBShKXCraMdKS2kMf3T6ArFSGC kvIsUxgQgAQJUGTFg2YOy7LxQc4hBVl+67Yihty7HVUXJtXjvQyZL58Ud7zSMUoTARCN FQ3hDdGkvYJcAHyievc1zOMEZuM1HxUsN3G3yfS0eGcsrAEgnENia7prDhcjK6479Kl8 3UlnxAnmxzBvJotbbYHmUgxD5zeDm/dSMysGu7lQQD0hLxW+Ofud7dZTm0+Ay4Nf3sO4 Z5DA== X-Gm-Message-State: AOJu0YwAktlH9q61icinOFUQYoHm6idHa6shcr/BMRZWoCX2oY2bA5ZB 3+DBqYfLrSFkaggV3FRFUag= X-Google-Smtp-Source: AGHT+IEnCp60RBeTsaWgmdvsoIQc3FQsrhCGGoh3EG16N8o552QdBIAS2TuDCaM0skOtDpCZBrq8BQ== X-Received: by 2002:a19:6756:0:b0:500:b88c:ea79 with SMTP id e22-20020a196756000000b00500b88cea79mr1908540lfj.54.1695482552996; Sat, 23 Sep 2023 08:22:32 -0700 (PDT) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id w22-20020a056402071600b0052e1783ab25sm3444311edx.70.2023.09.23.08.22.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Sep 2023 08:22:32 -0700 (PDT) Message-ID: From: Liliana Marie Prikler Date: Sat, 23 Sep 2023 17:22:29 +0200 In-Reply-To: <43394365-673f-4058-a11b-74cfef202e30@makinata.eu> References: <5613dc86-54ac-4bdb-b75a-400b1cb124bf@makinata.eu> <6445e508cbc8a9f92d3a54263193936d168cd7cf.camel@gmail.com> <43394365-673f-4058-a11b-74cfef202e30@makinata.eu> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Spam-Score: 4.23 X-Migadu-Spam-Score: 4.23 X-Migadu-Scanner: mx1.migadu.com X-Migadu-Queue-Id: 3E6C345907 X-TUID: Ux/hHCiCJEhy Am Samstag, dem 23.09.2023 um 14:35 +0100 schrieb Bruno Victal: > On 2023-09-16 22:55, Liliana Marie Prikler wrote: > > I'm not sure whether serializer options really add much value.=C2=A0 Yo= u > > can use functional programming to define serializers for you and > > pass those options in a cleaner way IMHO.=C2=A0 The documentation shoul= d > > be updated as the changes are made.=C2=A0 As for the switch to SRFI 171= , > > I'm not sure whether backwards compatibility with Guile 2.2 is a > > requirement somewhere; if it isn't, that change is probably fine. >=20 > Is SRFI-171 not available in Guile 2.2? > Your last remark surprised me though: is Guix not running with Guile > 3.0? I was the impression that this was the case since otherwise > wouldn't this imply that `spawn' & co. can't be used anywhere? Nope, it was introduced with 3.0. Again, "I'm not sure" meaning "I don't know". Would be nice to have another reviewer check this. =C2=A0 (Looking at CC:) Maxim? Ludo? >=20 > > (=E2=80=A6) The question is how necessary it > > will be for us to maintain our own INI format writer.=C2=A0 > > NetworkManager is one use case, but perhaps we have others (perhaps > > even in the gnome world =E2=80=93 gdm maybe?) >=20 > Certainly there are many applications that make use of INI-like files > for configuration and for INI ones it would be convenient, though I > should caution that there are many things that can look like INI but > aren't: >=20 > * NetworkManager accepts some entries that have append behavior via > 'KW +=3D val' and have repetition. In some cases I think the ordering > matters too. (Since our define-configuration definition for it > doesn't attempt to fully cover every nook and cranny of it I think > using INI here doesn't hurt.) >=20 > * TOML >=20 > * Files that can have leading entries but without a section. These > can be thought to belong to some top level but invisible section yet > the generic-ini doesn't handle these. (yet) >=20 >=20 > There's some assumptions I made while writing generic-ini which make > it not as generic as imparted by its name and as such, it can only be > used in the following conditions: >=20 > * The ordering of the entries and sections doesn't matter. > * Every entry belongs to a section. > * (=E2=80=A6 perhaps more? =E2=80=A6) Some of these look like bugs, others are a result of trying to cover too much. Let's perhaps just cover the simple case of=20 [maybe a section] where will almost always be "=3D" rather than worrying about the specification of e.g. TOML. If needed, a TOML-specific module can hopefully reuse the procedures by which we produce INI files. > >=20 > > (=E2=80=A6) at the point you currently feel comfortable with > > and work from there. > >=20 > > WDYT? >=20 > I'm inclined to write-off the generic-ini though as discussed above, > there's some demand for some kind of INI format writer so personally > I'd be OK with temporarily maintaining this writer if we can really > make it an experiment/true to the word =E2=80=9Ctemporary=E2=80=9D thing.= This would > mean that: >=20 > * It should be only used internally by services living in Guix > repository. I'm OK with going around and reworking/replacing usages > of it when the time comes to retire it/when guile gets this INI thing > natively. (i.e. #:export (=E2=80=A6) doesn't mean that I'm intending it t= o > be used outside of the repo with stability promises.) >=20 >=20 > WDYT? Do you have commit access? The only real place where you can experiment in the (guix) namespace is on feature branches and if you feel like you need to experiment further, I'd recommend doing so. If not, you could roll out a channel with an extension like the one that was uses for (guix home)=C2=B9. You might also want to reach out to guix- devel to try and explain your approach to everyone in terms of how it would simplify writing services. Cheers =C2=B9 I think the Guix Home thing itself shows that you can put technological previews to Guix itself and have them tested (and depended on!) by many. This may or may not be what you want, there sadly isn't a "clean" option.