aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2025-01-17 23:08:30 +0100
committerLudovic Courtès <ludo@gnu.org>2025-01-26 22:09:27 +0100
commit5cfbf7b513bdc9fb07c4e4a34d495934b6a486ad (patch)
tree1de2fc406fb5c51ae16fa0b78e024573cc9c01d9
parentdc0df5eb470ef5dff446bec186c184f45f40423a (diff)
downloadguix-5cfbf7b513bdc9fb07c4e4a34d495934b6a486ad.tar.gz
guix-5cfbf7b513bdc9fb07c4e4a34d495934b6a486ad.zip
home: services: shepherd: Add ‘transient’ and ‘timer’ services.
* 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 <maxim.cournoyer@gmail.com> Change-Id: Ia4eb7cf043f4661c64f5ca81b8989a451532aa18
-rw-r--r--doc/guix.texi12
-rw-r--r--gnu/home/services/shepherd.scm21
2 files changed, 31 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e0b7d26cb9..11e3f7bc13 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 37ad1489d6..b2b141d4de 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 <andrew@trop.in>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
-;;; Copyright © 2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2024-2025 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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