diff options
author | Ludovic Courtès <[email protected]> | 2025-01-17 22:35:26 +0100 |
---|---|---|
committer | Ludovic Courtès <[email protected]> | 2025-01-26 22:09:27 +0100 |
commit | dc0df5eb470ef5dff446bec186c184f45f40423a (patch) | |
tree | 2c912108facb66190ceeae69763fffc42886c2a3 /gnu/services | |
parent | e73cf57a204f2bf430c90930394afa08e9ec3399 (diff) |
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
Diffstat (limited to 'gnu/services')
-rw-r--r-- | gnu/services/base.scm | 4 | ||||
-rw-r--r-- | gnu/services/shepherd.scm | 34 |
2 files changed, 22 insertions, 16 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 5967457002..7331c030d7 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -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 diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 5f2625ac20..328bfbedff 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -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 - (provision '(timer)) - (requirement '(user-processes)) - (modules '((shepherd service timer))) - (free-form #~(timer-service - '#$provision - #:requirement '#$requirement)))) - #t ;ignored + (lambda (requirement) + (shepherd-service + (provision '(timer)) + (requirement requirement) + (modules '((shepherd service timer))) + (free-form #~(timer-service + '#$provision + #:requirement '#$requirement)))) + '(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 - (provision '(transient)) - (requirement '(user-processes)) - (modules '((shepherd service transient))) - (free-form #~(transient-service - '#$provision - #:requirement '#$requirement)))) - #t ;ignored + (lambda (requirement) + (shepherd-service + (provision '(transient)) + (requirement requirement) + (modules '((shepherd service transient))) + (free-form #~(transient-service + '#$provision + #:requirement '#$requirement)))) + '(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: |