summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2025-05-19 21:28:14 +0200
committerLudovic Courtès <ludo@gnu.org>2025-05-24 12:48:05 +0200
commitf8527e7f2044ec7bb19efcb25158ec7aa0fe5fa3 (patch)
treeb94379ae282ae245e912b0965793731ba8ff3451
parent0c799ea004129c487a0aa8573d2e3e0839c84b2f (diff)
environment: Provide a writable /run/user/$UID.
* guix/scripts/environment.scm (launch-environment/container): Add /run/user/UID to ‘file-systems’. * tests/guix-environment-container.sh: Test it. Change-Id: I44c70a7554a06f40d073c25929ea7c6ded356d08
-rw-r--r--guix/scripts/environment.scm5
-rw-r--r--tests/guix-environment-container.sh3
2 files changed, 8 insertions, 0 deletions
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index 96bbc6c9fa..1c2d222c74 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -875,6 +875,11 @@ WHILE-LIST."
reqs)))
(file-systems (append %container-file-systems
(list tmpfs ; RW /tmp
+ (file-system ; RW /run
+ (inherit tmpfs)
+ (mount-point
+ (string-append "/run/user/"
+ (number->string uid))))
(file-system ; RW ~
(device "none")
(mount-point
diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh
index e1c3655846..220e6b8ec8 100644
--- a/tests/guix-environment-container.sh
+++ b/tests/guix-environment-container.sh
@@ -203,6 +203,9 @@ guix environment --bootstrap --container --ad-hoc guile-bootstrap \
guix environment --bootstrap --container --ad-hoc guile-bootstrap \
-- guile -c '(mkdir (string-append (getenv "HOME") "/foo"))'
+# And /run too!
+guix environment --bootstrap --container --ad-hoc guile-bootstrap \
+ -- guile -c '(mkdir "/run/user/1000/shepherd")'
# Check the exit code.