Update pinned dependencies across this dotfiles repo — chezmoi externals, mise tools, Homebrew formulae, and Linux packages. Use when asked to update, bump, or check for outdated dependencies.
Check every pinned dependency source in this repo for available updates, present a summary, and apply chosen bumps.
gh CLI must be available and authenticatedmise must be on PATHbrew must be available (macOS only — skip Homebrew checks on Linux)Files: home/.chezmoiexternals/zsh.toml.tmpl, home/.chezmoiexternals/tmux.toml.tmpl
These pin GitHub repos to a short commit hash in the archive URL:
url = "https://github.com/{owner}/{repo}/archive/{hash}.tar.gz"
Procedure:
[...] entry, extracting owner/repo and the pinned hash from
the URL.gh api repos/{owner}/{repo}/commits?per_page=1 --jq '.[0].sha'
Files: home/.chezmoiexternals/fonts.toml.tmpl
These pin to a release tag in the URL:
url = "https://github.com/{owner}/{repo}/releases/download/{tag}/..."
Procedure:
owner/repo and the pinned tag.gh api repos/{owner}/{repo}/releases/latest --jq '.tag_name'
File: home/private_dot_config/mise/config.toml
Procedure:
"latest").mise outdated and parse the output for tools listed in the config.File: home/private_dot_local/bin/executable_install-my-packages.tmpl
Formulae are defined in the $brews template list, casks in $casks.
Procedure (macOS only):
brew outdated --formula and brew outdated --cask to check installed
versions against upstream.brew info --json=v2 {formula} | jq '.formulae[0].deprecated, .formulae[0].disabled'
Only check formulae that are actually installed — skip ones not yet on this
machine.Note: Brew packages are not version-pinned in the template — they install whatever Homebrew resolves. The main value here is catching deprecated/disabled packages and confirming the list is still sensible.
File: home/private_dot_local/bin/executable_install-my-packages.tmpl
Packages are defined in the $pkgs template list. These are not
version-pinned.
Procedure:
File: home/.chezmoiexternals/claude-skills.toml.tmpl
This is a git-repo external with refreshPeriod = "168h".
Procedure:
~/.local/share/private-claude-skills).git -C ~/.local/share/private-claude-skills fetch --dry-run 2>&1
Present a single markdown table grouped by source:
| Source | Entry | Current | Latest | Status |
|--------|-------|---------|--------|--------|
| zsh externals | zplug | 2.4.2 | 2.4.2 | current |
| zsh externals | oh-my-zsh | 7ea8a93 | abc1234 | behind |
| mise | deno | 2.5.4 | 2.8.0 | behind |
| brew | git | 2.47.0 | 2.48.1 | behind |
...
chezmoi apply --dry-run --verbose to verify no breakage.update zsh plugins, mise tools, and nerd-fonts.