From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id yLLMEhTggmb9XgAAqHPOHw:P1 (envelope-from ) for ; Mon, 01 Jul 2024 16:57:56 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id yLLMEhTggmb9XgAAqHPOHw (envelope-from ) for ; Mon, 01 Jul 2024 18:57:56 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=fabionatali.com header.s=gm1 header.b=JXDzEKgg; 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"; dmarc=pass (policy=reject) header.from=fabionatali.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1719853076; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=0Ci6BH8oqlpZV09HBls11t5V/A2YVtyossIizlw8ziU=; b=Alr3ev6fWEM49cInEHWrU2CosSy7/Pkuvb9DvafT2Bj2xwgQ13fYFsFKvwYms1neWaqczw h3dgVACNkL/I/MIDfXUOswRrSyUsJhB87JHtzTUYDS4vFl4B5dzGGmI+AdXudmCNlYhicq 3Djvl/wNinznmgRKqOAD/R+2v8pxUUmT/09fWs+LOPl+Y/xdOTzI7G8yI2d3prX5N+Sp5x dBPix7ypXpG37jTu/TCFZYaRtwXqoPPWeKdXB9Q0y4aY51QLU34UsJHLe21iLiqGiXI794 QwQCP+fT+0i6I6vMFdulDHg4CYCcmXwHUvWAAZR9JoP6oyQfjsXmiFNlr0uK4A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=fabionatali.com header.s=gm1 header.b=JXDzEKgg; 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"; dmarc=pass (policy=reject) header.from=fabionatali.com ARC-Seal: i=1; s=key1; d=yhetil.org; t=1719853076; a=rsa-sha256; cv=none; b=NIFJi92OxwKzOeMBvFQNYnHxx1bwum9WZNIpNKvT+JeVtgAvt2FecdvyJPmNlL5xfVD+ic EVDPL0TqFXgZQRvEQHI+o8JYcSWgkH8kwIx70xmRaYbxZsfELy1Q1bHDE3DFRQSe/wJ5R2 Cfs34LsFPvK+Mc2B3Acl+Cp//q0md3AYt3FXu5kBEtKpYB6ae2nc+bFencEK6bLQP/h9XB SH9Ajnv1CTL5KdczsGwRnuvI6vRoYqvFuFlaFKRwZuKGzDapY+JKm0bMA5fTepMpE024AN L2qPL0MTVmQnR71O6/bROKQYwAt440446mqnpRhXdbsIZCwHcFZlOmjjpi6hUQ== 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 26D892356B for ; Mon, 1 Jul 2024 18:57:56 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOKL5-00056u-Ju; Mon, 01 Jul 2024 12:57:15 -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 1sOKL4-00056a-3b for help-guix@gnu.org; Mon, 01 Jul 2024 12:57:14 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOKL1-0004d7-Rw for help-guix@gnu.org; Mon, 01 Jul 2024 12:57:13 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id D303720002 for ; Mon, 1 Jul 2024 16:57:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fabionatali.com; s=gm1; t=1719853026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Ci6BH8oqlpZV09HBls11t5V/A2YVtyossIizlw8ziU=; b=JXDzEKgguvoYCb+dlfciq+zIcHeZAuS3aQTR0Vt/HHKHMNJo5autFqNoXnZzH8aq71/W5R jy0tKaMt/ubwnekdbsL4bSStrf0i+yq5gxWEANc3EEFRcCscs+5QyoGMQKGyLFT2ZnXhk/ J/131d0wOtAxxh4B17Gxw8PIWxxj7mlU/6YRJXOScGSvsYbAJP5fxhY7OBk/rLj/5yabT/ Z2rMSmbldIlsmO1AoD/9v4RY8L7HJv0BIYJD8LFO6I2wA2WTKu8/2M5WVeDwFhTtX/JYF+ hEqXpmETO5VwQucBGJcKGoPNxlyh/ueWNJe7qu5uXvy7MONEZwFLsRqD42RbaQ== From: Fabio Natali To: help-guix@gnu.org Subject: A Guix Home service to group together various email services Date: Mon, 01 Jul 2024 17:57:06 +0100 Message-ID: <871q4d9hjx.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.200; envelope-from=me@fabionatali.com; helo=relay7-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_H2=-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-Country: US X-Migadu-Flow: FLOW_IN X-Spam-Score: -7.68 X-Migadu-Queue-Id: 26D892356B X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -7.68 X-TUID: R5Vz9xAOlWgo Hi. =F0=9F=91=8B I'd like to define a Guix Home service that aggregates all my email configuration together: mbsync, msmtp, Notmuch, and a couple of mcron jobs. So far, I've kept them as separate services but I thought it was nice and cleaner having them grouped together. I've been thinking of something along the lines of: (define my/msmtp-config (list (msmtp-account (name "test") (configuration (msmtp-configuration (host "example.com") (user "user") ...))) ...)) (define my/home-email-service (service (service-type (name 'home-email) (extensions (list (service-extension home-mcron-service-type (const ...)) (service-extension home-msmtp-service-type (const my/msmtp-config)) (service-extension home-xdg-configuration-files-service-type (const .= ..)))) (default-value #f) (description "Email service.")))) This mostly works: - 'guix home reconfigure' runs smoothly, without warning or error. - mbsync and Notmuch configuration files are correctly created. - Guix Home cron jobs are also defined as expected. However, msmtp is not configured correctly. The resulting file '~/.config/msmtp/config' only contains the string 'defaults'. I can successfully set up msmtp as a separate service like this: (define my/home-msmtp-service (service home-msmtp-service-type (home-msmtp-configuration (accounts my/msmtp-config)))) 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? More generally, this way of aggregating services together in 'my/home-email-service', does it look like a good pattern or should I do things any differently? Thanks, cheers, Fabio. --=20 Fabio Natali https://fabionatali.com