summaryrefslogtreecommitdiff
path: root/gnu/services/base.scm
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2024-07-05 15:47:13 +0200
committerAndreas Enge <andreas@enge.fr>2025-02-17 14:57:55 +0100
commit9a41ec57626b63fa0efbd81483e20d541d4b068c (patch)
treee2bd92c6064ac6fee3dbce15942079ddae25d074 /gnu/services/base.scm
parentf0d4daa13f0b57f5c03af73d449b2c6dd3160d08 (diff)
gnu: guix-configuration: Add a chroot? parameter.
The parameter should take the values #t, #f or 'default. In a container environment, 'default amounts to #f, otherwise it amounts to #t. * gnu/services/base.scm (guix-configuration)<chroot?>: New field. (guix-shepherd-service): If chroot? is #f, add "--disable-chroot". If it is #t or 'default, do nothing. * gnu/system/linux-container.scm (containerized-operating-system): If chroot? is 'default, replace it by #f. * doc/guix.texi: Document the parameter. Change-Id: I8b9c3f46ad8650fa6ed4acee947b4ae5d002d03d
Diffstat (limited to 'gnu/services/base.scm')
-rw-r--r--gnu/services/base.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 4bc0433def6..0cd4d3e9cd0 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2024 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -224,6 +225,7 @@
guix-configuration-build-group
guix-configuration-build-accounts
guix-configuration-build-machines
+ guix-configuration-chroot?
guix-configuration-authorize-key?
guix-configuration-authorized-keys
guix-configuration-use-substitutes?
@@ -1924,6 +1926,8 @@ archive' public keys, with GUIX."
(default "guixbuild"))
(build-accounts guix-configuration-build-accounts ;integer
(default 10))
+ (chroot? guix-configuration-chroot? ;Boolean | 'default
+ (default 'default))
(authorize-key? guix-configuration-authorize-key? ;Boolean
(default #t))
(authorized-keys guix-configuration-authorized-keys ;list of gexps
@@ -2025,7 +2029,7 @@ proxy of 'guix-daemon'...~%")
glibc-utf8-locales)))
(match-record config <guix-configuration>
- (guix build-group build-accounts authorize-key? authorized-keys
+ (guix build-group build-accounts chroot? authorize-key? authorized-keys
use-substitutes? substitute-urls max-silent-time timeout
log-compression discover? extra-options log-file
http-proxy tmpdir chroot-directories environment
@@ -2095,6 +2099,9 @@ proxy of 'guix-daemon'...~%")
"--substitute-urls" #$(string-join substitute-urls)
#$@extra-options
+ #$@(if chroot?
+ '()
+ '("--disable-chroot"))
;; Add CHROOT-DIRECTORIES and all their dependencies
;; (if these are store items) to the chroot.
(append-map