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

48 lines
1.4 KiB
Markdown

# 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
```bash
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:
```bash
./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.
```bash
# ~/.config/zsh/local.zsh
. "$HOME/.cargo/env"
# ~/.config/zshrc/prefs.zsh
plugins+=(docker)
```
Tool fragments from this repo:
```bash
curl -fsSL https://git.miomio.moe/mio/easyzsh/raw/branch/master/patch.sh | bash -s -- fnm pyenv
```