--- Begin Message ---
Subject: |
Issues with Environment Variables |
Date: |
Tue, 26 Nov 2019 15:14:10 -0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
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.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#38391: Issues with Environment Variables |
Date: |
Thu, 28 Nov 2019 16:04:21 +0100 |
User-agent: |
Notmuch/0.29.2 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) |
Hi anon987321 (if that is your real name),
anon987321 <address@hidden> 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 address@hidden, so I'm closing the
bug report.
Hope this helps,
Marius
signature.asc
Description: PGP signature
--- End Message ---