From 5cfbf7b513bdc9fb07c4e4a34d495934b6a486ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 17 Jan 2025 23:08:30 +0100 Subject: [PATCH] =?UTF-8?q?home:=20services:=20shepherd:=20Add=20=E2=80=98?= =?UTF-8?q?transient=E2=80=99=20and=20=E2=80=98timer=E2=80=99=20services.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/home/services/shepherd.scm (home-shepherd-timer-service-type) (home-shepherd-transient-service-type): New variables. * doc/guix.texi (Shepherd Home Service): Document them. (Shepherd Services): Add anchor. Reviewed-by: Maxim Cournoyer Change-Id: Ia4eb7cf043f4661c64f5ca81b8989a451532aa18 --- doc/guix.texi | 12 ++++++++++++ gnu/home/services/shepherd.scm | 21 +++++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e0b7d26cb9d..11e3f7bc133 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -45702,6 +45702,7 @@ system: (shepherd my-shepherd)))))) @end lisp +@anchor{shepherd-transient-timer-services} @cindex @code{transient} service, Shepherd @defvar shepherd-transient-service-type This service type represents the Shepherd's @code{transient} service, @@ -47366,6 +47367,17 @@ its reference. This service is part of @code{%base-home-services}. @end defvar +@defvar home-shepherd-transient-service-type +@defvarx home-shepherd-timer-service-type +These are the @code{timer} and @code{transient} Shepherd services. The +former lets you schedule command execution for later, while the latter +can run commands in the background as a regular service. + +@xref{shepherd-transient-timer-services, the system @code{timer} and +@code{transient} services}, which are their Guix System counterparts, +for more info. +@end defvar + @node Secure Shell @subsection Secure Shell diff --git a/gnu/home/services/shepherd.scm b/gnu/home/services/shepherd.scm index 37ad1489d66..b2b141d4de2 100644 --- a/gnu/home/services/shepherd.scm +++ b/gnu/home/services/shepherd.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021, 2023 Andrew Tropin ;;; Copyright © 2021 Xinglu Chen -;;; Copyright © 2024 Ludovic Courtès +;;; Copyright © 2024-2025 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,7 +34,10 @@ home-shepherd-configuration-auto-start? home-shepherd-configuration-daemonize? home-shepherd-configuration-silent? - home-shepherd-configuration-services) + home-shepherd-configuration-services + + home-shepherd-transient-service-type + home-shepherd-timer-service-type) #:re-export (shepherd-service shepherd-service? shepherd-service-documentation @@ -181,3 +184,17 @@ as shepherd package." (define-service-type-mapping shepherd-root-service-type => home-shepherd-service-type) + +;;; +;;; Timer and transient service maker. +;;; + +(define home-shepherd-timer-service-type + (service-type + (inherit (system->home-service-type shepherd-timer-service-type)) + (default-value '()))) ;requirement + +(define home-shepherd-transient-service-type + (service-type + (inherit (system->home-service-type shepherd-transient-service-type)) + (default-value '()))) ;requirement