---- On Sun, 16 Jan 2022 00:20:49 -0500 Leo Famulari wrote ---- > It could be documented briefly in the manual section Build Environment > Setup. How does this look? From 34fcd075efad1577aa139012c5d2fccf44e10058 Mon Sep 17 00:00:00 2001 From: Matt Date: Sun, 16 Jan 2022 12:30:37 -0500 Subject: [PATCH] Document /homeless-shelter --- doc/guix.texi | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 42691570ff..fd48a0dcd2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1193,6 +1193,19 @@ environment variables for HTTP and HTTPS downloads it performs, be it for fixed-output derivations (@pxref{Derivations}) or for substitutes (@pxref{Substitutes}). +The @env{HOME} environment variable is set to @file{/homeless-shelter} +during the build process. This ensures builds are determistic and +highlights all uses of @env{HOME}. Packages should not depend on the +pathname of a home directory. Instead, modify the build phase to set +@env{HOME} to @file{/tmp}: + +@lisp +(modify-phases %standard-phases + (add-before 'check 'fix-home-directory + (lambda _ + (setenv "HOME" "/tmp")))) +@end lisp + If you are installing Guix as an unprivileged user, it is still possible to run @command{guix-daemon} provided you pass @option{--disable-chroot}. However, build processes will not be isolated from one another, and not -- 2.34.0