Subject: Re: bug#27386: offloading documentation and env

From: [email-masked] (Ludovic Courtès)
Date: Wed, 28 Jun 2017 10:31:45 +0200

ng0 <[email-masked]> skribis:

> Ludovic Courtès transcribed 2.2K bytes:
>> ng0 <[email-masked]> skribis:
>> 
>> > Ludovic Courtès transcribed 2.8K bytes:

[...]

>> The problem here is that
>> /run/current-system/profile/share/guile/site/2.2, which is where the
>> Guix modules are on GuixSD as I wrote above, is missing from the search
>> path.
>> 
>> The session started when you run “ssh shadownet env” does not spawn a
>> login shell; thus ~/.profile and similar are *not* sourced.  I’m using
>
> I was aware of this, but I thought we had (guix) available nevertheless
> and I was just pushing the wrong buttons.
>
>> Bash, so on my accounts, I have this in .bashrc (‘.bashrc’ is for
>> non-login shells):
>> 
>> --8<---------------cut here---------------start------------->8---
>> if [ -n "$SSH_CLIENT" -a -z "`type -P cat`" ]
>> then
>>     # We are being invoked from a non-interactive SSH session
>>     # (as in "ssh host command") but 'cat' cannot be found
>>     # in $PATH.  Source /etc/profile so we get $PATH and other
>>     # essential variables.
>>     source /etc/profile
>> fi
>> --8<---------------cut here---------------end--------------->8---
>> 
>> That way, “ssh HOST COMMAND” effectively gets the same environment as a
>> login shell.
>
> I use the same on this computer, but at the end of it I source some
> files, among them ~/.guix-profile/etc/profile
>
> I would guess that sourcing ~/.guix-profile/etc/profile gets into
> the way and that moving this to .bash_profile could fix the issue.
>
> What do you think?

~/.guix-profile/etc/profile won't add /run/current-system/… to the
search path.  You really need to source /etc/profile, which in turn will
source ~/.guix-profile/etc/profile (on GuixSD).

HTH,
Ludo’.