gitmyhub

mackup

Python ★ 15k updated 6d ago

Backup and keep your application settings in sync.

Mackup backs up your app config files, terminal, editor, git, shell, to a sync folder like Dropbox or iCloud so you can restore your full dev environment on a new machine with one command.

Pythonsetup: easycomplexity 2/5

Mackup is a tool for backing up the settings of the applications on your computer and keeping those settings in sync between machines. When you set up apps like your terminal, your shell, your editor, or your git config, each one usually saves its preferences in a small file in your home folder. Mackup gathers those preference files into one place so that, on a new computer, you can get back to your familiar setup with a single command instead of reconfiguring everything by hand.

It runs on macOS and Linux and can be installed with Homebrew or with pip from PyPI. The main commands are mackup backup (copy your local config files into the Mackup folder), mackup restore (copy them onto a freshly installed workstation), and mackup list (show which apps it knows how to handle).

There are two modes. Copy mode simply copies the configuration files into a folder of your choice, such as Dropbox, Google Drive, iCloud, or any folder synced by something else like Git. Link mode instead moves the files into that sync folder and leaves symlinks behind, so changes you make on one machine appear immediately on the others. The README warns that link mode is broken on macOS Sonoma (14) and later because the operating system no longer supports symlinked preferences, and recommends copy mode there instead. Box is also called out as unsupported because it ignores dotfiles.

By only tracking pure configuration files and skipping caches, temporary files, and locally specific data, Mackup keeps a new workstation clean. It is written in Python. The full README is longer than what was provided.

Where it fits