Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
M

mackup

> 编程语言
Open source

Backup and keep your application settings in sync.

15.3K stars0 likes0 views
WebsiteGitHub

About

Backup and keep your application settings in sync.

Mackup™

Backup and keep your application settings in sync.

Table of contents

  • Mackup™
    • Table of contents
    • Quickstart
    • Usage
    • What does it do
      • Copy mode
      • Link mode
        • mackup link install
        • mackup link
        • mackup link uninstall
    • 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:

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

bash
# 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:

bash
# Install Mackup
brew install mackup

# Launch it and restore your files
mackup restore

Done!

You can find more detailed instructions in INSTALL.md.

Usage

backup, restore, link install, link uninstall and link operate on all of your configured applications by default. To limit a command to a single application, add its name (the identifier shown by mackup list), e.g. mackup backup vim. Naming an application overrides the [applications_to_sync] / [applications_to_ignore] settings in your .mackup.cfg, so you can act on any supported app without editing your config.

mackup backup [application]

Back up your application files. Copy your local config files into the Mackup folder. Name an application to back up only that one, e.g. mackup backup vim.

mackup restore [application]

Restore your application settings on a newly installed workstation. Copy config files from the Mackup folder to your home folder. Name an application to restore only that one, e.g. mackup restore emacs.

mackup link install [application]

Move your local config files into the Mackup folder, and link them to their original place. Name an application to install only that one.

$${\color{red}warning}$$ the link strategy doesn't work correctly on macOS

mackup link [application]

On another workstation, links local config files from the Mackup folder. Name an application to link only that one.

mackup link uninstall [application]

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. Name an application (e.g. mackup link uninstall git) to unlink only that one; scoping to an application skips the global uninstall confirmation.

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 backup
  • mackup 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 install
  • mackup link
  • mackup link uninstall

mackup link install

If you have Dropbox, these things happen when you launch mackup link install:

  1. cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfig
  2. rm ~/.gitconfig
  3. ln -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:

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

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

To revert a single application instead, name it, e.g. mackup link uninstall git. Scoping the command to an application unlinks only that app — the rest of your setup and the Mackup config itself are left in place, and the global uninstall confirmation is skipped.

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
  • ActivityWatch
  • 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
  • Bartender
  • Base
  • Bash it
  • Bash
  • Bat
  • Bc
  • Beatport Pro
  • Beets
  • BetterSnapTool
  • BetterTouchTool
  • Beyond Compare
  • BibDesk
  • Billings Pro Server Admin
  • BitBar
  • Bitchx
  • Blackfire
  • ble.sh
  • Blender
  • Boto
  • Boxer
  • Brackets
  • Brave
  • Btop
  • Bump
  • Bundler
  • Byobu
  • Caffeine
  • Calibre
  • Capture One
  • Cartographica
  • Cerebro
  • Charles
  • Cheat
  • Chef
  • Chicken
  • Choosy
  • chunkwm
  • Cider
  • ClashX
  • Clasp
  • Claude Code
  • CleanShot
  • Clementine
  • CLion
  • ClipMenu
  • Clipy
  • CloudApp
  • Coda 2
  • Codex
  • Colloquy
  • ColorSchemer Studio 2
  • ColorSlurp
  • ColorSync
  • Composer
  • Concentrate
  • Conky
  • Consular
  • Context7
  • Contexts
  • ControlPlane
  • CopyQ
  • CoRD
  • CotEditor
  • Ctags
  • Cursor
  • cVim
  • Cyberduck
  • DaisyDisk
  • Dash
  • DataGrip
  • [Day-O](

Issues· 294 open

View all issuesOpen on GitHub
  • #2200

    Setting ZDOTDIR to XDG_CONFIG_HOME/zsh breaks ZSH support

    Updated Jul 17, 2026
  • #2199

    Support for Affinity V3

    Updated Jun 24, 2026
  • #2190

    Feature Request - Prune for backup / copy mode

    Updated May 28, 2026
  • #2186

    Support for zen browser

    Updated May 21, 2026
  • #2182

    Investigate rclone config handling

    Updated May 13, 2026
  • #2169

    Support for ice

    Updated Apr 26, 2026
  • #2168

    Support for arc browser

    Updated Mar 29, 2026
  • #2147

    Backup support is available with S3 object storage

    Updated Jan 15, 2026
  • #2146

    Support for Bambu Studio

    Updated Jan 11, 2026
  • #2117

    Feature Request - Link and Copy to Separate Directories

    Updated Dec 23, 2025

> Tags

Python

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 18, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言