From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-devel-bounces+larch=yhetil.org@gnu.org>
Received: from mp0.migadu.com ([2001:41d0:303:e224::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms1.migadu.com with LMTPS
	id mKFDLQIzHGaFsQAAqHPOHw:P1
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 14 Apr 2024 21:48:18 +0200
Received: from aspmx1.migadu.com ([2001:41d0:303:e224::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp0.migadu.com with LMTPS
	id mKFDLQIzHGaFsQAAqHPOHw
	(envelope-from <guix-devel-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 14 Apr 2024 21:48:18 +0200
X-Envelope-To: larch@yhetil.org
Authentication-Results: aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=lease-up.com header.s=2017 header.b=NW2s97Jk;
	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";
	dmarc=pass (policy=none) header.from=gnu.org
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1713124098;
	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=mQXQNRC77l/Q8HjBTMmyM3T/7eVkR5LnVSJyMQa9P/w=;
	b=NzVmh9DcopgUn35F4UUAsQSD/UIGvGqXweOrEogWROd2WbzEJwRE02NTVbhagUxnpA/jsK
	5mcsd6PpUP8YqW92ogoNLg2Z85IrVIGFXMXdmNmnE2Nu50KUXjhBJKG8a3+dgJGNq2GyKq
	6LZ3ocsIqdaut4P4SHJx33Ek2doOY+zQIr/Rss131L/Ade/vElPM4yyGRdNQMWPtU2lfhW
	XFTuqB4cGNNXnXdzKnM58OhG4/zAuNlWH7VNlD6fdDjfU/towuZQVpBw0c4+FKFpdZ8MS9
	TZGW+8svECxC7J6c/tuyjEZoT59QpAybljHpLbUHVHhVmcf5fCm0RlnnbB2vXw==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1713124098; a=rsa-sha256; cv=none;
	b=VevCS2Np8nINQUrxTb7NZWJnBDod9SxH7xq5JPdvNeM3HQ5J5UcJt0r+OtvTteklr5Vvj1
	MmnrOibb51U3yOj0JHvFL5RfwSnRxGbgryvpqSBhm8NSnrpnjAhMLQmQMB8oJmaCz/NxU3
	942P1e/Xa4hm2HS2ZjU0FOxCchzMxHkEjpdZE3CvYpdVF7XDczbkNIrXJRuCE77gpnIK14
	m4N1o6IQei9EqgJPAfyZJCt4uRP47azIslfOgJjbT2Y5FgxsH/nL1C/XED1AKeRFl6RwWi
	LEmitLdYojAerkCSk4F7AjcXv368g3pHVj4T+QAQgGJvvBb1bBNT9kc7EJPzYw==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=lease-up.com header.s=2017 header.b=NW2s97Jk;
	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";
	dmarc=pass (policy=none) header.from=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 48F6216F8A
	for <larch@yhetil.org>; Sun, 14 Apr 2024 21:48:17 +0200 (CEST)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-devel-bounces@gnu.org>)
	id 1rw5pD-0003kC-Br; Sun, 14 Apr 2024 15:47:39 -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 <felix.lechner@lease-up.com>)
 id 1rw5ow-0003jZ-A7
 for guix-devel@gnu.org; Sun, 14 Apr 2024 15:47:26 -0400
Received: from sail-ipv4.us-core.com ([208.82.101.137])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256)
 (Exim 4.90_1) (envelope-from <felix.lechner@lease-up.com>)
 id 1rw5ot-00033b-0N; Sun, 14 Apr 2024 15:47:20 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=+NG4aakwPgfJwG8
 KcTIpHHfxJHY6w9aQpwJduMvaPTg=;
 h=date:references:in-reply-to:subject:
 cc:to:from; d=lease-up.com; b=NW2s97Jkb0JBoLt0we/bZTtCWWow9h9C2h/ct1t5
 sKsqfEWoM1zg6zm33Sx70hwFT0PJDZ/bani2oETvoR60S1Ph+hcf96+jThcthQMN8AatBX
 c00O/t6QPpVUOrlizWaFix7hOYxFIfAMM/IuBSW7eYunubpzb/Ohl/5BYMRPg=
Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id d48f4ec4
 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); 
 Sun, 14 Apr 2024 19:47:16 +0000 (UTC)
To: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@gnu.org>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: Shepherd timers
In-Reply-To: <87seztjmyi.fsf@gnu.org>
References: <87jzlrpbsr.fsf@gnu.org> <877chq3p48.fsf@lease-up.com>
 <87o7ayj8d4.fsf@gnu.org> <87frw3973e.fsf@lease-up.com>
 <87seztjmyi.fsf@gnu.org>
Date: Sun, 14 Apr 2024 12:47:15 -0700
Message-ID: <87plur20cc.fsf@lease-up.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=208.82.101.137;
 envelope-from=felix.lechner@lease-up.com; helo=sail-ipv4.us-core.com
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 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."
 <guix-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-devel>
List-Post: <mailto:guix-devel@gnu.org>
List-Help: <mailto:guix-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-devel>,
 <mailto:guix-devel-request@gnu.org?subject=subscribe>
Reply-to:  Felix Lechner <felix.lechner@lease-up.com>
From:  Felix Lechner via "Development of GNU Guix and the GNU System distribution."
 <guix-devel@gnu.org>
Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org
Sender: guix-devel-bounces+larch=yhetil.org@gnu.org
X-Migadu-Flow: FLOW_IN
X-Migadu-Country: US
X-Migadu-Spam-Score: -4.79
X-Spam-Score: -4.79
X-Migadu-Queue-Id: 48F6216F8A
X-Migadu-Scanner: mx12.migadu.com
X-TUID: d7ALSNG5n/ch

Hi Ludo'

On Wed, Apr 10 2024, Ludovic Court=C3=A8s wrote:

> Could you share this service or at least the (calendar-event =E2=80=A6) b=
it?

It was my error.  The iota in

    (calendar-event #:minutes '(iota 12 3 5))

should not have been quoted.  The service definition was part of the
message to which you responded. [1] My apologies.

> Feedback & suggestions welcome!

As a feature request, it would be nice to run timers as users other than
root.

The situation is somewhat aggravated because 'runuser' is not being
built or shipped in 'util-linux' in order to avoid a dependency on
linux-pam.  The natural replacement su from the same package, which does
nearly the same thing except it is setuid root, can only be found---as a
working program---in the non-reproducible path /run/setuid-programs/su.

The only other way may be to resort to the fork/wait functionality in
GNU Guile.

* * *

To encourage adoption of these timers among Guix user, I'll also share
some of my timers:

    Btrbk Snapshot [2]
    Mdadm Resync service [3]
    Guix Garbage Collector service [4]
    Debbugs Config Sync service [5]
    Debbugs Bug Data Sync service [6]
    Borg Backup service [7]

A variation of the Mdadm Resync service should probably run on all Guix
systems.  It prevents bitrot on MD arrays from cosmic rays or heat by
writing good copies of all sectors to all array elements once a month.

The Borg Backup service currently requires a modified version of Guix to
find SSH.  Alternatives are the environment variable BORG_RSH or the
command line variable --rsh, but I believe our version should be
modified to find ssh for automated use.

Kind regards
Felix

[1] https://lists.gnu.org/archive/html/guix-devel/2024-03/msg00256.html
[2] https://codeberg.org/lechner/system-config/src/commit/db9edb46caf36fe15=
bc6f8abc5d1df184b6d5c5f/host/wallace-server/operating-system.scm#L664-L714
[3] https://codeberg.org/lechner/system-config/src/commit/db9edb46caf36fe15=
bc6f8abc5d1df184b6d5c5f/host/wallace-server/operating-system.scm#L716-L755
[4] https://codeberg.org/lechner/system-config/src/commit/db9edb46caf36fe15=
bc6f8abc5d1df184b6d5c5f/host/wallace-server/operating-system.scm#L757-L778
[5] https://codeberg.org/lechner/system-config/src/commit/db9edb46caf36fe15=
bc6f8abc5d1df184b6d5c5f/host/wallace-server/operating-system.scm#L780-L827
[6] https://codeberg.org/lechner/system-config/src/commit/db9edb46caf36fe15=
bc6f8abc5d1df184b6d5c5f/host/wallace-server/operating-system.scm#L829-L956
[7] https://codeberg.org/lechner/system-config/src/commit/db9edb46caf36fe15=
bc6f8abc5d1df184b6d5c5f/host/wallace-server/operating-system.scm#L556-L662