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>
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).