* [bug#60632] [PATCH 1/1] services: base: Add extra-env support to guix-configuration.
@ 2023-01-07 18:19 Mathieu Othacehe
2023-01-11 19:38 ` Maxim Cournoyer
0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Othacehe @ 2023-01-07 18:19 UTC (permalink / raw)
To: 60632; +Cc: Mathieu Othacehe
* gnu/services/base.scm (<guix-configuration>)[extra-env]: New field.
(guix-shepherd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
---
Hello,
Here is a small patch to allow defining extra environment variables in the
guix-daemon context.
I intend to use it to set the GUIX_SUBSTITUTE_DEBUG variable to debug
https://issues.guix.gnu.org/48468.
Thanks,
Mathieu
doc/guix.texi | 4 ++++
gnu/services/base.scm | 10 +++++++---
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 293c3016aa..e337945ba7 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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{extra-env} (default: @code{'()})
+Environment variables to be set before starting the daemon, as a list of
+@code{key=value} strings.
+
@end table
@end deftp
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 6993e1f174..f29657e86e 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -198,6 +198,7 @@ (define-module (gnu services base)
guix-configuration-generate-substitute-key?
guix-configuration-extra-options
guix-configuration-log-file
+ guix-configuration-extra-env
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))
+ (extra-env guix-configuration-extra-env ;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 extra-env)
(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))
- '()))
+ '())
+ extra-env)
#:log-file #$log-file))))
(stop #~(make-kill-destructor))))))
--
2.38.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#60632] [PATCH 1/1] services: base: Add extra-env support to guix-configuration.
2023-01-07 18:19 [bug#60632] [PATCH 1/1] services: base: Add extra-env support to guix-configuration Mathieu Othacehe
@ 2023-01-11 19:38 ` Maxim Cournoyer
2023-01-31 22:18 ` Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Maxim Cournoyer @ 2023-01-11 19:38 UTC (permalink / raw)
To: Mathieu Othacehe; +Cc: 60632
Hi Mathieu,
Mathieu Othacehe <othacehe@gnu.org> writes:
> * gnu/services/base.scm (<guix-configuration>)[extra-env]: New field.
> (guix-shepherd-service): Honor it.
> * doc/guix.texi (Base Services): Document it.
> ---
> Hello,
>
> Here is a small patch to allow defining extra environment variables in the
> guix-daemon context.
>
> I intend to use it to set the GUIX_SUBSTITUTE_DEBUG variable to debug
> https://issues.guix.gnu.org/48468.
LGTM.
Side topic: I wonder if (with some changes to the daemon -- perhaps in
DerivationGoal::startBuilder) in nix/libstore/build.cc we could leak the
COLUMNS variable to be able to control the Guile builder backtrace
width.
--
Thanks,
Maxim
^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#60632] [PATCH 1/1] services: base: Add extra-env support to guix-configuration.
2023-01-11 19:38 ` Maxim Cournoyer
@ 2023-01-31 22:18 ` Ludovic Courtès
2023-10-14 19:54 ` bug#60632: " Mathieu Othacehe
0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2023-01-31 22:18 UTC (permalink / raw)
To: Maxim Cournoyer; +Cc: Mathieu Othacehe, 60632
Hi!
Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
> Side topic: I wonder if (with some changes to the daemon -- perhaps in
> DerivationGoal::startBuilder) in nix/libstore/build.cc we could leak the
> COLUMNS variable to be able to control the Guile builder backtrace
> width.
As a rule of thumb, I think we should keep the build environment
unchanged forever—no changes to the set of environment variables and
files/directories present in the build environment.
It’s important because the whole reproducibile-by-construction approach
depends on that.
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#60632: [PATCH 1/1] services: base: Add extra-env support to guix-configuration.
2023-01-31 22:18 ` Ludovic Courtès
@ 2023-10-14 19:54 ` Mathieu Othacehe
0 siblings, 0 replies; 4+ messages in thread
From: Mathieu Othacehe @ 2023-10-14 19:54 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 60632-done, Maxim Cournoyer
Hey,
> As a rule of thumb, I think we should keep the build environment
> unchanged forever—no changes to the set of environment variables and
> files/directories present in the build environment.
>
> It’s important because the whole reproducibile-by-construction approach
> depends on that.
OK, closing then :)
Thanks,
Mathieu
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-10-14 19:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-07 18:19 [bug#60632] [PATCH 1/1] services: base: Add extra-env support to guix-configuration Mathieu Othacehe
2023-01-11 19:38 ` Maxim Cournoyer
2023-01-31 22:18 ` Ludovic Courtès
2023-10-14 19:54 ` bug#60632: " Mathieu Othacehe
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).