me
/
guix
Archived
1
0
Fork 0

home: services: kodi, znc, ssh-agent: Use 'match-record'.

* gnu/home/services/media.scm (home-kodi-services): Use 'match-record'
instead of 'match'.
* gnu/home/services/messaging.scm (home-znc-services): Likewise.
* gnu/home/services/ssh.scm (home-ssh-agent-services): Likewise.
master
Ludovic Courtès 2023-03-16 21:46:29 +01:00
parent 9cb1746467
commit 8f219e658d
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 42 additions and 45 deletions

View File

@ -18,7 +18,6 @@
(define-module (gnu home services media) (define-module (gnu home services media)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (gnu home services) #:use-module (gnu home services)
#:use-module (gnu home services shepherd) #:use-module (gnu home services shepherd)
#:use-module (gnu packages kodi) #:use-module (gnu packages kodi)
@ -44,18 +43,18 @@
(define (home-kodi-services config) (define (home-kodi-services config)
"Return a <shepherd-service> for kodi with CONFIG." "Return a <shepherd-service> for kodi with CONFIG."
(match config (match-record config <home-kodi-configuration>
(($ <home-kodi-configuration> kodi extra-options) (kodi extra-options)
(let* ((kodi (file-append kodi "/bin/kodi")) (let* ((kodi (file-append kodi "/bin/kodi"))
(command #~'(#$kodi "-fs" #$@extra-options)) (command #~'(#$kodi "-fs" #$@extra-options))
(log-file #~(string-append %user-log-dir "/kodi.log"))) (log-file #~(string-append %user-log-dir "/kodi.log")))
(list (shepherd-service (list (shepherd-service
(documentation "Run the kodi media center.") (documentation "Run the kodi media center.")
(provision '(kodi)) (provision '(kodi))
(modules '((shepherd support))) ;for '%user-log-dir' (modules '((shepherd support))) ;for '%user-log-dir'
(start #~(make-forkexec-constructor #$command (start #~(make-forkexec-constructor #$command
#:log-file #$log-file)) #:log-file #$log-file))
(stop #~(make-kill-destructor)))))))) (stop #~(make-kill-destructor)))))))
(define home-kodi-service-type (define home-kodi-service-type
(service-type (service-type

View File

@ -18,7 +18,6 @@
(define-module (gnu home services messaging) (define-module (gnu home services messaging)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (gnu home services) #:use-module (gnu home services)
#:use-module (gnu home services shepherd) #:use-module (gnu home services shepherd)
#:use-module (gnu packages messaging) #:use-module (gnu packages messaging)
@ -42,18 +41,18 @@
(define (home-znc-services config) (define (home-znc-services config)
"Return a <shepherd-service> for znc with CONFIG." "Return a <shepherd-service> for znc with CONFIG."
(match config (match-record config <home-znc-configuration>
(($ <home-znc-configuration> znc extra-options) (znc extra-options)
(let* ((znc (file-append znc "/bin/znc")) (let* ((znc (file-append znc "/bin/znc"))
(command #~'(#$znc "--foreground" #$@extra-options)) (command #~'(#$znc "--foreground" #$@extra-options))
(log-file #~(string-append %user-log-dir "/znc.log"))) (log-file #~(string-append %user-log-dir "/znc.log")))
(list (shepherd-service (list (shepherd-service
(documentation "Run the znc IRC bouncer.") (documentation "Run the znc IRC bouncer.")
(provision '(znc)) (provision '(znc))
(modules '((shepherd support))) ;for '%user-log-dir' (modules '((shepherd support))) ;for '%user-log-dir'
(start #~(make-forkexec-constructor #$command (start #~(make-forkexec-constructor #$command
#:log-file #$log-file)) #:log-file #$log-file))
(stop #~(make-kill-destructor)))))))) (stop #~(make-kill-destructor)))))))
(define home-znc-service-type (define home-znc-service-type
(service-type (service-type

View File

@ -276,25 +276,24 @@ client,@command{ssh}, and by other tools such as @command{guix deploy}.")
(define (home-ssh-agent-services config) (define (home-ssh-agent-services config)
"Return a <shepherd-service> for an ssh-agent with CONFIG." "Return a <shepherd-service> for an ssh-agent with CONFIG."
(match config (match-record config <home-ssh-agent-configuration>
(($ <home-ssh-agent-configuration> (openssh socket-directory extra-options)
openssh socket-directory extra-options) (let* ((ssh-agent (file-append openssh "/bin/ssh-agent"))
(let* ((ssh-agent (file-append openssh "/bin/ssh-agent")) (socket-file #~(string-append #$socket-directory "/socket"))
(socket-file #~(string-append #$socket-directory "/socket")) (command #~`(#$ssh-agent
(command #~`(#$ssh-agent "-D" "-a" ,#$socket-file
"-D" "-a" ,#$socket-file #$@extra-options))
#$@extra-options)) (log-file #~(string-append %user-log-dir "/ssh-agent.log")))
(log-file #~(string-append %user-log-dir "/ssh-agent.log"))) (list (shepherd-service
(list (shepherd-service (documentation "Run the ssh-agent.")
(documentation "Run the ssh-agent.") (provision '(ssh-agent))
(provision '(ssh-agent)) (modules '((shepherd support))) ;for '%user-runtime-dir', etc.
(modules '((shepherd support))) ;for '%user-runtime-dir', etc. (start #~(lambda _
(start #~(lambda _ (unless (file-exists? #$socket-directory)
(unless (file-exists? #$socket-directory) (mkdir-p #$socket-directory)
(mkdir-p #$socket-directory) (chmod #$socket-directory #o700))
(chmod #$socket-directory #o700)) (fork+exec-command #$command #:log-file #$log-file)))
(fork+exec-command #$command #:log-file #$log-file))) (stop #~(make-kill-destructor)))))))
(stop #~(make-kill-destructor))))))))
(define home-ssh-agent-service-type (define home-ssh-agent-service-type
(service-type (service-type