# ~/.zshrc — managed by chezmoi # History HISTFILE="$HOME/.zsh_history" HISTSIZE=10000 SAVEHIST=10000 setopt SHARE_HISTORY HIST_IGNORE_DUPS # Completion autoload -Uz compinit && compinit # PATH extras / tool envs (machine-optional, guarded) case ":$PATH:" in *":$HOME/.local/bin:"*) ;; *) PATH="$HOME/.local/bin:$PATH" ;; esac [ -f "$HOME/.cargo/env" ] && . "$HOME/.cargo/env" [ -d "$HOME/.maestro/bin" ] && PATH="$PATH:$HOME/.maestro/bin" # Shared aliases (same set as fish/bash; source of truth: .chezmoidata/aliases.yaml) [ -f "$HOME/.config/shell/aliases.sh" ] && . "$HOME/.config/shell/aliases.sh" # Shell functions — one file per function, zsh ports of the fish ones # (cwd/history-touching helpers; standalone tools live in ~/.local/bin) if [ -d "$HOME/.config/zsh/functions" ]; then for _f in "$HOME/.config/zsh/functions"/*.zsh; do [ -r "$_f" ] && . "$_f" done unset _f fi # ZLE keybinds — zsh ports of fish_user_key_bindings.fish [ -f "$HOME/.config/zsh/keybinds.zsh" ] && . "$HOME/.config/zsh/keybinds.zsh" # suvadu shell history command -v suv >/dev/null 2>&1 && eval "$(suv init zsh)" # Generated for envman. Do not edit. [ -s "$HOME/.config/envman/load.sh" ] && . "$HOME/.config/envman/load.sh" # Prompt — starship, consistent with fish command -v starship >/dev/null 2>&1 && eval "$(starship init zsh)" # Fish-style syntax highlighting (zsh-users/zsh-syntax-highlighting). # MUST stay last in .zshrc: it wraps every zle widget defined above # (keybinds, compinit, suv/starship hooks). for _zsh_hl in \ /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \ /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \ /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh; do [ -r "$_zsh_hl" ] && . "$_zsh_hl" && break done unset _zsh_hl . "$HOME/.atuin/bin/env" eval "$(atuin init zsh)"