From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thorsten Wilms Subject: Services, was: Re: XWayland, /tmp/.X11-unix Date: Fri, 30 Mar 2018 18:25:48 +0200 Message-ID: <95c03d9b-b530-4d16-ddb1-a04e2784ce1c@freenet.de> References: <87po3xava2.fsf@elephly.net> <87efk3s8um.fsf@gmail.com> <87po3m41w8.fsf@gmail.com> Reply-To: t_w_@freenet.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33726) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f1wso-00011Y-R4 for guix-devel@gnu.org; Fri, 30 Mar 2018 12:28:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f1wsk-00020n-GX for guix-devel@gnu.org; Fri, 30 Mar 2018 12:28:06 -0400 Received: from mout0.freenet.de ([2001:748:100:40::2:2]:38704) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f1wsk-0001xt-8r for guix-devel@gnu.org; Fri, 30 Mar 2018 12:28:02 -0400 Received: from [195.4.92.141] (helo=mjail1.freenet.de) by mout0.freenet.de with esmtpa (ID t_w_@freenet.de) (port 25) (Exim 4.90_1 #2) id 1f1wsg-0001QJ-P1 for guix-devel@gnu.org; Fri, 30 Mar 2018 18:27:58 +0200 Received: from [::1] (port=35914 helo=mjail1.freenet.de) by mjail1.freenet.de with esmtpa (ID t_w_@freenet.de) (Exim 4.90_1 #2) id 1f1wsg-0001zF-L0 for guix-devel@gnu.org; Fri, 30 Mar 2018 18:27:58 +0200 Received: from mx3.freenet.de ([195.4.92.13]:50174) by mjail1.freenet.de with esmtpa (ID t_w_@freenet.de) (Exim 4.90_1 #2) id 1f1wqb-0000Nq-AE for guix-devel@gnu.org; Fri, 30 Mar 2018 18:25:49 +0200 Received: from p200300e4f3cf1b0002e029fffe32e625.dip0.t-ipconnect.de ([2003:e4:f3cf:1b00:2e0:29ff:fe32:e625]:34524) by mx3.freenet.de with esmtpsa (ID t_w_@freenet.de) (TLSv1.2:ECDHE-RSA-CHACHA20-POLY1305:256) (port 465) (Exim 4.90_1 #2) id 1f1wqb-0007tD-6E for guix-devel@gnu.org; Fri, 30 Mar 2018 18:25:49 +0200 In-Reply-To: <87po3m41w8.fsf@gmail.com> Content-Language: en-GB 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+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: "guix-devel@gnu.org >> Guix-devel" On 30.03.2018 06:34, Chris Marusich wrote: > I hope to eventually go back and improve the services > documentation further in the manual, once I feel I have a strong enough > grasp of how it all works. A few thoughts then, that I hope will be of use: Initially, I had a hard time understanding the talk about "extending", as the first snippets I looked at seemed rather like adding items to todo-lists. The 2nd paragraph on https://www.gnu.org/software/guix/manual/html_node/Service-Composition.html makes it clear. So it appears to me that the core of this is that there are daemons and procedures that attain and control capabilities. Since there may be any number of things-to-do dependent on operating-system configuration, requiring access to those capabilities, a DAG is constructed and flattened to arrive at daemon configuration and executable procedures. One aspect that makes reading the docs hard are the multiple meanings of "service" and the rather unspecific "service type", I think. Makes one think of Smurfs. In fairness: it seems hard to avoid ... maybe: Could we try to reserve a naked "service" to refer to daemons and procedures with effects on the operating system? The things that go into operating-system/services are ... service-building-blocks, latent services, service-parts, proto-services ... OK; not terribly satisfying. It is mentioned that service types are the nodes in the services DAG. Thus they could have been called service-nodes, which would have avoided confusion with those other *types* of services: ... printing s., desktop s., database s. ... . Here I notice that I don't quite get how service-types wrapped in services in a list of services map to a DAG. I see 2 main uses cases regarding the documentation: A. Trying to understand the whole system. B. Trying to accomplish a specific task and looking for just the required information. The given descriptive nature of the documentation so far is alright for A. To serve B, you'd have to work along questions like: - Is what I'm trying to accomplish within the scope of services? What are their capabilities and limitations? (A case like adding files to /etc might not come to everyone's mind.) - What is the nature of what I'm tying to do, regarding time of execution, capabilities, dependencies and permissions? Here an overview of what service-type allows what?, when?, would shine. -- Thorsten Wilms thorwil's design for free software: http://thorwil.wordpress.com/