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.
49 lines
1.4 KiB
Markdown
49 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 |
|
|
| `~/.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.
|
|
|
|
```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
|
|
```
|