mirror of
https://github.com/Xevion/dotfiles.git
synced 2025-12-15 08:11:38 -06:00
feat: migrate from Zsh to Fish shell with comprehensive configuration
Major shell migration replacing Zsh/Oh-My-Zsh with Fish shell: - Remove all Zsh configurations (dot_zshrc.tmpl, dot_p10k.zsh) - Remove Oh-My-Zsh external dependencies from .chezmoiexternal.toml - Add complete Fish shell setup with config.fish.tmpl and abbr.fish.tmpl - Implement Fish-native functions for lazy-loading tools (mise, pyenv, zoxide, etc.) - Create commonrc.fish.tmpl for cross-shell compatibility - Add Fish plugin management via Fisher (tide prompt, fzf.fish) - Update documentation (CLAUDE.md, TODO.md, ONBOARDING.md) to reflect Fish - Add .fish.tmpl file association to VS Code settings - Enhance PowerShell profile with lsd aliases - Configure git delta pager and zdiff3 merge conflict style - Update WSL keychain integration for Fish shell This migration maintains all existing tool integrations while improving startup performance through lazy-loading and Fish's native features.
This commit is contained in:
38
home/dot_config/fish/config.fish.tmpl
Normal file
38
home/dot_config/fish/config.fish.tmpl
Normal file
@@ -0,0 +1,38 @@
|
||||
# Fish shell configuration
|
||||
# Managed by chezmoi
|
||||
|
||||
# Disable greeting
|
||||
set -g fish_greeting
|
||||
|
||||
{{- if .wsl }}
|
||||
if status is-login
|
||||
and status is-interactive
|
||||
keychain --quiet --agents ssh --eval ~/.ssh/id_rsa | source
|
||||
end
|
||||
{{- end }}
|
||||
|
||||
# Common shared configuration (environment variables, PATH, tool setup)
|
||||
{{ template "scripts/commonrc.fish.tmpl" dict "data" . }}
|
||||
|
||||
# Chezmoi shell completion
|
||||
{{ completion "fish" }}
|
||||
|
||||
# VS Code / Cursor shell integration
|
||||
if test "$TERM_PROGRAM" = "vscode"
|
||||
if command -q code
|
||||
string replace -r '^' '' (code --locate-shell-integration-path fish) | source
|
||||
else if command -q cursor
|
||||
string replace -r '^' '' (cursor --locate-shell-integration-path fish) | source
|
||||
end
|
||||
end
|
||||
|
||||
# fzf key bindings (if fzf.fish plugin installed via Fisher)
|
||||
# Note: This is handled automatically by Fisher plugin
|
||||
|
||||
# Load custom functions from ~/.config/fish/functions/
|
||||
# (Fish does this automatically, no explicit sourcing needed)
|
||||
|
||||
# Load abbreviations
|
||||
if test -f ~/.config/fish/conf.d/abbr.fish
|
||||
source ~/.config/fish/conf.d/abbr.fish
|
||||
end
|
||||
Reference in New Issue
Block a user