From 914b75a627bf29e46b43f78e8a1d7b5152603587 Mon Sep 17 00:00:00 2001 From: Nate Vick Date: Fri, 7 Aug 2026 16:14:54 -0700 Subject: [PATCH] docs: note that chezmoi apply never pulls `chezmoi apply` applies from the local source only. On a second machine that reads as a gating bug: the run script for a newly merged feature simply isn't there, and the templates look wrong. `chezmoi update` is the pull+apply command, and the Day-to-day list never mentioned it. Cost a full debugging round-trip today chasing .headless gating on a Mac whose clone was just behind main. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01H2p4TH5SX7B3J8oAQaidc8 --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e8530e7..8a3857f 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,16 @@ On macOS, `Alt-C` needs the terminal set to treat Option as Meta (Esc+); `Ctrl-T - `chezmoi edit ~/.zshrc` — edit a managed file - `chezmoi diff` — preview what apply would change (always run first) -- `chezmoi apply` — apply changes +- `chezmoi apply` — apply changes **from the local source only; this never pulls** +- `chezmoi update` — `git pull` the source, then apply. Use this on a second machine - `chezmoi cd` — drop into the source repo +If a machine is missing something you know you merged, check the source is current before +suspecting the templates — a stale clone looks exactly like a gating bug: + +```sh +git -C "$(chezmoi execute-template '{{ .chezmoi.workingTree }}')" log --oneline -1 +``` + Per-machine/secret junk goes in `~/.config/zsh/local.zsh` (git-ignored, sourced last). Work machines additionally clone the private `dotfiles-work` overlay and run its `install.sh`.