Drop ~/.config/zsh/{env,interactive,login} modules. PATH and local.zsh
live in .zshenv; interactive UX is a single .zshrc again. Deploy only
installs the three stubs and removes obsolete trees/examples.
1.4 KiB
1.4 KiB
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.
From a git checkout:
./deploy.sh
Layout
| Path | Role | Reinstall |
|---|---|---|
~/.zshenv |
Always-on: Homebrew, ~/.local/bin, source local.zsh |
Overwritten |
~/.zshrc |
Interactive: omz, plugins, aliases, fzf, zoxide | Overwritten |
~/.zprofile |
Login placeholder (prefer local.zsh for machine hooks) |
Overwritten |
~/.config/zsh/local.zsh |
Machine-local overrides (every zsh, including agents) | Never overwritten |
~/.config/zshrc/*.zsh |
Personal/tool overlays before oh-my-zsh | Left alone |
~/.local/bin/ |
User tools + shims (e.g. grok → ~/.grok/bin/grok) |
Left alone |
Do not put ~/.grok/bin on PATH wholesale.
# ~/.config/zsh/local.zsh
. "$HOME/.cargo/env"
# ~/.config/zshrc/prefs.zsh
plugins+=(docker)
Tool fragments from this repo:
curl -fsSL https://git.miomio.moe/mio/easyzsh/raw/branch/master/patch.sh | bash -s -- fnm pyenv