Files
easyzsh/README.md
T
Jeffrey e5e2801ce8 refactor(shell): collapse managed tree back into stubs
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.
2026-08-06 14:46:56 +08:00

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