services: nix: Add extra-options.
* gnu/services/nix.scm (<nix-configuration>)[extra-options]: New field. (nix-shepherd-service): Add this. (nix-activation): Add new line to the end of /etc/nix/nix.conf file. * doc/guix.texi (Miscellaneous Services)[Nix service]: Document this.master
parent
3601d802d5
commit
64c6282e7f
|
@ -27637,6 +27637,9 @@ This is a list of strings or objects appended to the
|
|||
This is a list of strings or objects appended to the configuration file.
|
||||
It is used to pass extra text to be added verbatim to the configuration
|
||||
file.
|
||||
|
||||
@item @code{extra-options} (default: @code{'()})
|
||||
Extra command line options for @code{nix-service-type}.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
|
|
@ -56,6 +56,8 @@
|
|||
(build-sandbox-items nix-configuration-build-sandbox-items ;list of strings
|
||||
(default '()))
|
||||
(extra-config nix-configuration-extra-config ;list of strings
|
||||
(default '()))
|
||||
(extra-options nix-configuration-extra-options ;list of strings
|
||||
(default '())))
|
||||
|
||||
;; Copied from gnu/services/base.scm
|
||||
|
@ -116,19 +118,21 @@ GID."
|
|||
'#$(map references-file
|
||||
(list package)))
|
||||
'#$build-sandbox-items))
|
||||
(for-each (cut display <>) '#$extra-config))))))))
|
||||
(for-each (cut display <>) '#$extra-config)
|
||||
(newline))))))))
|
||||
|
||||
(define nix-shepherd-service
|
||||
;; Return a <shepherd-service> for Nix.
|
||||
(match-lambda
|
||||
(($ <nix-configuration> package _ ...)
|
||||
(($ <nix-configuration> package _ _ _ extra-options)
|
||||
(list
|
||||
(shepherd-service
|
||||
(provision '(nix-daemon))
|
||||
(documentation "Run nix-daemon.")
|
||||
(requirement '())
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$package "/bin/nix-daemon"))))
|
||||
(list (string-append #$package "/bin/nix-daemon")
|
||||
#$@extra-options)))
|
||||
(respawn? #f)
|
||||
(stop #~(make-kill-destructor)))))))
|
||||
|
||||
|
|
Reference in New Issue