Common issues and solutions for the Domus dotfiles system.
Symptom: chezmoi apply fails with error calling onepasswordRead or similar.
Fix: Sign into the 1Password CLI first:
eval $(op signin)
# Then retry
chezmoi apply
If op is not installed: brew install 1password-cli
Symptom: Self-heal, daemon, or file sorting isn’t running automatically.
Fix: Check which agents are loaded:
launchctl list | grep -E 'domus|chezmoi'
If missing, re-apply:
chezmoi apply
launchctl load ~/Library/LaunchAgents/com.domus.daemon.plist
launchctl load ~/Library/LaunchAgents/com.domus.sort.plist
launchctl load ~/Library/LaunchAgents/com.chezmoi.self-heal.plist
To check logs:
cat ~/.local/state/domus/daemon.log
Symptom: New terminal takes >500ms to become responsive.
Fix: Check startup telemetry:
domus perf shell
Common causes:
20-tools.zsh lazy-loading section)~/.zshrc plugins listProfile startup time:
time zsh -i -c exit
Symptom: CI fails on ShellCheck step.
Fix: Run linting locally first:
just lint
Auto-fix formatting issues:
just fmt
Common shellcheck fixes:
SC2059: Use %s format specifier with variables, not %bSC2155: Split local var=$(cmd) into local var; var=$(cmd)SC2034: Remove unused variablesSymptom: Files in ~/Downloads aren’t being sorted.
Fix:
cat ~/.config/domus/manifest.yaml | yq '.sorting.rules'
domus sort --dry-run
pgrep -f domus-sort
launchctl list com.domus.sort
cat ~/.local/state/domus/sort.log
.crdownload, .part files are skipped).Symptom: Expected macOS notifications don’t appear.
Fix:
yq '.notifications.quiet_hours' ~/.config/domus/manifest.yaml
launchctl list com.domus.daemon
domus-notify --flush
Symptom: domus doctor shows warnings or failures.
Fix: Address each section:
| Check | Resolution |
|---|---|
[startup] warning |
Run domus perf shell, investigate slow plugins |
[packages] drift |
Run domus packages diff then domus packages apply |
[daemons] missing |
Re-apply LaunchAgents (see above) |
[disk] warning |
Free disk space |
[1password] not signed in |
Run eval $(op signin) |
[chezmoi] drift |
Run domus apply |
Symptom: domus packages status shows drift.
Fix:
# See what's different
domus packages diff
# Install missing packages
domus packages apply
# Preview without installing
domus packages apply --dry-run
Symptom: just test shows failures.
Fix:
# Run individual test files for more detail
bats tests/test-domus-cli.bats
# Ensure dependencies are installed
brew install bats-core yq jq
For tests requiring yq (sort, packages): ensure yq is on PATH.