A single completion setup avoids duplicate initialization. Homebrew already exports its prefix during environment setup, so resolving it again adds an unnecessary subprocess.
Login shells source the fragment twice to restore shim precedence after the system profile. Reapplying PATH does not require repeating shell integration or rebuilding shims.
Set ZSH_DISABLE_COMPFIX=true so oh-my-zsh runs compinit -u instead of -i,
skipping the per-startup compaudit security scan. The completion directories
are machine-owned and not group/world-writable, so the audit only costs time.
Combined with deferring pyenv init in ~/.config/zshrc/pyenv.zsh, this cuts
interactive startup from ~258ms to ~211ms and agent shells from ~226ms to
~183ms.
Co-authored-by: Cursor <cursoragent@cursor.com>
Uncomment history-substring-search, systemd, k, extract, and sudo, and add
poetry to the default plugin list; all are installed via the bundled or custom
plugin dirs. Switch to robbyrussell when CURSOR_AGENT is set so Cursor's agent
terminal skips powerlevel10k, keeping interactive shells on p10k.
Co-authored-by: Cursor <cursoragent@cursor.com>
.zshenv runs brew shellenv for every zsh, including non-interactive and
GUI-launched shells; without a safe CWD the eval fails or triggers a
permission prompt when launched from a TCC-protected directory such as
~/Documents. Run it from /tmp.
The eza `l` alias (and the myip/e/ip/a/aa group) was defined before
oh-my-zsh loaded, so lib/directories.zsh overrode `l` back to ls. Move
the alias block after the oh-my-zsh source so the eza versions win.
Also document the ~/.config/zshrc personal-config mechanism and patch.sh
in the README, which previously only had a title.
Co-authored-by: Cursor <cursoragent@cursor.com>