rework and reformating of services

This commit is contained in:
Jean-François GUILLAUME 2022-11-24 15:00:33 +01:00
parent c7178062a0
commit ea3c876afc
GPG key ID: 38751DAE145EFB5A
7 changed files with 548 additions and 701 deletions

View file

@ -1,73 +1,50 @@
(define-module (glicid services file-systems)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (guix)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (gnu packages file-systems)
#:export (
%default-autofs-conf
autofs-configuration
autofs-configuration?
autofs-service
autofs-service-type
)
)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (guix)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (ice-9 match)
#:use-module (gnu packages file-systems)
#:export (
%default-autofs-conf
autofs-configuration
autofs-configuration?
autofs-service
autofs-service-type
))
(define %default-autofs-conf
(plain-file "autofs" "
# Empty file as we do nothing by default
")
)
# Empty file as we do nothing by default
"))
(define-record-type* <autofs-configuration>
(define-record-type*
<autofs-configuration>
autofs-configuration make-autofs-configuration
autofs-configuration?
(autofs autofs-configuration-autofs
(default autofs)
)
(config-file autofs-config-file
(default %default-autofs-conf)
)
(log-file autofs-log-file
(default "/var/log/autofs.log")
)
)
(autofs-pkg autofs-pkg (default autofs))
(autofs-config-file autofs-config-file (default %default-autofs-conf))
(log-file autofs-log-file (default "/var/log/autofs.log")))
(define autofs-service
(match-lambda
(($ <autofs-configuration> autofs config-file log-file)
(list
(shepherd-service
(provision '(autofs) )
(documentation "Run autofs.")
(requirement '(user-processes))
(respawn? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append autofs "/sbin/automount")
"-d" "-f"
)
#:log-file #$log-file
))
(stop #~(make-kill-destructor))
)
)
)
)
)
(($ <autofs-configuration> autofs-pkg autofs-config-file log-file)
(list
(shepherd-service
(provision '(autofs))
(documentation "Run autofs.")
(requirement '(user-processes))
(respawn? #t)
(start #~(make-forkexec-constructor
(list
#$(file-append autofs-pkg "/sbin/automount") "-d" "-f")
#:log-file #$log-file
))
(stop #~(make-kill-destructor)))))))
(define autofs-service-type
(service-type (name 'autofs)
(extensions
(list (
service-extension
shepherd-root-service-type
autofs-service
))
)
(description "Run autofs")
)
)
(service-type
(name 'autofs)
(extensions (list
(service-extension shepherd-root-service-type autofs-service)))
(description "Run autofs")))