autofs service
Tip: to define an autofs service:
;; a stripped down version of autofs:
(define-public mroh-autofs
(package
(inherit autofs)
(name "mroh-autofs")
(arguments
`(,@(substitute-keyword-arguments
(package-arguments autofs)
((#:configure-flags cf)
`(list "--enable-ignore-busy"
"--enable-sloppy-mount"
"--with-libtirpc")))))
(inputs
`(("e2fsprogs" ,e2fsprogs)
("libtirpc" ,libtirpc)
("nfs-utils" ,nfs-utils)
("util-linux" ,util-linux)))))
(define (automount-shepherd-service config)
(list (shepherd-service
(provision '(automount))
(documentation "Run the automount server.")
(requirement '(networking))
(start #~(make-forkexec-constructor
(list #$(file-append mroh-autofs "/sbin/automount") "-f")
#:log-file "/var/log/automount.log"))
(stop #~(make-kill-destructor)))))
(define automount-service-type
(service-type
(name 'automount)
(description "Run the automount server.")
(extensions
(list (service-extension shepherd-root-service-type
automount-shepherd-service)
(service-extension rottlog-service-type
(const
(list (log-rotation
(files (list "/var/log/automount.log"))))))
(service-extension etc-service-type
(lambda (config)
`(("autofs.conf" ,(local-file "config/autofs.conf"))
("auto.master" ,(local-file "config/auto.master")))))))
(default-value '())))