mirror of
https://github.com/tedkulp/dotfiles
synced 2026-03-05 13:40:18 -05:00
71 lines
1.8 KiB
Bash
71 lines
1.8 KiB
Bash
# **1. Instant Prompt – MUST be first**
|
||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||
fi
|
||
|
||
# 2. Load Zinit
|
||
source "${HOME}/.local/share/zinit/zinit.git/zinit.zsh"
|
||
|
||
export ZSH_CUSTOM=$HOME/.config/zsh
|
||
|
||
# 3. Load Powerlevel10k — do NOT use ice wait or turbo on it
|
||
zinit ice depth=1 lucid nocd
|
||
zinit light romkatv/powerlevel10k
|
||
|
||
# 4. Source your p10k config
|
||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||
|
||
# 5. Initialize completions early (needed for proper tab completion)
|
||
autoload -Uz compinit
|
||
compinit
|
||
|
||
# 6. Plugins (turbo when possible)
|
||
zinit ice wait lucid atload'_zsh_autosuggest_start'
|
||
zinit light zsh-users/zsh-autosuggestions
|
||
|
||
zinit ice wait lucid blockf
|
||
zinit light asdf-vm/asdf
|
||
|
||
zinit ice wait lucid blockf
|
||
zinit light wintermi/zsh-brew
|
||
|
||
zinit ice wait lucid blockf
|
||
zinit light atuinsh/atuin
|
||
|
||
zinit wait lucid for MichaelAquilina/zsh-autoswitch-virtualenv
|
||
|
||
zinit ice wait lucid blockf
|
||
zinit light ajeetdsouza/zoxide
|
||
|
||
# fzf-tab — defer after other interactive tools
|
||
zinit ice wait lucid blockf
|
||
zinit light Aloxaf/fzf-tab
|
||
|
||
|
||
# direnv — from GitHub releases
|
||
zinit from"gh-r" as"program" mv"direnv* -> direnv" \
|
||
atclone'./direnv hook zsh > zhook.zsh' atpull'%atclone' \
|
||
pick"direnv" src="zhook.zsh" for \
|
||
direnv/direnv
|
||
|
||
# 7. Syntax highlighting — fast and light
|
||
zinit ice wait lucid
|
||
zinit light zdharma-continuum/fast-syntax-highlighting
|
||
|
||
# 8. Completions (keep blockf, no wait!)
|
||
zi for \
|
||
blockf \
|
||
lucid \
|
||
zsh-users/zsh-completions
|
||
|
||
# 9. Load all custom configs from $ZSH_CUSTOM
|
||
for config_file ("$ZSH_CUSTOM"/*.zsh(N)); do
|
||
source "$config_file"
|
||
done
|
||
unset config_file
|
||
|
||
# 10. Custom functions/aliases
|
||
function timezsh() {
|
||
for i in {1..5}; do /usr/bin/time -p zsh -i -c exit; done
|
||
}
|