* Package recommended environment variables
@ 2019-05-16 9:25 Tk
2019-05-16 11:11 ` Amirouche
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Tk @ 2019-05-16 9:25 UTC (permalink / raw)
To: help-guix@gnu.org
When installing packages, I often get warnings about adding variables to .profile .
These warnings, however, get easily lost when installing bunch of stuff automatically. Is there a way of extracting this info again? Should I grep through package definitions?
Tk
Sent with [ProtonMail](https://protonmail.com) Secure Email.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Package recommended environment variables
2019-05-16 9:25 Package recommended environment variables Tk
@ 2019-05-16 11:11 ` Amirouche
2019-05-18 3:41 ` Ricardo Wurmus
2019-05-16 11:21 ` Tobias Geerinckx-Rice
2019-05-18 0:52 ` ison
2 siblings, 1 reply; 8+ messages in thread
From: Amirouche @ 2019-05-16 11:11 UTC (permalink / raw)
To: Tk; +Cc: Help-Guix, help-guix
On 2019-05-16 11:25, Tk wrote:
> When installing packages, I often get warnings about adding variables
> to .profile .
> These warnings, however, get easily lost when installing bunch of
> stuff automatically. Is there a way of extracting this info again?
> Should I grep through package definitions?
>
$ guix package --search-paths
export
PATH="/home/amirouche/.guix-profile/bin:/home/amirouche/.guix-profile/sbin"
export
GUILE_LOAD_PATH="/home/amirouche/.guix-profile/share/guile/site/2.2"
export
GUILE_LOAD_COMPILED_PATH="/home/amirouche/.guix-profile/lib/guile/2.2/site-ccache"
export INFOPATH="/home/amirouche/.guix-profile/share/info"
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Package recommended environment variables
2019-05-16 9:25 Package recommended environment variables Tk
2019-05-16 11:11 ` Amirouche
@ 2019-05-16 11:21 ` Tobias Geerinckx-Rice
2019-05-16 13:13 ` Tk
2019-05-16 13:27 ` Jeff Bauer
2019-05-18 0:52 ` ison
2 siblings, 2 replies; 8+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-16 11:21 UTC (permalink / raw)
To: Tk; +Cc: help-guix@gnu.org
[-- Attachment #1: Type: text/plain, Size: 1933 bytes --]
Tk,
Tk wrote:
> When installing packages, I often get warnings about adding
> variables to .profile .
Which warnings are these? Are you sure that's what they mean?
Something like ‘the following variable definitions might be
needed’ doesn't mean you should go edit your .profile, but you're
far from the first to do so. They are printed because guix cannot
change the environment of the shell that invoked it, so ‘guix
install foo; foo’ won't work if foo needs a certain environment
variable to be set. It will work if you open a new shell. That's
a Unix limitation¹.
There was some talk about rephrasing that warning, but IIRC that
was difficult to do without making other assumptions. I don't
know if anything came of it.
> These warnings, however, get easily lost when installing bunch
> of stuff automatically. Is there a way of extracting this info
> again? Should I grep through package definitions?
Grepping won't help since these variables (‘search paths’) are
almost always propagated from dependencies, such as glib. Take a
look at the ‘--search-paths’ argument to ‘guix package’. It will
probably do what you want. Note that it's not limited to a single
package.
However, why are you interested in this information?
- If it's because you're manually adding variables to .profile:
don't; Guix already takes care of this automatically, you should
simply source <guix-profile>/etc/profile if you aren't already.
- If it's because you're using an incompatible shell and are
maintaining your own ‘port’ of that file: you're *probably*
better off with a simple ‘bash -c ". guix-profile/etc/profile &&
exec myshell"’ wrapper.
- If it's because Guix's …/etc/profile is otherwise lacking for
you, please let us know why.
Kind regards,
T G-R
[1]: There are horrible ways to fake this but let's not.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Package recommended environment variables
2019-05-16 11:21 ` Tobias Geerinckx-Rice
@ 2019-05-16 13:13 ` Tk
2019-05-18 3:40 ` Ricardo Wurmus
2019-05-16 13:27 ` Jeff Bauer
1 sibling, 1 reply; 8+ messages in thread
From: Tk @ 2019-05-16 13:13 UTC (permalink / raw)
To: help-guix@gnu.org
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Thursday, 16 May 2019 13:21, Tobias Geerinckx-Rice <me@tobias.gr> wrote:
> Tk,
>
> Tk wrote:
>
> > When installing packages, I often get warnings about adding > variables to .profile .
>
> Which warnings are these? Are you sure that's what they mean?
>
> Something like ‘the following variable definitions might be needed’ doesn't mean you should go edit your .profile, but you're far from the first to do so. They are printed because guix cannot change the environment of the shell that invoked it, so ‘guix install foo; foo’ won't work if foo needs a certain environment variable to be set. It will work if you open a new shell. That's a Unix limitation¹.
>
> There was some talk about rephrasing that warning, but IIRC that was difficult to do without making other assumptions. I don't know if anything came of it.
>
> > These warnings, however, get easily lost when installing bunch > of stuff automatically. Is there a way of extracting this info > again? Should I grep through package definitions?
>
> Grepping won't help since these variables (‘search paths’) are almost always propagated from dependencies, such as glib. Take a look at the ‘--search-paths’ argument to ‘guix package’. It will probably do what you want. Note that it's not limited to a single package.
>
> However, why are you interested in this information?
>
> - If it's because you're manually adding variables to .profile: don't; Guix already takes care of this automatically, you should simply source <guix-profile>/etc/profile if you aren't already.
>
> - If it's because you're using an incompatible shell and are maintaining your own ‘port’ of that file: you're probably better off with a simple ‘bash -c ". guix-profile/etc/profile && exec myshell"’ wrapper.
> - If it's because Guix's …/etc/profile is otherwise lacking for you, please let us know why.
>
> Kind regards,
>
> T G-R
>
> [1]: There are horrible ways to fake this but let's not.
>
Hi Tobias and others,
Thanks for the responses. First of all, I am using the Guix distro, not guix inside 3rd party GNU\Linux distribution.
At first, it looked to me like I do not need to touch anything, however there were few times when I had to export those variables manually, probably because of the Unix limitation that you mentioned. Unfortunately I do not remember where I hit this and if I ever executed a login shell to check this.
Except PATH, there are other environment variables needed by, for example, R, or Python, or Git. These also get mentioned in the warnings. Are they also automatically set and sourced once I enter another login shell?
Cheers,
Todor
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Package recommended environment variables
2019-05-16 11:21 ` Tobias Geerinckx-Rice
2019-05-16 13:13 ` Tk
@ 2019-05-16 13:27 ` Jeff Bauer
1 sibling, 0 replies; 8+ messages in thread
From: Jeff Bauer @ 2019-05-16 13:27 UTC (permalink / raw)
To: Tobias Geerinckx-Rice; +Cc: help-guix@gnu.org
I've put the following in my .profile:
GUIX_PROFILE="$HOME/.guix-profile"
if [ -d $GUIX_PROFILE ] || [ -h $GUIX_PROFILE ] ; then
export GUIX_PROFILE
export GUIX_LOCPATH=$GUIX_PROFILE/lib/locale/
source $GUIX_PROFILE/etc/profile
fi
I have it set up this way so my .profile is portable
between guix and non-guix systems. GUIX_LOCPATH was
added to get rid of warning messages.
Any suggestions for improvements are welcome. Thanks.
-Jeff
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Package recommended environment variables
2019-05-16 9:25 Package recommended environment variables Tk
2019-05-16 11:11 ` Amirouche
2019-05-16 11:21 ` Tobias Geerinckx-Rice
@ 2019-05-18 0:52 ` ison
2 siblings, 0 replies; 8+ messages in thread
From: ison @ 2019-05-18 0:52 UTC (permalink / raw)
To: Tk; +Cc: help-guix
Somebody correct me if I'm wrong, but don't these always get placed into
~/.guix-profile/etc/profile
Right now mine seems almost identical to the output of
guix package --search-paths
with the only difference being that the values in that file are prepended to the
existing ones. Therefore all you should have to do to ensure you always have the
right vars is to just source that file.
I have this in my ~/.profile and as far as I can tell it always gives me any
vars that guix tells me to set
[[ -f /etc/profile ]] && source /etc/profile
[[ -f ${HOME}/.guix-profile/etc/profile ]] && source ${HOME}/.guix-profile/etc/profile
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Package recommended environment variables
2019-05-16 13:13 ` Tk
@ 2019-05-18 3:40 ` Ricardo Wurmus
0 siblings, 0 replies; 8+ messages in thread
From: Ricardo Wurmus @ 2019-05-18 3:40 UTC (permalink / raw)
To: Tk; +Cc: help-guix@gnu.org
Tk <tk.code@protonmail.com> writes:
> Except PATH, there are other environment variables needed by, for
> example, R, or Python, or Git. These also get mentioned in the
> warnings. Are they also automatically set and sourced once I enter
> another login shell?
Those that are mentioned by Guix: yes.
There are other variables that are mentioned in the application setup
section of the manual that may be required e.g. for SSL when using R.
Due to limitations in Guix they may not necessarily be automatically
set.
--
Ricardo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Package recommended environment variables
2019-05-16 11:11 ` Amirouche
@ 2019-05-18 3:41 ` Ricardo Wurmus
0 siblings, 0 replies; 8+ messages in thread
From: Ricardo Wurmus @ 2019-05-18 3:41 UTC (permalink / raw)
To: Amirouche; +Cc: help-guix
Amirouche <amirouche@hyper.dev> writes:
> On 2019-05-16 11:25, Tk wrote:
>> When installing packages, I often get warnings about adding variables
>> to .profile .
>> These warnings, however, get easily lost when installing bunch of
>> stuff automatically. Is there a way of extracting this info again?
>> Should I grep through package definitions?
>>
>
> $ guix package --search-paths
>
> export
> PATH="/home/amirouche/.guix-profile/bin:/home/amirouche/.guix-profile/sbin"
> export
> GUILE_LOAD_PATH="/home/amirouche/.guix-profile/share/guile/site/2.2"
> export
> GUILE_LOAD_COMPILED_PATH="/home/amirouche/.guix-profile/lib/guile/2.2/site-ccache"
> export INFOPATH="/home/amirouche/.guix-profile/share/info"
That’s one way. Another is to look at the Guix profile’s “etc/profile” file.
--
Ricardo
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-05-18 3:42 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-16 9:25 Package recommended environment variables Tk
2019-05-16 11:11 ` Amirouche
2019-05-18 3:41 ` Ricardo Wurmus
2019-05-16 11:21 ` Tobias Geerinckx-Rice
2019-05-16 13:13 ` Tk
2019-05-18 3:40 ` Ricardo Wurmus
2019-05-16 13:27 ` Jeff Bauer
2019-05-18 0:52 ` ison
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).