My dotfiles, managed with dotsync.
home/ ← mirrors $HOME — this is what gets synced
├── .zshrc
├── .gitignore_global
└── .config/
└── nvim/
cmd/dotsync/ ← the sync tool
Syncs dotfiles from the home/ directory into $HOME.
# Dry run — see what would happen
go run ./cmd/dotsync --dry-run
# Install dotfiles (skips existing files that differ)
go run ./cmd/dotsync
# Overwrite existing files
go run ./cmd/dotsync --force
# Backup existing files before overwriting
go run ./cmd/dotsync --backup
# Verbose output
go run ./cmd/dotsync --verbose| Situation | Default | --force |
--backup |
|---|---|---|---|
| Target doesn't exist | Copy | Copy | Copy |
| Target exists, identical | Skip | Skip | Skip |
| Target exists, differs | Skip + warn | Overwrite | Rename → .bak, then copy |
go install ./cmd/dotsyncThen run dotsync from any directory inside the repo.
Projects to check out: