Mackup
Backup and keep your application settings in sync.
Install / Use
/learn @lra/MackupREADME
Mackup™
Backup and keep your application settings in sync.
Table of contents
- Mackup™
- Table of contents
- Quickstart
- Usage
- What does it do
- Supported Storages
- Unsupported Storages
- Supported Applications
- Can you support application X
- Personalization & configuration
- Why did you do this
- What platforms are supported
- What's up with the weird name
- Architecture
- Where can I find more information
Quickstart
On macOS or Linux, if you want an easy install, you can install Homebrew and do:
# Install Mackup
brew install mackup
# Launch it and back up your files
mackup backup
If not running macOS or Linux, or you don't like Homebrew, you can use pip.
# Install Mackup with PIP
pip install --upgrade mackup
# Launch it and back up your files
mackup backup
You're all set and can back up from now on.
Next, on any new workstation, do:
# Install Mackup
brew install mackup
# Launch it and restore your files
mackup restore
Done!
You can find more detailed instructions in INSTALL.md.
Usage
mackup backup
Back up your application files. Copy your local config files into the Mackup folder.
mackup restore
Restore your application settings on a newly installed workstation. Copy config files from the Mackup folder to your home folder.
mackup link install
Move your local config files into the Mackup folder, and link them to their original place.
$${\color{red}warning}$$ the link strategy doesn't work correctly on macOS
mackup link
On another workstation, links local config files from the Mackup folder.
mackup link uninstall
Copy back any synced config file to its original place. Removes the links and copies config files from the Mackup folder back into your home.
mackup list
Display the list of applications supported by Mackup.
mackup -h
Get some help, obviously...
What does it do
By only tracking pure configuration files, it keeps the crap out of your freshly new installed workstation (no cache, temporary and locally specific files are transferred).
Mackup makes setting up the environment easy and simple.
There are 2 modes of operations: copy mode and link mode.
Copy mode
Copy mode is used to back up and restore your files. The files are backed up into the configured Mackup folder, which can be in Dropbox, iCloud, or wherever you configure it.
It is covered by the 2 commands:
mackup backupmackup restore
Link mode
[!WARNING] If you are using Mackup on a current version of macOS, link mode will BREAK YOUR PREFERENCES. macOS Sonoma (macOS 14) and later don't support symlinked preferences, see issue #2035 for additional information. PR #2085 added copy mode, which should be used instead.
Link mode is used to move your config files into the Mackup folder, and link them back to their original place.
This mode is useful if you are using multiple workstations, and want to keep your application settings in sync at all times.
- Backs up your application settings in a safe directory (e.g. Dropbox)
- Syncs your application settings among all your workstations
- Restores your configuration on any fresh install in one command line
Let's take git as an example. Your settings for git are saved in your home
folder, in the .gitconfig file.
It is covered by the 3 commands:
mackup link installmackup linkmackup link uninstall
mackup link install
If you have Dropbox, these things happen when you launch mackup link install:
cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfigrm ~/.gitconfigln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig
Now your git config is always backed up and up to date on all your workstations.
mackup link
When you launch mackup link, here's what it's really doing:
ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig
That's it, you got your git config setup on your new workstation.
mackup does the same for any supported application.
mackup link uninstall
You can revert all your files to their original state.
# Just run this
mackup link uninstall
This will remove the symlinks and copy back the files from the Mackup folder in Dropbox to their original places in your home. The Mackup folder and the files in it stay put, so that any other computer also running Mackup is unaffected.
Supported Storages
- Dropbox
- Google Drive
- iCloud
- Anything able to sync a folder (e.g. Git)
See the README file in the doc directory for more info.
Unsupported Storages
- Box: No longer supported as it ignores dotfiles, see https://github.com/lra/mackup/issues/807.
Supported Applications
- 1Password 4
- 2Do
- Ack
- act
- Adium
- Adobe Camera Raw
- Adobe Illustrator CC
- Adobe Photoshop CC
- Adobe Photoshop Lightroom CC
- Adobe Photoshop Lightroom Classic
- aerc
- AeroSpace
- Affinity Designer
- Affinity Photo
- Affinity Publisher
- Airflow
- Airmail
- Akamai-CLI
- Alacritty
- AlDente
- AltTab
- Amethyst
- Ancient Domains of Mystery
- Android Studio
- Ansible
- AppCleaner
- AppCode
- Apple Music
- Apptivate
- Arara
- aria2c
- Arm
- Artistic Style
- asciinema
- asdf version manager
- Aspell
- Atlantis
- Atom
- Audacious
- AusKey
- Autokey
- Awareness
- AWS Command Line Interface
- ActivityWatch
- Bartender
- Bash it
- Bash
- Base
- Bat
- Bc
- Beatport Pro
- Beets
- BetterSnapTool
- BetterTouchTool
- Beyond Compare
- BibDesk
- Billings Pro Server Admin
- BitBar
- Bitchx
- Blackfire
- Blender
- ble.sh
- Boto
- Boxer
- Brackets
- Brave
- Btop
- Bump
- Bundler
- Byobu
- Caffeine
- Calibre
- Capture One
- Cartographica
- Cerebro
- Charles
- Cheat
- Chef
- [Chicken](http://sourceforge.net/proj
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
