mirror of
https://github.com/Xevion/dotfiles.git
synced 2025-12-05 23:14:46 -06:00
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.
24 lines
646 B
Fish
24 lines
646 B
Fish
# 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
|