services: Add the Shepherd’s ‘transient’ and ‘timer’ to ‘%base-services’.

* gnu/services/base.scm (%base-services): Add instances of
‘shepherd-timer-service-type’ and ‘shepherd-transient-service-type’.

Change-Id: I28a35d0dce40b142ee71b330b1cf7a3d222ef6bd
This commit is contained in:
Ludovic Courtès 2025-01-17 22:35:26 +01:00
parent e73cf57a20
commit dc0df5eb47
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 22 additions and 16 deletions

View file

@ -3750,6 +3750,10 @@ login manager daemon.")
(service log-rotation-service-type)
;; Convenient services brought by the Shepherd.
(service shepherd-timer-service-type)
(service shepherd-transient-service-type)
;; Periodically delete old build logs.
(service log-cleanup-service-type
(log-cleanup-configuration

View file

@ -678,14 +678,15 @@ seconds after @code{SIGTERM} has been sent are terminated with
(define shepherd-timer-service-type
(shepherd-service-type
'shepherd-timer
(const (shepherd-service
(lambda (requirement)
(shepherd-service
(provision '(timer))
(requirement '(user-processes))
(requirement requirement)
(modules '((shepherd service timer)))
(free-form #~(timer-service
'#$provision
#:requirement '#$requirement))))
#t ;ignored
'(user-processes)
(description "The Shepherd @code{timer} service lets you schedule commands
dynamically, similar to the @code{at} command that your grandparents would use
on that Slackware they got on a floppy disk. For example, consider this
@ -700,14 +701,15 @@ It does exactly what you would expect.")))
(define shepherd-transient-service-type
(shepherd-service-type
'shepherd-transient
(const (shepherd-service
(lambda (requirement)
(shepherd-service
(provision '(transient))
(requirement '(user-processes))
(requirement requirement)
(modules '((shepherd service transient)))
(free-form #~(transient-service
'#$provision
#:requirement '#$requirement))))
#t ;ignored
'(user-processes)
(description "The Shepherd @code{transient} service lets you run commands
asynchronously, in the background, similar to @command{systemd-run}, as in
this example: