ConfigSync vs Dotbot: Beyond Bootstrapping Your Dotfiles
Dotbot sets up your dotfiles once. ConfigSync keeps them in sync forever.
What is Dotbot?
Dotbot is a lightweight dotfile bootstrapper. You define symlinks, shell commands, and cleanup tasks in an install.conf.yaml file, then run ./install to set everything up. It ships as a git submodule you add to your dotfiles repo.
- defaults:
link:
relink: true
- link:
~/.zshrc: zsh/zshrc
~/.gitconfig: git/gitconfig
~/.config/nvim: nvim
- shell:
- [git submodule update --init, Installing submodules]
It is simple, dependency-free (just Python and git), and does one thing well: bootstrap symlinks.
The Fundamental Difference
Dotbot is a one-time bootstrapper. You clone your repo, run ./install, and you are done. There is no ongoing sync, no cloud, no encryption.
ConfigSync is a continuous sync engine. It captures your config state, encrypts it, pushes it to the cloud, and can restore it anywhere — with watch mode keeping things in sync automatically.
Feature Comparison
| Feature | ConfigSync | Dotbot |
|---|---|---|
| Approach | Encrypted cloud sync | Git repo + symlinks |
| Encryption | AES-256-GCM | None |
| Cloud sync | Built-in (Cloudflare R2) | Via git push/pull |
| Templates | Variables + conditionals | None |
| Secrets management | 4 providers | None |
| Package tracking | 10 managers | None |
| Watch mode | Auto-push on change | None |
| Selective sync | --filter flag | None |
| Dry-run preview | --dry-run | None |
| Snapshot history | Full rollback | Git history |
| Ongoing sync | Continuous | One-time bootstrap |
| Dependencies | Node.js 18+ | Python + git |
When to Use Dotbot
Dotbot is the right choice if you want the absolute simplest bootstrapper: a single YAML file that symlinks your dotfiles. No accounts, no cloud, no encryption. Just clone and run.
It works well as a component of a larger setup — many developers use Dotbot for symlinks alongside other tools for secrets and packages.
When to Use ConfigSync
ConfigSync is the right choice when you need more than a one-time bootstrap:
- Secrets and API keys that need encryption
- Multiple machines that need to stay in sync
- Package tracking and reconciliation across platforms
- Team onboarding with shared configurations
- Watch mode for continuous backup
- Snapshot history for rollback
# ConfigSync: sync everything, encrypted, continuously
configsync add module ssh
configsync add module vscode
configsync push
configsync watch
The Verdict
Dotbot is a bootstrapper. ConfigSync is a sync engine. They solve different problems at different scales.
If you just need to symlink a handful of dotfiles on a single machine, Dotbot's simplicity is unbeatable. If you need encrypted sync, secrets, packages, and continuous backup across multiple machines — ConfigSync is what you are looking for.
Ready to try ConfigSync?
Sync your entire dev environment across machines in minutes. Free forever for up to 3 devices.