7a4394031720f95ccee5d1bebef695265e9d3688
Always-on and machine hooks already live in .zshenv / local.zsh. Drop the empty stub, remove it on deploy, and leave real .zprofile files to optional migration into local.zsh only.
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 |
~/.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 |
easyzsh does not manage ~/.zprofile. Put machine/login hooks in local.zsh.
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
Languages
Shell
100%