services: Add options to 'guix-service'.
* gnu/services/base.scm (guix-service): Add #:use-substitutes? and #:extra-options parameters, and honor them. * doc/guix.texi (Base Services): Adjust accordingly.
This commit is contained in:
parent
55e70e655d
commit
c11a6eb1e5
|
@ -3434,13 +3434,21 @@ settings.
|
||||||
|
|
||||||
@deffn {Monadic Procedure} guix-service [#:guix guix] @
|
@deffn {Monadic Procedure} guix-service [#:guix guix] @
|
||||||
[#:builder-group "guixbuild"] [#:build-accounts 10] @
|
[#:builder-group "guixbuild"] [#:build-accounts 10] @
|
||||||
[#:authorize-hydra-key? #f]
|
[#:authorize-hydra-key? #f] [#:use-substitutes? #t] @
|
||||||
|
[#:extra-options '()]
|
||||||
Return a service that runs the build daemon from @var{guix}, and has
|
Return a service that runs the build daemon from @var{guix}, and has
|
||||||
@var{build-accounts} user accounts available under @var{builder-group}.
|
@var{build-accounts} user accounts available under @var{builder-group}.
|
||||||
|
|
||||||
When @var{authorize-hydra-key?} is true, the @code{hydra.gnu.org} public key
|
When @var{authorize-hydra-key?} is true, the @code{hydra.gnu.org} public key
|
||||||
provided by @var{guix} is authorized upon activation, meaning that substitutes
|
provided by @var{guix} is authorized upon activation, meaning that substitutes
|
||||||
from @code{hydra.gnu.org} are used by default.
|
from @code{hydra.gnu.org} are used by default.
|
||||||
|
|
||||||
|
If @var{use-substitutes?} is false, the daemon is run with
|
||||||
|
@option{--no-substitutes} (@pxref{Invoking guix-daemon,
|
||||||
|
@option{--no-substitutes}}).
|
||||||
|
|
||||||
|
Finally, @var{extra-options} is a list of additional command-line options
|
||||||
|
passed to @command{guix-daemon}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Monadic Procedure} udev-service [#:udev udev]
|
@deffn {Monadic Procedure} udev-service [#:udev udev]
|
||||||
|
|
|
@ -368,13 +368,22 @@ GUIX."
|
||||||
failed to register hydra.gnu.org public key: ~a~%" status))))))))
|
failed to register hydra.gnu.org public key: ~a~%" status))))))))
|
||||||
|
|
||||||
(define* (guix-service #:key (guix guix) (builder-group "guixbuild")
|
(define* (guix-service #:key (guix guix) (builder-group "guixbuild")
|
||||||
(build-accounts 10) authorize-hydra-key?)
|
(build-accounts 10) authorize-hydra-key?
|
||||||
|
(use-substitutes? #t)
|
||||||
|
(extra-options '()))
|
||||||
"Return a service that runs the build daemon from @var{guix}, and has
|
"Return a service that runs the build daemon from @var{guix}, and has
|
||||||
@var{build-accounts} user accounts available under @var{builder-group}.
|
@var{build-accounts} user accounts available under @var{builder-group}.
|
||||||
|
|
||||||
When @var{authorize-hydra-key?} is true, the @code{hydra.gnu.org} public key
|
When @var{authorize-hydra-key?} is true, the @code{hydra.gnu.org} public key
|
||||||
provided by @var{guix} is authorized upon activation, meaning that substitutes
|
provided by @var{guix} is authorized upon activation, meaning that substitutes
|
||||||
from @code{hydra.gnu.org} are used by default."
|
from @code{hydra.gnu.org} are used by default.
|
||||||
|
|
||||||
|
If @var{use-substitutes?} is false, the daemon is run with
|
||||||
|
@option{--no-substitutes} (@pxref{Invoking guix-daemon,
|
||||||
|
@option{--no-substitutes}}).
|
||||||
|
|
||||||
|
Finally, @var{extra-options} is a list of additional command-line options
|
||||||
|
passed to @command{guix-daemon}."
|
||||||
(define activate
|
(define activate
|
||||||
;; Assume that the store has BUILDER-GROUP as its group. We could
|
;; Assume that the store has BUILDER-GROUP as its group. We could
|
||||||
;; otherwise call 'chown' here, but the problem is that on a COW unionfs,
|
;; otherwise call 'chown' here, but the problem is that on a COW unionfs,
|
||||||
|
@ -392,7 +401,11 @@ from @code{hydra.gnu.org} are used by default."
|
||||||
(start
|
(start
|
||||||
#~(make-forkexec-constructor
|
#~(make-forkexec-constructor
|
||||||
(list (string-append #$guix "/bin/guix-daemon")
|
(list (string-append #$guix "/bin/guix-daemon")
|
||||||
"--build-users-group" #$builder-group)))
|
"--build-users-group" #$builder-group
|
||||||
|
#$@(if use-substitutes?
|
||||||
|
'()
|
||||||
|
'("--no-substitutes"))
|
||||||
|
#$@extra-options)))
|
||||||
(stop #~(make-kill-destructor))
|
(stop #~(make-kill-destructor))
|
||||||
(user-accounts accounts)
|
(user-accounts accounts)
|
||||||
(user-groups (list (user-group
|
(user-groups (list (user-group
|
||||||
|
|
Loading…
Reference in New Issue