# Externals — the shell dependency chain, declared for the first time. # # None of these were tracked or declared anywhere before. `.zshrc` sourced # $ZSH/oh-my-zsh.sh unguarded, so `chezmoi init --apply` on a clean box produced # a .zshrc that broke the shell it configures, and nothing in the repo said why. # The guard went into .zshrc in phase 2; the six entries below are the other # half — the thing the guard is waiting for. # # ORDER MATTERS. chezmoi processes externals in target-path order, so # `.oh-my-zsh` is cloned before anything under `.oh-my-zsh/custom/`. The theme # and the two plugins are nested there deliberately: $ZSH_CUSTOM is # ~/.oh-my-zsh/custom (see .zshrc), and oh-my-zsh's own custom/.gitignore # excludes everything but example.zsh, so the nested clones do not dirty the # parent working tree on refresh. # # --depth=1 on clone is what each of these projects recommends; a full # oh-my-zsh history is ~50 MB of bootstrap nobody reads. `pull --ff-only` keeps # a refresh from ever creating a merge commit in someone else's repo. [".tmux"] type = "git-repo" url = "https://github.com/gpakosz/.tmux.git" refreshPeriod = "168h" [".tmux".pull] args = ["--ff-only"] [".oh-my-zsh"] type = "git-repo" url = "https://github.com/ohmyzsh/ohmyzsh.git" refreshPeriod = "168h" [".oh-my-zsh".clone] args = ["--depth=1"] [".oh-my-zsh".pull] args = ["--ff-only"] [".oh-my-zsh/custom/themes/powerlevel10k"] type = "git-repo" url = "https://github.com/romkatv/powerlevel10k.git" refreshPeriod = "168h" [".oh-my-zsh/custom/themes/powerlevel10k".clone] args = ["--depth=1"] [".oh-my-zsh/custom/themes/powerlevel10k".pull] args = ["--ff-only"] [".oh-my-zsh/custom/plugins/zsh-autosuggestions"] type = "git-repo" url = "https://github.com/zsh-users/zsh-autosuggestions.git" refreshPeriod = "168h" [".oh-my-zsh/custom/plugins/zsh-autosuggestions".clone] args = ["--depth=1"] [".oh-my-zsh/custom/plugins/zsh-autosuggestions".pull] args = ["--ff-only"] # .zshrc adds this to the plugins array only when this directory exists, and # only here — it used to be in the array on every platform AND separately # sourced from /opt/homebrew on macOS, so it loaded twice on mac and not at all # on Linux. Default branch is `main`, not `master`. [".oh-my-zsh/custom/plugins/zsh-ai"] type = "git-repo" url = "https://github.com/matheusml/zsh-ai.git" refreshPeriod = "168h" [".oh-my-zsh/custom/plugins/zsh-ai".clone] args = ["--depth=1"] [".oh-my-zsh/custom/plugins/zsh-ai".pull] args = ["--ff-only"] # Was a checked-in TPM checkout under .config/tmux/plugins. It is a clone of # someone else's repo; it belongs here, not in git history. [".config/tmux/plugins/tpm"] type = "git-repo" url = "https://github.com/tmux-plugins/tpm.git" refreshPeriod = "168h" [".config/tmux/plugins/tpm".clone] args = ["--depth=1"] [".config/tmux/plugins/tpm".pull] args = ["--ff-only"]