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 etc-service-type
                        (lambda (config)
                          `(("autofs.conf" ,(local-file "config/autofs.conf"))
                            ("auto.master" ,(local-file "config/auto.master")))))))
   (default-value '())))