mirror of
https://github.com/Xevion/dotfiles.git
synced 2026-01-31 08:24:11 -06:00
feat: enhance Fish shell config with fzf bindings, Fisher auto-update, and native Linux browser
- Add fzf.fish keybinding customization (remap variables, preserve Atuin history) - Add Fisher plugin auto-update hook for chezmoi apply - Set Vivaldi as default browser on native Linux - Improve commit-staged command instructions - Add Kitty font size configuration
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Executable
+16
@@ -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"
|
||||
Reference in New Issue
Block a user