diff --git a/pkgs/build-support/build-fhs-chrootenv/env.nix b/pkgs/build-support/build-fhs-chrootenv/env.nix index a50917a96cd..d80e2869e5e 100644 --- a/pkgs/build-support/build-fhs-chrootenv/env.nix +++ b/pkgs/build-support/build-fhs-chrootenv/env.nix @@ -62,7 +62,7 @@ let chosenGcc bashInteractive coreutils less shadow su gawk diffutils findutils gnused gnugrep - gnutar gzip bzip2 xz + gnutar gzip bzip2 xz glibcLocales ]; # Compose a global profile for the chroot environment @@ -72,6 +72,9 @@ let mkdir -p $out/etc cat >> $out/etc/profile << "EOF" export PS1='${name}-chrootenv:\u@\h:\w\$ ' + export LOCALE_ARCHIVE='/usr/lib${if is64Bit then "64" else ""}/locale/locale-archive' + export LD_LIBRARY_PATH=/run/opengl-driver/lib:/run/opengl-driver-32/lib:/lib:/lib32:/lib64 + export PATH='/bin:/sbin' ${profile} EOF ''; diff --git a/pkgs/build-support/build-fhs-chrootenv/load.sh.in b/pkgs/build-support/build-fhs-chrootenv/load.sh.in index 6089fa27585..99da20c34b2 100644 --- a/pkgs/build-support/build-fhs-chrootenv/load.sh.in +++ b/pkgs/build-support/build-fhs-chrootenv/load.sh.in @@ -3,4 +3,10 @@ chrootenvDest=/run/chrootenv/@name@ # Enter the LFS chroot environment -sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i PS1="$PS1" TERM="$TERM" DISPLAY="$DISPLAY" HOME="$HOME" PATH="/bin:/sbin" XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" /bin/bash --login +sudo chroot --userspec "$USER:${GROUPS[0]}" --groups "${GROUPS[0]}" $chrootenvDest /usr/bin/env -i \ + TERM="$TERM" \ + DISPLAY="$DISPLAY" \ + HOME="$HOME" \ + XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" \ + LANG="$LANG" \ + /bin/bash --login diff --git a/pkgs/build-support/build-fhs-userenv/chroot-user.rb b/pkgs/build-support/build-fhs-userenv/chroot-user.rb index 7a066f1bc84..35608bd3eb6 100755 --- a/pkgs/build-support/build-fhs-userenv/chroot-user.rb +++ b/pkgs/build-support/build-fhs-userenv/chroot-user.rb @@ -116,13 +116,11 @@ if $cpid == 0 link_swdir.call swdir, Pathname.new('') # New environment - oldenv = ENV.to_h - ENV.replace({ 'PS1' => oldenv['PS1'], - 'TERM' => oldenv['TERM'], - 'DISPLAY' => oldenv['DISPLAY'], - 'HOME' => oldenv['HOME'], - 'PATH' => '/bin:/sbin', - 'XDG_RUNTIME_DIR' => oldenv['XDG_RUNTIME_DIR'], + ENV.replace({ 'TERM' => ENV['TERM'], + 'DISPLAY' => ENV['DISPLAY'], + 'HOME' => ENV['HOME'], + 'XDG_RUNTIME_DIR' => ENV['XDG_RUNTIME_DIR'], + 'LANG' => ENV['LANG'], }) # Finally, exec!