From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id wIBUM7Uzq2JZvgAAbAwnHQ (envelope-from ) for ; Thu, 16 Jun 2022 15:44:21 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id QOJpMrUzq2KFHAEAG6o9tA (envelope-from ) for ; Thu, 16 Jun 2022 15:44:21 +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 4BEF5EE0 for ; Thu, 16 Jun 2022 15:44:21 +0200 (CEST) Received: from localhost ([::1]:38936 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o1pnI-0001c5-DK for larch@yhetil.org; Thu, 16 Jun 2022 09:44:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57752) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1pmX-0000q1-Ix for guix-devel@gnu.org; Thu, 16 Jun 2022 09:43:33 -0400 Received: from coleridge.kublai.com ([166.84.7.167]:63990 helo=mail.spork.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1pmV-0005e6-Ep; Thu, 16 Jun 2022 09:43:33 -0400 Received: from ditto (ool-18b8e9e7.dyn.optonline.net [24.184.233.231]) by mail.spork.org (Postfix) with ESMTPSA id 958772EBC; Thu, 16 Jun 2022 09:43:10 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=spork.org; s=dkim; t=1655387010; bh=GZoXN6aThoDEYtgps38+OPg7RRx8mLUIKWSPWh+oWek=; h=References:From:To:Cc:Subject:Date:In-reply-to; b=pPZoo72lL+/LdsUY5l2LCHrFhBmmU+3w8IlsS8hJtbkmy+VL/tfDF4ft/+1ARMJqq qBP9lyvYgXabAo0ODhGcsmHJVSvZIs6w5AFODzoF1aZIbd6IuZdkx5TqeDvsuenppD jPa6TJKubU+die7sNU5u5EGKDBtzEGktWjIe2yzw= References: <87a6as62r2.fsf@elephly.net> <87ilpfwmi0.fsf@jpoiret.xyz> <877d5j5vng.fsf@trop.in> <87a666663179c883aaa1797b62c3bcb0084d3ebb.camel@gmail.com> <87bkuuyqf9.fsf@elephly.net> User-agent: mu4e 1.6.11; emacs 28.1 To: catonano@gmail.com Cc: Blake Shaw , Ricardo Wurmus , Andrew Tropin , Josselin Poiret , GNU Guix maintainers , guix-devel@gnu.org Subject: Re: how to write services (was: Re: Teams) Date: Thu, 16 Jun 2022 09:09:48 -0400 In-reply-to: Message-ID: <87tu8krafm.fsf@ditto.jhoto.spork.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=166.84.7.167; envelope-from=bjc@spork.org; helo=mail.spork.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" Reply-to: Brian Cully From: Brian Cully via "Development of GNU Guix and the GNU System distribution." X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1655387061; h=from:from:sender:sender:reply-to: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=4vX2POaPXdO7BZMuRWdi428SJQVCte16LNV96hzVGMo=; b=GaF3aaDi+sol0jxxS+8vgsLKMvzTJWd8y3852zs4NMp9wOgnzP1vH5N53SIuwKX28FBdbB IrnlGILPVqw4QQZIeBpH4iaI+0tO6U1S6qg7LoM4FG9+a/lp5aXJ2FdTDFVJTtt4BjpPMn 6Je8fKgC6+2GaFOV0cT+wf2qsxJRwOxA52GYXuQDY7lShjG3xLyHtk8SdAS9LIqzIfNUiH N/dy0PGSideUF27SWl7lKu0UJ7iLP9Mxh6GpOD5bnnMBaaVCxPHPaxfzZgJ//to++xigDs SBAqSbLtDm+n37HPGElI1tC2fbiyun06cULXrB800TMHVM1yR671UXTxo5+Prg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655387061; a=rsa-sha256; cv=none; b=ryHGL6jy7T3wS4JIZxs7YRmXyxoYkATC10ZElPzJzukaiFSS0V4XJYXx3z9DrdDiLxeNYG Ck/yF7DMY+Nn/gDJY+9xIG6DicmSCibe1McN4UUdW8UjmMOu3rGoOwnEi62Xao9RpWsuTY dGn37P0SQpGFGi3ePNcUHBcD2CdeQluzF36luPsR1QwZKoU6Y5/PyS0BNz8O4r8Fc5s3kb O/5M1EB0+d2hbqvpZOrpW7Axy9YHskLrDSK123qWRXei8ddkAYUAtHoKpfqTPKIzPIzYwb aMlJ6YyqgBbTxi91okF6TTWpQ3C7xg+joz8FyPTq/fdrLk28ejf6ay9Pi5vcfg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=spork.org header.s=dkim header.b=pPZoo72l; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.29 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=spork.org header.s=dkim header.b=pPZoo72l; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 4BEF5EE0 X-Spam-Score: -3.29 X-Migadu-Scanner: scn0.migadu.com X-TUID: TsCwzy4Uj02E catonano@gmail.com writes: > I asked for indications about the process (what magic to use in=20 > the > REPL) My experience with Guix, in general, is that the REPL isn't=20 particularly useful for any task beyond very simple testing (eg,=20 what are the contents of =E2=80=98%base-services=E2=80=99). It's a shame, b= ut I=20 suspect it's like this because it's hard to make it more=20 functional, and there are more important problems to work on. Even=20 though I would much prefer to do almost all work with a REPL, I=20 have not invested the effort into figuring it out because I don't=20 have the time or expertise, currently. I can't fault anyone else=20 for making similar choices. > This should be covered in the cookbook I agree. The cookbook could use a lot of work. Guix's=20 documentation suffers in the middle ranges. There's a lot of very=20 high level overview, and all the low level bits are reasonably=20 documented, but there's very little on how to integrate them. If we were building a house, it'd be like having instructions that=20 say: our house is made out of rooms. Then being given a bill of=20 materials for all the different types of nails, boards, etc that=20 can be used to build a house. There's no (or almost no)=20 instructions for how to use those parts to build the shepherd=20 service room, or how to connect the activation plumbing,=20 etc. Unfortunately, those are the instructions that are most=20 important, I think. I have been keeping notes on my process of learning Guix in the=20 hopes of starting something along these lines, but I'm not sure=20 I'll ever have the time to get around to it; and I'm not much of a=20 writer, besides. > In fact Tryton modules are not python modules and there's a=20 > patch > modifying how Tryton retrieves its modules in Guix > > Yet there's no service for Tryton This is the case for many packages. The good news(?) is that you=20 can create your services your operating system config, and if you=20 can get them working acceptably, send a patch. > I think the friction on how to write a service is not in the=20 > semantics > involved > > It's more menial See above: there's no documentation for assembly. Everything I've=20 learned was from studying the source. > As I'm writing this, I noticed someone replied to my toot > (here > https://tines.spork.org/objects/a2ff7376-c9a2-4bbd-9307-a5374571edb4=20 > ) > > as you can see, they also noticed a difference in the experience > between creating home services and system services I wasn't following this thread at the time, and didn't know=20 whether you were talking about shepherd services or not. In terms=20 of shepherd services, yes, there's quite a difference (maybe it=20 would be a good idea to define a generic service type, akin to=20 =E2=80=98home-shepherd-service-type=E2=80=99 that only extends the=20 =E2=80=98shepherd-root-service-type=E2=80=99 with a shepherd service?). As = I said=20 there, if you have questions, feel free to ask! I may not be able=20 to write the cookbook/how-to that I want to, but I can try to=20 answer questions and share what little knowledge I do have with a=20 fellow neophyte. However, for the types of services you'd add to the =E2=80=98services=E2=80= =99=20 slot of the home/operating-system config, I don't think there is=20 much of a difference; or maybe none at all. > Guix is being successful, these days but that's an exception in=20 > the > free software world and more so in the GNU world I'm happy that Guix is growing, and more people are using it and=20 adding to it (I'm a recent adopter, too!). But I think it's still=20 a niche distribution, and it shows in things like the=20 documentation, the builds breaking, old or broken packages, etc. I want to be very clear on this point, though: I don't blame=20 anyone for this, and I don't mean to downplay anyone's work=20 because of these problems. Creating and maintaining a=20 distribution, especially one as different as Guix, is a tremendous=20 amount of work, and it's frankly incredible how well Guix does on=20 such a small core crew. It's simply impossible to have the same=20 level of polish as a bigger, more established distribution, with=20 an order of magnitude (or more) contributors. > I have a job now (and it has to do with Odoo), I also train in a=20 > gym, I > like to spend the free time I have on the beach (as it's evident=20 > from > my presence on the fediverse) so I don't know it's not like I=20 > have any > slots to assign to attempt this We're, all of us, in a similar situation, and we're few in number=20 (relatively), with a lot of work to do. I think this explains the=20 state of Guix more than anything else. -bjc