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
parent
9cb1746467
commit
8f219e658d
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Reference in New Issue