Subject: bug#38391: closed (Re: bug#38391: Issues with Environment Variables)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 28 Nov 2019 15:05:02 +0000

Your bug report

#38391: Issues with Environment Variables

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
38391: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38391
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#38391: Issues with Environment Variables
From: Marius Bakke <[email-masked]>
To: anon987321 <[email-masked]>, [email-masked]
Date: Thu, 28 Nov 2019 16:04:21 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi anon987321 (if that is your real name),

anon987321 <[email-masked]> writes:

> 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

If you set GUIX_PROFILE=~/.guix-profile before sourcing the profile, the
exported variables will refer to that instead of just the _current_
generation (at the time of sourcing).  It's not very obvious,
improvements to the manual are welcome.  :-)

This topic is better suited for [email-masked], so I'm closing the
bug report.

Hope this helps,
Marius

Subject: Issues with Environment Variables
From: anon987321 <[email-masked]>
To: [email-masked]
Date: Tue, 26 Nov 2019 15:14:10 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

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.