mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
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
2 changed files with 25 additions and 4 deletions
|
@ -3434,13 +3434,21 @@ settings.
|
|||
|
||||
@deffn {Monadic Procedure} guix-service [#:guix guix] @
|
||||
[#: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
|
||||
@var{build-accounts} user accounts available under @var{builder-group}.
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
@deffn {Monadic Procedure} udev-service [#:udev udev]
|
||||
|
|
|
@ -368,13 +368,22 @@ (define (hydra-key-authorization guix)
|
|||
failed to register hydra.gnu.org public key: ~a~%" status))))))))
|
||||
|
||||
(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
|
||||
@var{build-accounts} user accounts available under @var{builder-group}.
|
||||
|
||||
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
|
||||
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
|
||||
;; 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,
|
||||
|
@ -392,7 +401,11 @@ (define activate
|
|||
(start
|
||||
#~(make-forkexec-constructor
|
||||
(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))
|
||||
(user-accounts accounts)
|
||||
(user-groups (list (user-group
|
||||
|
|
Loading…
Reference in a new issue