Ensure Prezto submodule is initialized on clone/install

install.sh: use --recurse-submodules on the initial clone, and always
run 'git submodule update --init --recursive' before rake install so a
fresh checkout doesn't leave zsh/prezto empty.

README: document --recurse-submodules for manual clones; mention the
recovery command for existing shallow clones.

Fixes: bad math expression errors and 'no such file or directory:
~/.zprezto/runcoms/zshrc' on fresh shell startup when the Prezto
submodule hadn't been initialized.
This commit is contained in:
2026-04-21 08:06:07 -07:00
parent e455702f01
commit 1e39d19ab2
2 changed files with 16 additions and 5 deletions

View File

@@ -18,10 +18,15 @@ curl -fsSL https://gitea.dlw.la/dissimulo/drunkendotfiles/raw/branch/drunkendotf
Or clone first:
```sh
git clone https://gitea.dlw.la/dissimulo/drunkendotfiles.git ~/.yadr
git clone --recurse-submodules https://gitea.dlw.la/dissimulo/drunkendotfiles.git ~/.yadr
~/.yadr/install.sh
```
`--recurse-submodules` matters: Prezto lives in `zsh/prezto` as a git
submodule. Without it, `~/.zshrc` fails on startup with a missing
`~/.zprezto/runcoms/zshrc`. (If you already cloned without it,
`cd ~/.yadr && git submodule update --init --recursive` catches you up.)
The installer:
1. Clones this repo to `~/.yadr`
@@ -38,12 +43,12 @@ Two things can be refreshed independently.
### Pull new drunkendotfiles changes
```sh
cd ~/.yadr && git pull
cd ~/.yadr && git pull --recurse-submodules
```
That gets you any new config changes, tmux tweaks, helper scripts, etc.
pushed to this repo. Vim plugins and prezto modules are *not* touched — see
below.
pushed to this repo, plus any bumps to the Prezto submodule pointer.
Vim plugins are *not* touched — see below.
### Refresh YADR plugins