Yuhao QingandCursor 3fbf8b2350 perf(shell): skip oh-my-zsh completion security audit
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>
2026-08-03 03:58:06 +08:00

Easy Zsh Setup

One-command zsh environment: oh-my-zsh, powerlevel10k, and a curated plugin set (autosuggestions, syntax-highlighting, completions, history-substring-search, fzf-tab, k), plus eza, zoxide, fzf, and Nerd Fonts.

Install

curl -fsSL https://git.miomio.moe/mio/easyzsh/raw/branch/master/install.sh | bash

Options: --cp-hist / -c imports bash history; --non-interactive / -n skips the default-shell change. The installer backs up an existing ~/.zshrc and ~/.zshenv before replacing them.

Personal configuration

~/.zshrc is meant to stay close to this repo's canonical version. Put your own tweaks in ~/.config/zshrc/ instead of editing ~/.zshrc directly: every *.zsh file there is sourced near the end of ~/.zshrc, just before oh-my-zsh loads, so it can add plugins and override defaults.

# ~/.config/zshrc/my.zsh
plugins+=(zsh-nvm)                 # add plugins
plugins=(${plugins:#zsh-autosuggestions})   # or remove one
alias gs='git status'

Ready-made configs from this repo's zshrc/ directory (fnm, nvm, pyenv, merlin_devbox, merlin_worker, personal, p10k) can be pulled in by name:

curl -fsSL https://git.miomio.moe/mio/easyzsh/raw/branch/master/patch.sh | bash -s -- fnm pyenv

Because these files load before oh-my-zsh, plugin and theme changes take effect; aliases that must beat oh-my-zsh's own should be defined after oh-my-zsh loads (see the note in ~/.zshrc).

S
Description
No description provided
Readme
318 KiB
Languages
Shell 100%