diff --git a/home/.chezmoitemplates/scripts/commonrc.sh.tmpl b/home/.chezmoitemplates/scripts/commonrc.sh.tmpl index 78f49db..5d01d79 100644 --- a/home/.chezmoitemplates/scripts/commonrc.sh.tmpl +++ b/home/.chezmoitemplates/scripts/commonrc.sh.tmpl @@ -170,6 +170,10 @@ wt() { # SSH key management (keychain loads keys once per WSL session) eval `keychain --quiet --eval --agents ssh ~/.ssh/id_rsa` +{{- else }} + +# Native Linux browser (use Vivaldi) +export BROWSER=vivaldi-stable {{ end }} # atuin (magical shell history with sync) diff --git a/home/dot_claude/commands/commit-staged.md b/home/dot_claude/commands/commit-staged.md index a76226e..0698c44 100644 --- a/home/dot_claude/commands/commit-staged.md +++ b/home/dot_claude/commands/commit-staged.md @@ -46,6 +46,6 @@ $ARGUMENTS - You should only use 'git commit' and create a single commit - If in plan mode, proceed with the commit anyway - command execution is implied - Do not stage any additional files -- Create the commit using a single bash command -- Do not use any other tools or do anything else -- Do not send any other text or messages besides the git commit command +- Execute the commit using the Bash tool with a single git commit command +- Do not use any other tools besides Bash +- Do not send any other text or messages - only invoke the Bash tool to execute the commit diff --git a/home/dot_config/fish/conf.d/abbr.fish.tmpl b/home/dot_config/fish/conf.d/abbr.fish.tmpl index e511501..39fa3f6 100644 --- a/home/dot_config/fish/conf.d/abbr.fish.tmpl +++ b/home/dot_config/fish/conf.d/abbr.fish.tmpl @@ -21,7 +21,6 @@ abbr -a es 'exec fish' # Chezmoi abbr -a cha 'chezmoi apply' -abbr -a chai 'chezmoi apply --interactive' abbr -a ch 'chezmoi' alias cdc='chezmoi cd' diff --git a/home/dot_config/fish/config.fish.tmpl b/home/dot_config/fish/config.fish.tmpl index cb24f9b..144d9ba 100644 --- a/home/dot_config/fish/config.fish.tmpl +++ b/home/dot_config/fish/config.fish.tmpl @@ -26,8 +26,20 @@ if test "$TERM_PROGRAM" = "vscode" end end -# fzf key bindings (if fzf.fish plugin installed via Fisher) -# Note: This is handled automatically by Fisher plugin +# fzf.fish configuration (PatrickF1/fzf.fish via Fisher) +if functions -q fzf_configure_bindings + # Remap CTRL+V (variables) to Alt+Ctrl+V to avoid paste conflict + # Disable history (--history=) to let Atuin keep CTRL+R + fzf_configure_bindings --variables=\e\cv --history= + + # Always include hidden files (dotfiles) in searches + set -g fzf_fd_opts --hidden + + # Directory search: Ctrl+I toggles gitignored files + set -g fzf_directory_opts \ + --header 'C-i: toggle ignored' \ + --bind 'ctrl-i:reload(fd --type f --hidden --no-ignore)+change-prompt(+ignored > )' +end # Load custom functions from ~/.config/fish/functions/ # (Fish does this automatically, no explicit sourcing needed) diff --git a/home/dot_config/kitty/private_kitty.conf b/home/dot_config/kitty/private_kitty.conf index 7ccf02c..c5b7af3 100644 --- a/home/dot_config/kitty/private_kitty.conf +++ b/home/dot_config/kitty/private_kitty.conf @@ -5,6 +5,7 @@ include current-theme.conf enable_audio_bell no font_family MesloLGS NF +font_size 9.0 # Disable command finish notifications (fixes cryptic "4;0;0" notifications) notify_on_cmd_finish never diff --git a/home/run_before_fisher-update.sh.tmpl b/home/run_before_fisher-update.sh.tmpl new file mode 100755 index 0000000..db229ff --- /dev/null +++ b/home/run_before_fisher-update.sh.tmpl @@ -0,0 +1,16 @@ +#!/bin/bash + +# Update Fisher plugins + +if ! command -v fish &> /dev/null; then + echo "[err] Fish shell not installed - skipping fisher update" + exit 0 +fi + +if ! fish -c "type -q fisher" &> /dev/null; then + echo "[err] Fisher not installed - skipping fisher update" + exit 0 +fi + +echo "Updating Fisher plugins..." +fish -c "fisher update" && echo "[ok] Fisher plugins updated" || echo "[err] Fisher update failed"