# =====================
# Homebrew (MUST be early for PATH)
# =====================
eval "$(/opt/homebrew/bin/brew shellenv)"
# =====================
# Zimfw Initialization
# =====================
zstyle ':zim:git' aliases-prefix 'g'
ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim
[[ -f ${ZIM_HOME}/zimfw.zsh ]] || {
if (( ${+commands[curl]} )); then
curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \
https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
else
mkdir -p ${ZIM_HOME} && wget -nv -O ${ZIM_HOME}/zimfw.zsh \
https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
fi
}
[[ ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]] || source ${ZIM_HOME}/zimfw.zsh init -q
source ${ZIM_HOME}/init.zsh
unalias gh 2>/dev/null # Let GitHub CLI take precedence over Zim's git-help alias
# =====================
# Environment Variables
# =====================
export XDG_CONFIG_HOME="$HOME/.config"
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
# =====================
# Aliases
# =====================
alias py="python"
alias kc="kubectx"
alias kn="kubens"
alias tf='terraform'
alias vim='nvim'
alias k='kubectl'
# Claude Code
alias cc='claude --teammate-mode tmux'
alias ccc='claude --continue --teammate-mode tmux'
alias cct='tmux -CC new-session -s "claude-$(date +%s)" claude --teammate-mode tmux'
ccp() { claude --no-chrome --no-session-persistence -p "$*"; }
alias ccy='claude --teammate-mode tmux --dangerously-skip-permissions'
# =====================
# fzf Configuration (env vars only, init after Zim)
# =====================
export FZF_COMPLETION_TRIGGER='**'
export FZF_COMPLETION_OPTS='--border --info=inline'
export FZF_DEFAULT_OPTS="--height 100% --layout=reverse --preview '(highlight -O ansi {} || cat {}) 2> /dev/null | head -500'"
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --no-ignore --exclude={.git}'
# =====================
# Custom Functions
# =====================
back() { git reset HEAD~; }
goto_gitroot() { cd "$(git-root)"; }
autocommit() { git add .; git commit -m "$(date)"; git push origin main; }
# =====================
# Tools that require compdef (must be after Zim)
# =====================
eval "$(fzf --zsh)"
eval "$(zoxide init zsh)"
eval "$(mise activate zsh)"
eval "$(starship init zsh)"
# Google Workspace CLI (avoid conflict with zimfw gws alias)
alias gwscli="/Users/alexsu/.local/share/mise/installs/node/20.19.5/bin/gws"
# bun completions
[ -s "/Users/alexsu/.bun/_bun" ] && source "/Users/alexsu/.bun/_bun"
# bun
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
export PATH="$HOME/.local/bin:$PATH"