diff options
author | Ludovic Courtès <ludo@gnu.org> | 2025-03-14 12:12:19 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2025-03-23 19:30:52 +0100 |
commit | 230f1a9c1cbf3893f9d6eb13c70630f052727eb5 (patch) | |
tree | 700fd92b9641acbe202fd15542ae772074f1f4c5 | |
parent | 7cec43486548f12a43b56dff8082ffe00a5e0c3d (diff) | |
download | guix-230f1a9c1cbf3893f9d6eb13c70630f052727eb5.tar.gz guix-230f1a9c1cbf3893f9d6eb13c70630f052727eb5.zip |
services: virtual-build-machine: Turn GC job into a Shepherd timer.
* gnu/services/virtualization.scm (gc-service-type): New variable.
(%virtual-build-machine-operating-system): Use instead of extending
‘mcron-service-type’.
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I56d7f9293f582269e5a34d91bf4f3edddfa844e0
-rw-r--r-- | gnu/services/virtualization.scm | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 555c0be55e..90a0265a59 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -40,7 +40,6 @@ #:use-module (gnu services base) #:use-module (gnu services configuration) #:use-module (gnu services dbus) - #:use-module (gnu services mcron) #:use-module (gnu services shepherd) #:use-module (gnu services ssh) #:use-module (gnu services) @@ -1353,6 +1352,23 @@ that will be listening to receive secret keys on ADDRESS." (else '("/dev/console"))))) +(define gc-service-type ;TODO: Factorize. + (shepherd-service-type + 'garbage-collection + (lambda _ + (shepherd-service + (provision '(gc)) + (requirement '(user-processes guix-daemon)) + (start #~(make-timer-constructor + (calendar-event #:minutes '(12)) + (command + '("/run/current-system/profile/bin/guix" "gc" "-F2G")) + #:wait-for-termination? #t)) + (stop #~(make-timer-constructor)) + (actions (list shepherd-trigger-action)))) + #t + (description "Periodically collect garbage."))) + (define %virtual-build-machine-operating-system (operating-system (host-name "build-machine") @@ -1385,9 +1401,7 @@ that will be listening to receive secret keys on ADDRESS." (openssh openssh-sans-x))) ;; Run GC once per hour. - (simple-service 'perdiodic-gc mcron-service-type - (list #~(job "12 * * * *" - "guix gc -F 2G"))) + (service gc-service-type) (modify-services %base-services ;; By default, the secret service introduces a |