Give SSH commands the user-level tool paths (#6632)
* Give SSH commands the user-level tool paths
ssh host cmd runs neither a login nor an interactive shell, so on Arch it
gets the bare sshd PATH and can't find mise-managed tools like the agent
CLIs herdr scans for. Set PATH in the PAM environment (per-user via
@{HOME}), append the user-level dirs in env-bootstrap so login shells and
the uwsm session get them too, and source env-bootstrap before bashrc's
interactive guard for bash variants that read it non-interactively.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Don't let an empty PATH turn into a cwd entry
Appending with a bare "$PATH:" prefix leaves a leading colon when PATH
is unset, which shells treat as the current directory.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
ab367b9477
commit
b925431025
@@ -23,5 +23,19 @@ if [ "$OMARCHY_PATH" != /usr/share/omarchy ]; then
|
||||
*":${OMARCHY_PATH%/}/bin:"*) ;;
|
||||
*) PATH="${OMARCHY_PATH%/}/bin${PATH:+:$PATH}" ;;
|
||||
esac
|
||||
export PATH
|
||||
fi
|
||||
|
||||
# User-level tool paths, appended so system binaries keep precedence. This is
|
||||
# what lets login shells (ssh, bash -lc) and the uwsm session find mise-managed
|
||||
# tools without an interactive rc. Keep these directories in sync with the PAM
|
||||
# PATH line from install/config/ssh-command-path.sh, which covers SSH commands
|
||||
# that run no shell setup at all.
|
||||
case ":$PATH:" in
|
||||
*":$HOME/.local/share/mise/shims:"*) ;;
|
||||
*) PATH="${PATH:+$PATH:}$HOME/.local/share/mise/shims" ;;
|
||||
esac
|
||||
case ":$PATH:" in
|
||||
*":$HOME/.local/bin:"*) ;;
|
||||
*) PATH="${PATH:+$PATH:}$HOME/.local/bin" ;;
|
||||
esac
|
||||
export PATH
|
||||
|
||||
Reference in New Issue
Block a user