Introduction
Mackup solves the problem of setting up a new machine by automatically backing up and syncing application settings via cloud storage. Instead of manually exporting and importing configs, Mackup symlinks your dotfiles and app preferences to a storage backend of your choice.
What Mackup Does
- Backs up application settings for 900+ supported applications
- Syncs configs via Dropbox, Google Drive, iCloud, or any directory
- Restores all settings on a new machine with one command
- Uses symlinks so apps continue reading from their expected paths
- Supports custom application definitions for unsupported tools
Architecture Overview
Mackup works by copying application configuration files from their default locations to a sync directory (e.g., ~/Dropbox/Mackup), then replacing the originals with symbolic links pointing to the synced copies. This means your cloud storage provider handles replication across machines, and each machine reads and writes through the symlinks transparently.
Self-Hosting & Configuration
- Install via pip:
pip install mackup - Configure storage backend in
~/.mackup.cfgunder the[storage]section - Set
engine = file_systemandpath = /your/sync/dirfor custom sync directories - Use
[applications_to_sync]or[applications_to_ignore]to control scope - Add custom app definitions in
~/.mackup/as.cfgfiles
Key Features
- Supports 900+ applications out of the box including Vim, Git, SSH, and VS Code
- Works with Dropbox, Google Drive, iCloud Drive, or any file system path
- One-command backup and restore workflow
- Non-destructive:
mackup uninstallreverts symlinks to regular files - Community-maintained application support with easy contribution model
Comparison with Similar Tools
- chezmoi — Full-featured dotfile manager with templating; Mackup is simpler but covers more apps automatically
- GNU Stow — Symlink farm manager requiring manual setup; Mackup auto-detects supported apps
- yadm — Git-based dotfile manager; Mackup uses cloud storage instead of Git
- Dotbot — Requires explicit YAML configuration; Mackup works with zero config for supported apps
FAQ
Q: Will Mackup overwrite my settings on a new machine?
A: Running mackup restore creates symlinks to the backed-up files. If files already exist, Mackup will prompt before overwriting.
Q: Can I use Mackup without cloud storage?
A: Yes. Set the storage engine to file_system and point it at any directory, including a network share or external drive.
Q: What happens if I uninstall Mackup?
A: Run mackup uninstall first to copy files back from the sync directory, replacing symlinks with regular files.
Q: How do I add support for an application Mackup does not cover?
A: Create a .cfg file in ~/.mackup/ specifying the app name and its config file paths.