summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-05-09 16:16:54 +0100
committerChristopher Baines <mail@cbaines.net>2023-05-09 16:19:21 +0100
commita759cbffafbf67b3a03c80b5bdbe3f3478affc50 (patch)
tree051385d49599571b9baeec54fda0d7f06ec89a37
parentc1ffe2f21bd1b9ba6bd527bbabe130144a69af71 (diff)
services: guix-build-coordinator: Support extra environment vars.
I'm looking at this because I need to do some debugging of Guile's GC, and there are some useful environment variables for that, but it should be generally useful. * gnu/services/guix.scm (guix-build-coordinator-configuration-extra-environment-variables): New procedure. (guix-build-coordinator-shepherd-services): Pass the environment variables to the shepherd. * doc/guix.texi (Guix Services): Document it.
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu/services/guix.scm12
2 files changed, 12 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ca0d09a0dc..c69fde646d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -37222,6 +37222,9 @@ for the hook and the value is the number of threads to run.
@item @code{guile} (default: @code{guile-3.0-latest})
The Guile package with which to run the Guix Build Coordinator.
+@item @code{extra-environment-variables} (default: @var{'()})
+Extra environment variables to set via the shepherd service.
+
@end table
@end deftp
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 5aa8f8f1a2..b5740892c4 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -48,6 +48,7 @@
guix-build-coordinator-configuration-hooks
guix-build-coordinator-configuration-parallel-hooks
guix-build-coordinator-configuration-guile
+ guix-build-coordinator-configuration-extra-environment-variables
guix-build-coordinator-service-type
@@ -171,7 +172,10 @@
(parallel-hooks guix-build-coordinator-configuration-parallel-hooks
(default '()))
(guile guix-build-coordinator-configuration-guile
- (default guile-3.0-latest)))
+ (default guile-3.0-latest))
+ (extra-environment-variables
+ guix-build-coordinator-configuration-extra-environment-variables
+ (default '())))
(define-record-type* <guix-build-coordinator-agent-configuration>
guix-build-coordinator-agent-configuration
@@ -331,7 +335,8 @@
allocation-strategy
hooks
parallel-hooks
- guile)
+ guile
+ extra-environment-variables)
(list
(shepherd-service
(documentation "Guix Build Coordinator")
@@ -362,7 +367,8 @@
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
"LC_ALL=en_US.utf8"
- "PATH=/run/current-system/profile/bin") ; for hooks
+ "PATH=/run/current-system/profile/bin" ; for hooks
+ #$@extra-environment-variables)
#:log-file "/var/log/guix-build-coordinator/coordinator.log")
args))))
(stop #~(make-kill-destructor))