Subject: [bug#53623] [PATCH] gnu: mosh: Fix path to binaries.

From: Thiago Jung Bauermann <[email-masked]>
Date: Sun, 30 Jan 2022 19:32:24 -0300

Hello,

Em domingo, 30 de janeiro de 2022, às 16:10:55 -03, Leo Famulari escreveu:
> On Sun, Jan 30, 2022 at 07:44:45PM +0100, Michael Rohleder wrote:
> > Leo Famulari <[email-masked]> writes:
> > > I wonder, did you install mosh via config.scm? Or with `guix install
> > > mosh`?
> > 
> > mosh is installed in the user profile via `guix install`.
> > perl is installed via config.scm.
> 
> Ah. I had to install mosh via config.scm, probably to work around this
> issue.
> 
> The environment created when logging in over SSH to use a
> non-interactive shell (such as for starting mosh) is not a complete
> environment and doesn't really work for packages installed with Guix.
> 
> We arranged so that system-level packages would work correctly in this
> enviroment, but it's not trivial to design a solution for user-level
> packages:
> 
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/shadow.scm?id=
> 43dd34c7777a212c99a97da7a2c237158faa9a1b#n135

Ah, right. I ran into that when mosh’ing into the remote machine.

This is actually a bash limitation (or even bug, I’d argue), because it 
doesn’t have an initialization file to set the environment for both 
interactive and non-interactive shells.

zsh has ~/.zshenv, which is always read and is where I source
/etc/profile.d/*.sh (including guix.sh). So the solution was simply to 
change the login shell from bash to zsh.

-- 
Thanks,
Thiago