mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: dmd: Add service documentation.
* gnu/system/dmd.scm (<service>): Add 'documentation' field. (host-name-service, mingetty-service, nscd-service, syslog-service, static-networking-service): Provide a 'documentation' value. (dmd-configuration-file): Use it.
This commit is contained in:
parent
b455a11868
commit
b4f0bb1771
1 changed files with 12 additions and 1 deletions
|
@ -59,6 +59,8 @@ (define-module (gnu system dmd)
|
|||
(define-record-type* <service>
|
||||
service make-service
|
||||
service?
|
||||
(documentation service-documentation ; string
|
||||
(default "[No documentation.]"))
|
||||
(provision service-provision) ; list of symbols
|
||||
(requirement service-requirement ; list of symbols
|
||||
(default '()))
|
||||
|
@ -74,6 +76,7 @@ (define (host-name-service name)
|
|||
"Return a service that sets the host name to NAME."
|
||||
(with-monad %store-monad
|
||||
(return (service
|
||||
(documentation "Initialize the machine's host name.")
|
||||
(provision '(host-name))
|
||||
(start `(lambda _
|
||||
(sethostname ,name)))
|
||||
|
@ -84,6 +87,7 @@ (define (mingetty-service tty)
|
|||
(mlet %store-monad ((mingetty-bin (package-file mingetty "sbin/mingetty")))
|
||||
(return
|
||||
(service
|
||||
(documentation (string-append "Run mingetty on " tty "."))
|
||||
(provision (list (symbol-append 'term- (string->symbol tty))))
|
||||
|
||||
;; Since the login prompt shows the host name, wait for the 'host-name'
|
||||
|
@ -97,6 +101,7 @@ (define* (nscd-service #:key (glibc glibc-final))
|
|||
"Return a service that runs libc's name service cache daemon (nscd)."
|
||||
(mlet %store-monad ((nscd (package-file glibc "sbin/nscd")))
|
||||
(return (service
|
||||
(documentation "Run libc's name service cache daemon (nscd).")
|
||||
(provision '(nscd))
|
||||
(start `(make-forkexec-constructor ,nscd "-f" "/dev/null"))
|
||||
|
||||
|
@ -140,6 +145,7 @@ (define contents "
|
|||
(syslogd (package-file inetutils "libexec/syslogd")))
|
||||
(return
|
||||
(service
|
||||
(documentation "Run the syslog daemon (syslogd).")
|
||||
(provision '(syslogd))
|
||||
(start `(make-forkexec-constructor ,syslogd
|
||||
"--rcfile" ,syslog.conf))
|
||||
|
@ -171,6 +177,9 @@ (define* (static-networking-service interface ip
|
|||
(route (package-file net-tools "sbin/route")))
|
||||
(return
|
||||
(service
|
||||
(documentation
|
||||
(string-append "Set up networking on the '" interface
|
||||
"' interface using a static IP address."))
|
||||
(provision '(networking))
|
||||
(start `(lambda _
|
||||
(and (zero? (system* ,ifconfig ,interface ,ip "up"))
|
||||
|
@ -196,8 +205,10 @@ (define config
|
|||
`(begin
|
||||
(register-services
|
||||
,@(map (match-lambda
|
||||
(($ <service> provision requirement respawn? start stop)
|
||||
(($ <service> documentation provision requirement
|
||||
respawn? start stop)
|
||||
`(make <service>
|
||||
#:docstring ,documentation
|
||||
#:provides ',provision
|
||||
#:requires ',requirement
|
||||
#:respawn? ,respawn?
|
||||
|
|
Loading…
Reference in a new issue