services: base: Add environment support to guix-configuration.

* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field.
(guix-shepherd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
This commit is contained in:
Mathieu Othacehe 2023-01-07 19:12:30 +01:00
parent de48bcee07
commit 8b314efd50
No known key found for this signature in database
GPG key ID: 8354763531769CA6
2 changed files with 11 additions and 3 deletions

View file

@ -18482,6 +18482,10 @@ herd set-http-proxy guix-daemon
@item @code{tmpdir} (default: @code{#f})
A directory path where the @command{guix-daemon} will perform builds.
@item @code{environment} (default: @code{'()})
Environment variables to be set before starting the daemon, as a list of
@code{key=value} strings.
@end table
@end deftp

View file

@ -198,6 +198,7 @@ (define-module (gnu services base)
guix-configuration-generate-substitute-key?
guix-configuration-extra-options
guix-configuration-log-file
guix-configuration-environment
guix-extension
guix-extension?
@ -1654,7 +1655,9 @@ (define-record-type* <guix-configuration>
(http-proxy guix-http-proxy ;string | #f
(default #f))
(tmpdir guix-tmpdir ;string | #f
(default #f)))
(default #f))
(environment guix-configuration-environment ;list of strings
(default '())))
(define %default-guix-configuration
(guix-configuration))
@ -1710,7 +1713,7 @@ (define (guix-shepherd-service config)
(guix build-group build-accounts authorize-key? authorized-keys
use-substitutes? substitute-urls max-silent-time timeout
log-compression discover? extra-options log-file
http-proxy tmpdir chroot-directories)
http-proxy tmpdir chroot-directories environment)
(list (shepherd-service
(documentation "Run the Guix daemon.")
(provision '(guix-daemon))
@ -1799,7 +1802,8 @@ (define discover?
(if proxy
(list (string-append "http_proxy=" proxy)
(string-append "https_proxy=" proxy))
'()))
'())
'#$environment)
#:log-file #$log-file))))
(stop #~(make-kill-destructor))))))