Subject: Re: bug#40125: Problem with guix offload: Remote channel closed

From: Marius Bakke <[email-masked]>
Date: Sun, 22 Mar 2020 23:58:55 +0100

Mikael Djurfeldt <[email-masked]> writes:

>> It might be .bashrc is configured not to source the relevant scripts
>> when being invoked non-interactively, and/or through an SSH session.
>>
>
> You're right. It doesn't source the scripts. The PATH only becomes
> /usr/local/bin:/usr/bin:/bin:/usr/games in this case.

On Guix System, the default .bashrc does this:

if [[ $- != *i* ]]
then
    # We are being invoked from a non-interactive shell.  If this
    # is an SSH session (as in "ssh host command"), source
    # /etc/profile so we get PATH and other essential variables.
    [[ -n "$SSH_CLIENT" ]] && source /etc/profile

    # Don't do anything else.
    return
fi

IIRC Debian does something similar to detect if being invoked
non-interactively, but then just returns instead of sourcing anything.

Adding a line that sources ~/.guix-profile/etc/profile before the check
for an interactive shell might be enough in that case.

HTH,
Marius