ng0 <n...@infotropique.org> skribis: > Ludovic Courtès transcribed 2.2K bytes: >> ng0 <n...@infotropique.org> 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’.