I have had a few issues with environment variables with Guix under Ubuntu 18.04 lately.
The issue with locales isn't fixed with only $ guix install glibc-locales $ export GUIX_LOCPATH=$HOME/.guix-profile/lib/locale but rather, also requires $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 This issue was actually messing up with some programs installed with Guix. The Perl binary wouldn't work at all until i added those variables. I had two issues caused by ~/.guix-profile/etc/profile. First, Emacs's Semantic mode started having issues with GNU Global (both Emacs and global were installed with guix). It would complain about not knowing where global were located, with `/bin/bash global No Such File or Directory`. I did `which global`, revealing it was under /gnu/store/*hash*-global-6.6.3/bin/global. It seems Emacs didn't work well with looking for global directly under /gnu/store. I did set my $PATH to ~/.guix-profile/bin, but sourcing ~/.guix-profile/etc/profile caused it to add a /gnu/store/*hash*-profile to my $PATH, and this caused issues as the path wouldn't change even if i tried changing generations for my profile, doing rollbacks and all. If i tried to remove global, it would still be there under the same hash which was on $PATH, and Emacs would only work correctly if i launched it without sourcing ~/.guix-profile/etc/profile. I ended up removing guix completely and reinstalling it in order for it to fix Then, a bit later, i had another issue. I use Stumpwm, and it stopped working because SBCL started complaining that $XDG_DATA_DIRS was set to ~/.guix-profile//share (yes, double /), and it wanted an absolute path. Again the PATH i had set up "~/.guix-profile/share" was correct, but ~/.guix-profile/etc/profile was setting up another hash path that messed up with SBCL. After i removed the `source ~/.guix-profile/etc/profile` entry from my .profile, with a bit of work, i got stump working again (probably would have fixed the issue with GNU Global). My $GUIX_PROFILE is set to /home/user/.guix-profile I am currently not sourcing ~/.guix-profile/etc/profile, and instead exporting the variables by hand on my .profile. It seems to work correctly this way, but is not intuitive, and the original way caused lots of issues.