Skip to main content

Packages

This setup treats package installation as declarative: edit a source list, run chezmoi apply, and let hooks converge the installed tools.

Read path

SliceOwns
Package catalogwhat the managed tools are for, grouped across package managers
Sources and scopeevery package registry, list file, hook, and .isWork scoping rule
Reconcile behaviorwhat each hook installs, updates, removes, or intentionally leaves alone
Verification and troubleshootinghigh-signal checks and common failure modes

Add-package recipes

PriorityPackage typeRecipe
1Homebrew formula/caskAdd a Homebrew package
2mise runtime/tool versionPin a tool version
3Cargo crateAdd a Cargo crate
4Go toolAdd a Go tool
5Ruby gemAdd a Ruby gem
6Global yarn packageAdd a global yarn package
7uv Python toolAdd a uv tool
8Custom GitHub/source packageAdd a custom package
9llama.cpp GGUF modelAdd a llama.cpp model

Core workflow

  1. Edit the source file under home/.
  2. Run chezmoi apply.
  3. Verify the tool is installed and available.

The package lists are source-of-truth declarations. For Homebrew specifically, brew bundle cleanup --global --force removes packages not present in the assembled Brewfile.