Sovereign Tools

Building a clean macOS development environment that survives migrations, upgrades, and your future self.

  1. 01 Clean Isn't Minimal: A Manifesto for the Layered Mac published Clean means single-source-of-truth layering, not installing the fewest tools.
  2. 02 Dotfiles Without .zshrc: ZDOTDIR and chezmoi published Move zsh config out of the home directory with ZDOTDIR, split it into modules, and manage it declaratively with chezmoi so drift becomes visible.
  3. 03 The Brewfile Compromise: Eventual Consistency for Mac Apps published Not every layer deserves strict declarative management. The app layer is fine with eventual consistency, as long as the drift stays visible.
  4. 04 Python, mise, and uv: A Reconciliation published uv quietly prefers its own managed Python, which conflicts with mise owning runtime versions. One setting — python-preference = only-system — makes them agree.
  5. 05 When to Let the Official Tool Win published Don't put every language under mise. One test decides who owns runtime versions: does the language ship a strong, official tool of its own?
  6. 06 One Architecture, Many Languages published The same four-layer architecture made concrete for Node, Java, Swift, Rust, Go, and Ruby — recommended stack, pitfalls, lockfiles, and gitignore for each.
  7. 07 Configuration Is Easy; Maintenance Is the Work published Setting up a clean environment is the easy part. Keeping it clean is the real work — and most of that work is subtraction.