From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id kPidAezVg2aZCAAA62LTzQ:P1 (envelope-from ) for ; Tue, 02 Jul 2024 10:26:52 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id kPidAezVg2aZCAAA62LTzQ (envelope-from ) for ; Tue, 02 Jul 2024 12:26:52 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=fabionatali.com header.s=gm1 header.b=AoM0Kj7v; dmarc=pass (policy=reject) header.from=fabionatali.com; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1719916012; 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=q6Z0Yyc5VwuYyvAXgQ3+EBbjunnQOMpW7DheBb/5aQc=; b=cy/rkHeCpJYh+fi5gSQsyeso1c/bh5ofl7LD3TrX9MwaVrwpKZL1WpBBx94V7eLyNFUJnq A+uQmG/3vEV9y0LpSSdjlRqTr8VQRq5/UcUvmVtOUZDfBq8FUrAuB7S2aO1ujzvIiTOC1J d+0P+1smUVc/EY4URE9yjKrLQmXPzeFUN/9THYDxZx+omqSFi84k52Fpm6ZHt8M1EF2HT4 7KIre5Lpxoz4oI4EEtWvEmX9UMsPgB6vgkZYPZiqpBy4jlBCvQKF7u1ZtfUhObgzjPtTiH x5nCuisKWaeJJ6sFePwykvYew9wprSH72iql+TFqrQrV5uSS9t8+3Eu169vchQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1719916012; a=rsa-sha256; cv=none; b=ACi6vV7tyI08J0FRTSaOiAcPtdSTUuq8lfd+V33XSCEp8+9NlR8jyAz31N++PGxPrk0rPR TO4VhhxoCNZhaSkm1V+QJpA0BEBfnIWTOZtknT67VC/rN+ACISQD1cczn4JKnZBswJjqDZ UY3HSWMGnCbCYB5z5orSlm3Um/6DV/lsjTI/CfPr88NwlVEF7rZIwXON5W072dfVeOeLfl bQA5khi1Q6G2yFTiSF6AotJcpHVMer4YWwiWgKKjI7m+fRt+BGbAs+xe77Tv1B+vjt5L+a FD0+aDvRoeBxL3GZuSfuRFoknH9F+zNXwqNMkspKytFCBesGxOw7dCkSmO/J9w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=fabionatali.com header.s=gm1 header.b=AoM0Kj7v; dmarc=pass (policy=reject) header.from=fabionatali.com; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" 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 A30451C96D for ; Tue, 2 Jul 2024 12:26:51 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOaiO-0002GP-RR; Tue, 02 Jul 2024 06:26:24 -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 1sOaiM-0002GA-Qn for help-guix@gnu.org; Tue, 02 Jul 2024 06:26:22 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOaiJ-00066y-VJ for help-guix@gnu.org; Tue, 02 Jul 2024 06:26:22 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 6C4311BF20C; Tue, 2 Jul 2024 10:26:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fabionatali.com; s=gm1; t=1719915976; h=from:from: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; bh=q6Z0Yyc5VwuYyvAXgQ3+EBbjunnQOMpW7DheBb/5aQc=; b=AoM0Kj7vV7+5hvjWiP3nPkgKX31ks18dCg9GD731s9MX6AHiQOASJj8+FHoO6z5CfZbk3j g/FIzkY/OWcjyof82f1tcswU6n0TEriIxG5gZT5Fk+Yw2Tc+aukZc27rpW28dJ8fnBrNKD OEppWXN5bZJ1P35RREqGDNBFOmmTyx4xVxXtbjBOug42gGxrom8+5YNwB9mXG06Ausvj9d cch/vh+Gcymr7cfAA9KRVNlwfcTU48HzGGgrBRM1E7w5PJwmdULDi5NKOvx7rCIifxm2bv XFPLyP7UY1U+35TSkubtzx5g3FMWOUlq3ftvv+ZrUELiIatl2HG77MW59SW9QQ== From: Fabio Natali To: Richard Sent Cc: help-guix@gnu.org Subject: Re: A Guix Home service to group together various email services In-Reply-To: <875xtodams.fsf@freakingpenguin.com> References: <871q4d9hjx.fsf@fabionatali.com> <875xtodams.fsf@freakingpenguin.com> Date: Tue, 02 Jul 2024 11:24:00 +0100 Message-ID: <87r0cc8533.fsf@fabionatali.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-GND-Sasl: me@fabionatali.com Received-SPF: pass client-ip=217.70.183.201; envelope-from=me@fabionatali.com; helo=relay8-d.mail.gandi.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: A30451C96D X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -9.87 X-Spam-Score: -9.87 X-TUID: vUnUlB5Hrfaw Hi Richard, Thanks for taking the time and getting back to me. =F0=9F=99=8F On 2024-07-01, 18:12 -0400, Richard Sent wrot= e: >> Anything that you think I'm doing wrong here? Could it be a limitation >> with 'home-msmtp-service-type', which doesn't seem to indicate any >> mechanism for extend/compose? > > Yes, I believe that's your problem. I don't see a reason why > home-msmtp-service-type shouldn't support being extended with > additional accounts. I think it's worth a bug or (even better) a > patch. After sending this to help-guix I had the chance to speak to a friend who helped me understand Guix services a bit better. My friend mentioned that I might consider simply aggregating services as lists, instead of by extending them with a "superset" service. Something along the lines of: (define my/email-configuration-files-home-service (simple-service 'email-configuration-files home-xdg-configuration-files-service-type `((...)))) (define my/email-mcron-home-service (simple-service 'email-mcron home-mcron-service-type)) (define my/email-msmtp-home-service (service home-msmtp-service-type (home-msmtp-configuration (accounts my/msmtp-config)))) ... ;; This is where the aggregation happens, via a list instead of by extendin= g the ;; various services. (define my/email-home-services (list my/email-configuration-files-home-service my/email-mcron-home-service my/email-msmtp-home-service ...)) ... (define my/home-environment (home-environment (services (concatenate my/email-home-services ...)))) I think using a list is indeed good enough for my current use case. With regard to patching 'home-msmtp-service-type', I'm glad to look into this but then I'm also worried that the same problem might present again and again across various services. I wonder whether the list-based approach (instead of the service-extension approach) might be a better fit simply because of the way services are designed at the moment? > I'm surprised it's possible to extend a service that doesn't support > extensions. In my opinion we should throw an explicit error instead of > silently ignoring the extension. I reported this as a bug [1]. Yes, the fact that the reconfiguration went through with no error was indeed a bit puzzling. Thanks for filing the bug report. Best, cheers, Fabio.