environment: Set USER and LOGNAME in container

* guix/scripts/environment.scm (launch-environment/container): Set
  username environment variables.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Lars-Dominik Braun 2020-08-25 10:52:21 +02:00 committed by Ludovic Courtès
parent 769b948f7f
commit bc8be17c4d
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -477,6 +477,7 @@ (define (optional-mapping->fs mapping)
(group-entry (gid 65534) ;the overflow GID
(name "overflow"))))
(home-dir (password-entry-directory passwd))
(logname (password-entry-name passwd))
(environ (filter (match-lambda
((variable . value)
(find (cut regexp-exec <> variable)
@ -528,6 +529,10 @@ (define (optional-mapping->fs mapping)
;; The same variables as in Nix's 'build.cc'.
'("TMPDIR" "TEMPDIR" "TMP" "TEMP"))
;; Some programs expect USER and/or LOGNAME to be set.
(setenv "LOGNAME" logname)
(setenv "USER" logname)
;; Create a dummy home directory.
(mkdir-p home-dir)
(setenv "HOME" home-dir)