services: fstrim-service-type: Serialize with SRFI-171 transducers.

* gnu/services/linux.scm (serialize-fstrim-configuration): Refactor to use
base-transducer.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
Bruno Victal 2023-10-07 16:59:07 +01:00 committed by Maxim Cournoyer
parent a7994ed58d
commit dd65564db0
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -41,6 +41,7 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:use-module (srfi srfi-171)
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (earlyoom-configuration #:export (earlyoom-configuration
@ -252,13 +253,9 @@ more information)."
(prefix fstrim-)) (prefix fstrim-))
(define (serialize-fstrim-configuration config) (define (serialize-fstrim-configuration config)
(concatenate (list-transduce (compose (base-transducer config) tconcatenate)
(filter list? rcons
(map (lambda (field) fstrim-configuration-fields))
((configuration-field-serializer field)
(configuration-field-name field)
((configuration-field-getter field) config)))
fstrim-configuration-fields))))
(define (fstrim-mcron-job config) (define (fstrim-mcron-job config)
(match-record config <fstrim-configuration> (package schedule) (match-record config <fstrim-configuration> (package schedule)