Branch Profiles¶
Branches in dot-man are configuration profiles. Each branch contains a complete snapshot of your dotfiles for a specific context (work, personal, server, etc.).
How It Works¶
~/.config/dot-man/repo/
├── main ← personal config
├── work ← work config
├── server ← server config
└── minimal ← minimal setup
When you dot-man navigate work, dot-man:
- Saves current changes on the active branch
- Switches to the
workbranch - Deploys all files from
workto your home directory - Runs activation hooks
Creating Profiles¶
# Start from current state
dot-man init
dot-man save "personal config"
dot-man branch work
dot-man navigate work
# ... customize for work ...
dot-man save "work config"
Branch vs Tag¶
| Branch | Tag | |
|---|---|---|
| Mutable | Yes — changes over time | No — point-in-time snapshot |
| Use for | Active profiles | Rollback points |
| Example | work, personal |
v1.0, backup-2024-01-01 |