From 075810965aa299b5da1b716bd811a0cf67381a80 Mon Sep 17 00:00:00 2001 From: Xevion Date: Mon, 24 Nov 2025 00:25:02 -0600 Subject: [PATCH] feat: add SDKMAN integration and improve mise/tool configuration - Add SDKMAN initialization to bashrc for Java SDK management - Create Fish shell wrapper function for SDKMAN commands - Switch from lazy-loading to automatic mise activation in Fish - Clean up fish_plugins comments for clarity - Add pnpm to mise tool-versions - Enable Shift+Enter in Kitty for Claude Code multi-line prompts - Make update_pre.ts hook executable --- home/dot_bashrc.tmpl | 6 +++++- home/dot_config/fish/conf.d/mise.fish | 4 ++++ home/dot_config/fish/fish_plugins | 6 ------ home/dot_config/fish/functions/mise.fish | 11 ----------- home/dot_config/fish/functions/sdk.fish | 4 ++++ home/dot_config/kitty/private_kitty.conf | 3 +++ home/hooks/.update_pre.ts | 0 home/tool-versions | 1 + 8 files changed, 17 insertions(+), 18 deletions(-) create mode 100644 home/dot_config/fish/conf.d/mise.fish delete mode 100644 home/dot_config/fish/functions/mise.fish create mode 100644 home/dot_config/fish/functions/sdk.fish mode change 100644 => 100755 home/hooks/.update_pre.ts diff --git a/home/dot_bashrc.tmpl b/home/dot_bashrc.tmpl index 197a89a..80d2237 100644 --- a/home/dot_bashrc.tmpl +++ b/home/dot_bashrc.tmpl @@ -113,4 +113,8 @@ fi # If WSL, add SSH key on startup (once per WSL start) {{- if .wsl }} eval `keychain --quiet --eval --agents ssh ~/.ssh/id_rsa` -{{ end }} \ No newline at end of file +{{ end }} + +# SDKMAN initialization +export SDKMAN_DIR="$HOME/.sdkman" +[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" \ No newline at end of file diff --git a/home/dot_config/fish/conf.d/mise.fish b/home/dot_config/fish/conf.d/mise.fish new file mode 100644 index 0000000..442b8d4 --- /dev/null +++ b/home/dot_config/fish/conf.d/mise.fish @@ -0,0 +1,4 @@ +# Activate mise automatically on shell startup +if command -q mise + mise activate fish | source +end diff --git a/home/dot_config/fish/fish_plugins b/home/dot_config/fish/fish_plugins index e0edd57..8511b5a 100644 --- a/home/dot_config/fish/fish_plugins +++ b/home/dot_config/fish/fish_plugins @@ -1,10 +1,4 @@ -# Fish shell plugins managed by Fisher -# https://github.com/jorgebucaran/fisher # -# To install all plugins: fisher update -# To add a plugin: fisher install -# To remove a plugin: fisher remove - jorgebucaran/fisher ilancosman/tide@v6 patrickf1/fzf.fish diff --git a/home/dot_config/fish/functions/mise.fish b/home/dot_config/fish/functions/mise.fish deleted file mode 100644 index c6bce19..0000000 --- a/home/dot_config/fish/functions/mise.fish +++ /dev/null @@ -1,11 +0,0 @@ -# Lazy-load mise on first use -function mise --wraps mise - # Initialize mise only once - if not set -q __mise_initialized - set -g __mise_initialized 1 - command mise activate fish | source - end - - # Execute the actual mise command - command mise $argv -end diff --git a/home/dot_config/fish/functions/sdk.fish b/home/dot_config/fish/functions/sdk.fish new file mode 100644 index 0000000..0c9e6e5 --- /dev/null +++ b/home/dot_config/fish/functions/sdk.fish @@ -0,0 +1,4 @@ +function sdk --description 'SDKMAN wrapper for Fish shell' + # Run sdk commands in a Bash subshell + bash -c "source '$HOME/.sdkman/bin/sdkman-init.sh' && sdk $argv" +end diff --git a/home/dot_config/kitty/private_kitty.conf b/home/dot_config/kitty/private_kitty.conf index 8a7d110..6a7a03f 100644 --- a/home/dot_config/kitty/private_kitty.conf +++ b/home/dot_config/kitty/private_kitty.conf @@ -5,3 +5,6 @@ include current-theme.conf enable_audio_bell no font_family MesloLGS NF + +# Claude Code: Enable Shift+Enter for multi-line prompts +map shift+enter send_text all \n diff --git a/home/hooks/.update_pre.ts b/home/hooks/.update_pre.ts old mode 100644 new mode 100755 diff --git a/home/tool-versions b/home/tool-versions index 44d701f..661b0b8 100644 --- a/home/tool-versions +++ b/home/tool-versions @@ -1,3 +1,4 @@ nodejs latest +pnpm latest zoxide 0.9.6 deno 2.2.2