Files
dotfiles/dot_zshrc
T
Prad Nukala c3828a747c fix(atuin): use the packaged binary only
~/.atuin/bin held an old standalone atuin (18.19.0) that the shells
prepended to PATH, shadowing pacman's /usr/bin/atuin (18.21.0). The
daemon runs the packaged binary and migrated the history DB, so every
shell command through the old one failed with "migration 20260818000000
was previously applied but is missing in the resolved migrations".

Drop conf.d/atuin.env.fish, the `. ~/.atuin/bin/env` lines in .bashrc
and .zshrc (atuin init is now guarded on `command -v atuin`), the
cargo-dist receipt, and atuin-pick's ~/.atuin/bin fallback. Also drop
`atuin ai init fish`, which 18.21 removed; config.fish already carries
the `?` binding it emitted.
2026-10-05 11:00:15 -04:00

89 lines
3.3 KiB
Plaintext

# ~/.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"
# Go — GOPATH/GOBIN under ~/.local/share to keep $HOME clean.
# GOROOT is provided by mise (toolchain lives under ~/.local/share/mise).
export GOPATH="$HOME/.local/share/go"
export GOBIN="$GOPATH/bin"
case ":$PATH:" in *":$GOBIN:"*) ;; *) PATH="$GOBIN:$PATH" ;; esac
# Repo roots (ghq) — same as fish's conf.d/10-env.fish; the ghq-repos tv
# cable (ctrl-o) lists this root.
export GHQ_ROOT="$HOME/Code"
export CODE_ROOT="$HOME/Code"
# Android SDK — relocated under ~/.local/share/android.
export ANDROID_HOME="$HOME/.local/share/android"
export ANDROID_SDK_ROOT="$ANDROID_HOME"
for _adir in "$ANDROID_HOME/platform-tools" "$ANDROID_HOME/cmdline-tools/latest/bin" "$ANDROID_HOME/emulator"; do
case ":$PATH:" in *":$_adir:"*) ;; *) [ -d "$_adir" ] && PATH="$PATH:$_adir" ;; esac
done
unset _adir
# GITHUB_TOKEN from gh's keyring login — never stored on disk. An inherited
# value wins, so nested shells skip the gh call.
if [ -z "${GITHUB_TOKEN:-}" ] && command -v gh >/dev/null 2>&1; then
_gh_token="$(gh auth token 2>/dev/null)"
[ -n "$_gh_token" ] && export GITHUB_TOKEN="$_gh_token"
unset _gh_token
fi
# 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)"
# television: ctrl-t smart autocomplete (its ctrl-r is taken over by atuin
# below, as in fish)
command -v tv >/dev/null 2>&1 && eval "$(tv 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
# atuin comes from the package manager (/usr/bin); see ~/.bashrc.
command -v atuin >/dev/null 2>&1 && eval "$(atuin init zsh)"
# >>> termium >>>
case ":$PATH:" in *:'/home/prad/.local/bin':*) ;; *) export PATH='/home/prad/.local/bin':"$PATH" ;; esac
# <<< termium <<<