Setting up a new development machine takes hours. Secrets accidentally end up in Git history. Configurations silently drift between devices until something breaks. When it does break, there’s no easy way back.
This system uses chezmoi with three interlocking strategies:
1. Secrets never touch Git. All credentials—GitHub tokens, AWS keys, SSH identities—live in 1Password. Templates pull them at apply time, so the repository stays clean.
2. One source, many targets. Templated configs generate the right paths, tools, and settings for each OS. macOS ARM64, Intel, and Linux all derive from the same files.
3. The system heals itself. A launchd daemon watches for drift, pulls updates, creates backups, and repairs divergence automatically. If something breaks, recovery is one command away.
A single command provisions a new machine with every tool configured, every secret in place, and a unified terminal aesthetic. The environment stays consistent across devices without manual intervention. When problems occur, the system either fixes them silently or provides clear recovery paths.
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply 4444J99/domus-semper-palingenesis
This installs chezmoi, clones the repo, prompts for machine config, fetches secrets from 1Password, and applies everything.
Credentials are referenced in templates, resolved at apply time:
[github]
token =
The repository contains zero secrets. 1Password CLI handles authentication.
Runs every 4 hours via launchd:
cmh # Check system health
cmr list # View available backups
cmr restore <n> # Restore from backup
Unified management interface for the entire system:
domus status # System overview
domus apply --dry-run # Preview sync
domus packages diff # Package drift report
domus perf shell # Shell startup trends
domus health # Health check
domus doctor # Comprehensive diagnostics
domus maintain # System maintenance
domus maintain quick # Cache cleanup only
All terminal tools share a unified color palette (#1a1b26 background, #7aa2f7 blue, #bb9af7 purple):
# Chezmoi shortcuts
cma # Apply changes
cmd # Preview diff
cme # Edit file
cmu # Update from remote
cmh # Health check
cmr # Recovery tool
# Domus
dm # Status summary
dma # Apply all (dotfiles + packages)
dmp # Package status
dmm # System maintenance
dmmq # Quick cache cleanup
# Tools
lg # Launch lazygit
j # just (task runner)
~/.local/share/chezmoi/
├── .chezmoiscripts/ # Package install, daemon setup, macOS defaults
├── dot_config/
│ ├── domus/ # Manifest, daemon config
│ ├── zsh/ # Modular shell config (9 modules)
│ ├── kitty/ # Terminal config
│ ├── tmux/ # Multiplexer + TPM
│ ├── nvim/ # Neovim config
│ ├── lazygit/ # Git TUI
│ ├── bat/ # Cat replacement
│ ├── git/ # Git + delta + hooks
│ ├── fish/ # Fish shell config (full zsh parity)
│ │ └── conf.d/ # 00-path, 10-env, 20-tools, 30-aliases,
│ │ # 40-functions, 50-theme, 90-telemetry
│ ├── ai-context/ # AI assistant context
│ ├── ai-instructions/ # Cursor/Copilot rules
│ ├── starship.toml # Prompt
│ └── environment.tmpl # XDG variables
├── dot_local/bin/ # domus CLI, daemons, health, packages, theme
│ ├── domus-lib.sh # Shared bash utilities
│ └── domus_lib.py # Shared Python utilities (unique_dest, etc.)
├── tests/ # 16 BATS + 6 pytest test files
│ ├── render-tmpl.sh # Render-then-test pipeline for .tmpl scripts
│ └── test-helpers.bash # Shared BATS fixtures and mocks
├── dot_zshrc # Shell entry point (loads zsh/ modules)
├── private_dot_ssh/ # SSH via 1Password agent
├── private_dot_claude/ # Claude Code config
└── private_Library/ # macOS LaunchAgents (12 agents)
| Guide | Purpose |
|---|---|
| docs/ARCHITECTURE.md | System architecture and diagrams |
| docs/DOMUS_CLI.md | Domus CLI reference |
| docs/DAEMONS.md | Daemon system and notifications |
| docs/DEVELOPMENT.md | How to add modules, packages, and agents |
| 1PASSWORD_SETUP.md | Configure secret management |
| BACKUP_STRATEGY.md | Backup and recovery procedures |
| docs/TROUBLESHOOTING.md | Common issues and solutions |
| docs/EXTERNAL_DRIVE.md | External drive integration |
| docs/ORGANIZATION_STRATEGY.md | File organization system |
Portfolio · System Directory · ORGAN 4444J99 · Part of the ORGANVM eight-organ system