ComparisonDecember 23, 20257 min read

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.

install.conf.yaml

- 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.

Dotbot answers: "How do I set up my dotfiles on a new machine?" ConfigSync answers: "How do I keep my entire dev environment synced across all my machines?"

Feature Comparison

FeatureConfigSyncDotbot
ApproachEncrypted cloud syncGit repo + symlinks
EncryptionAES-256-GCMNone
Cloud syncBuilt-in (Cloudflare R2)Via git push/pull
TemplatesVariables + conditionalsNone
Secrets management4 providersNone
Package tracking10 managersNone
Watch modeAuto-push on changeNone
Selective sync--filter flagNone
Dry-run preview--dry-runNone
Snapshot historyFull rollbackGit history
Ongoing syncContinuousOne-time bootstrap
DependenciesNode.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
Terminal

# 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.