mirror of
https://github.com/Xevion/dotfiles.git
synced 2025-12-09 06:06:57 -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:
23
home/dot_config/fish/functions/pyenv.fish
Normal file
23
home/dot_config/fish/functions/pyenv.fish
Normal file
@@ -0,0 +1,23 @@
|
||||
# Lazy-load pyenv on first use
|
||||
function pyenv --wraps pyenv
|
||||
# Initialize pyenv only once
|
||||
if not set -q __pyenv_initialized
|
||||
set -g __pyenv_initialized 1
|
||||
|
||||
# Add to PATH if not already there
|
||||
if test -d $PYENV_ROOT/bin; and not contains $PYENV_ROOT/bin $PATH
|
||||
set -gx PATH $PYENV_ROOT/bin $PATH
|
||||
end
|
||||
|
||||
# Run pyenv init
|
||||
command pyenv init - fish | source
|
||||
|
||||
# pyenv-virtualenv if available
|
||||
if command -q pyenv-virtualenv-init
|
||||
command pyenv virtualenv-init - fish | source
|
||||
end
|
||||
end
|
||||
|
||||
# Execute the actual pyenv command
|
||||
command pyenv $argv
|
||||
end
|
||||
Reference in New Issue
Block a user