services: syncthing: Use 'match-record'.

* gnu/services/syncthing.scm (syncthing-shepherd-service): Use
'match-record-lambda' instead of 'match-lambda'.
This commit is contained in:
Ludovic Courtès 2023-08-06 12:26:06 +02:00
parent 9bfe7fbdbe
commit c6c8106c65
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -52,32 +52,32 @@ (define-record-type* <syncthing-configuration>
(default #f)))
(define syncthing-shepherd-service
(match-lambda
(($ <syncthing-configuration> syncthing arguments logflags user group home)
(list
(shepherd-service
(provision (list (string->symbol (string-append "syncthing-" user))))
(documentation "Run syncthing.")
(requirement '(loopback))
(start #~(make-forkexec-constructor
(append (list (string-append #$syncthing "/bin/syncthing")
"--no-browser"
"--no-restart"
(string-append "--logflags=" (number->string #$logflags)))
'#$arguments)
#:user #$user
#:group #$group
#:environment-variables
(append (list (string-append "HOME=" (or #$home (passwd:dir (getpw #$user))))
"SSL_CERT_DIR=/etc/ssl/certs"
"SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt")
(remove (lambda (str)
(or (string-prefix? "HOME=" str)
(string-prefix? "SSL_CERT_DIR=" str)
(string-prefix? "SSL_CERT_FILE=" str)))
(environ)))))
(respawn? #f)
(stop #~(make-kill-destructor)))))))
(match-record-lambda <syncthing-configuration>
(syncthing arguments logflags user group home)
(list
(shepherd-service
(provision (list (string->symbol (string-append "syncthing-" user))))
(documentation "Run syncthing.")
(requirement '(loopback))
(start #~(make-forkexec-constructor
(append (list (string-append #$syncthing "/bin/syncthing")
"--no-browser"
"--no-restart"
(string-append "--logflags=" (number->string #$logflags)))
'#$arguments)
#:user #$user
#:group #$group
#:environment-variables
(append (list (string-append "HOME=" (or #$home (passwd:dir (getpw #$user))))
"SSL_CERT_DIR=/etc/ssl/certs"
"SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt")
(remove (lambda (str)
(or (string-prefix? "HOME=" str)
(string-prefix? "SSL_CERT_DIR=" str)
(string-prefix? "SSL_CERT_FILE=" str)))
(environ)))))
(respawn? #f)
(stop #~(make-kill-destructor))))))
(define syncthing-service-type
(service-type (name 'syncthing)