Skip to content

Commit

Permalink
ssh kitten: Fix kitten not being on PATH when sshing into Debian systems
Browse files Browse the repository at this point in the history
Fixes #7160
  • Loading branch information
kovidgoyal committed Jan 2, 2025
1 parent dd249df commit 9d027e4
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 2 deletions.
3 changes: 3 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,14 @@ Detailed list of changes
-------------------------------------

0.38.2 [future]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- When mapping a custom kitten allow using shell escaping for the kitten path (:iss:`8178`)

- Fix border colors not being changed by auto light/dark themes at startup (:iss:`8180`)

- ssh kitten: Fix kitten not being on PATH when sshing into Debian systems (:iss:`7160`)

0.38.1 [2024-12-26]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
6 changes: 6 additions & 0 deletions shell-integration/bash/kitty.bash
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,12 @@ _ksi_main() {
IFS="$ifs"

builtin unset KITTY_SHELL_INTEGRATION
if [[ -n "$SSH_KITTEN_KITTY_DIR" ]]; then
if [[ ! "$PATH" =~ (^|:)${SSH_KITTEN_KITTY_DIR}(:|$) ]] && [[ -z "$(builtin command -v kitten)" ]]; then
builtin export PATH="${PATH}:${SSH_KITTEN_KITTY_DIR}"
fi
builtin unset SSH_KITTEN_KITTY_DIR
fi

_ksi_debug_print() {
# print a line to STDERR of parent kitty process
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,14 @@ function __ksi_schedule --on-event fish_prompt -d "Setup kitty integration after
test -n "$KITTY_SHELL_INTEGRATION" || return 0
set --local _ksi (string split " " -- "$KITTY_SHELL_INTEGRATION")
set --erase KITTY_SHELL_INTEGRATION
if test -n "$SSH_KITTEN_KITTY_DIR"
if not contains -- "$SSH_KITTEN_KITTY_DIR" "$PATH"
if not type kitten 2> /dev/null > /dev/null
set -gx PATH "$PATH" "$SSH_KITTEN_KITTY_DIR"
end
end
set --erase SSH_KITTEN_KITTY_DIR
end

# Enable cursor shape changes for default mode and vi mode
if not contains "no-cursor" $_ksi
Expand Down
3 changes: 2 additions & 1 deletion shell-integration/ssh/bootstrap-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -177,10 +177,11 @@ fi' > "$sh_script"
}

install_kitty_bootstrap() {
kitty_dir="$data_dir/kitty/bin"
export SSH_KITTEN_KITTY_DIR="$kitty_dir"
kitty_exists="n"
command -v kitty 2> /dev/null > /dev/null && kitty_exists="y"
if [ "$kitty_remote" = "yes" -o "$kitty_remote-$kitty_exists" = "if-needed-n" ]; then
kitty_dir="$data_dir/kitty/bin"
if [ "$kitty_exists" = "y" ]; then
export PATH="$kitty_dir:$PATH"
else
Expand Down
3 changes: 2 additions & 1 deletion shell-integration/ssh/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,8 +284,9 @@ def exec_with_shell_integration():
def install_kitty_bootstrap():
kitty_remote = os.environ.pop('KITTY_REMOTE', '')
kitty_exists = shutil.which('kitty')
kitty_dir = os.path.join(data_dir, 'kitty', 'bin')
os.environ['SSH_KITTEN_KITTY_DIR'] = kitty_dir
if kitty_remote == 'yes' or (kitty_remote == 'if-needed' and not kitty_exists):
kitty_dir = os.path.join(data_dir, 'kitty', 'bin')
if kitty_exists:
os.environ['PATH'] = kitty_dir + os.pathsep + os.environ['PATH']
else:
Expand Down
7 changes: 7 additions & 0 deletions shell-integration/zsh/kitty-integration
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,13 @@ _ksi_deferred_init() {
opt=(${(s: :)KITTY_SHELL_INTEGRATION})
builtin unset KITTY_SHELL_INTEGRATION

if [[ -n "$SSH_KITTEN_KITTY_DIR" ]]; then
if [[ ! "$PATH" =~ (^|:)${SSH_KITTEN_KITTY_DIR}(:|$) ]] && [[ -z "$(builtin command -v kitten)" ]]; then
builtin export PATH="${PATH}:${SSH_KITTEN_KITTY_DIR}"
fi
builtin unset SSH_KITTEN_KITTY_DIR
fi

# The directory where kitty-integration is located: /.../shell-integration/zsh.
builtin local self_dir="${functions_source[_ksi_deferred_init]:A:h}"
# The directory with _kitty. We store it in a directory of its own rather than
Expand Down

0 comments on commit 9d027e4

Please sign in to comment.