# Mackup — Keep Your Application Settings in Sync > Mackup backs up your application settings to Dropbox, Google Drive, iCloud, or any directory, and restores them on a fresh install with a single command. ## Install Save as a script file and run: # Mackup — Keep Your Application Settings in Sync ## Quick Use ```bash pip install mackup mackup backup mackup restore ``` ## 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.cfg` under the `[storage]` section - Set `engine = file_system` and `path = /your/sync/dir` for custom sync directories - Use `[applications_to_sync]` or `[applications_to_ignore]` to control scope - Add custom app definitions in `~/.mackup/` as `.cfg` files ## 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 uninstall` reverts 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. ## Sources - https://github.com/lra/mackup - https://github.com/lra/mackup#supported-applications --- Source: https://tokrepo.com/en/workflows/asset-9bb0f419 Author: Script Depot