Skip to main content

Keep your application settings in sync (macOS/Linux)

Project description

Mackup

Keep your application settings in sync.

Table of content

Quickstart

If you have Dropbox installed and want to use it to save your config files, that's super easy.

On macOS, 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 you don't like Homebrew, you can use pip.

Note: The below command will check if a previous version of Mackup is already installed on your system. If this is the case, it will be upgraded to the latest version.

# Install Mackup with PIP
pip install --upgrade mackup

# Launch it and back up your files
mackup backup

On Ubuntu, pip will install to the current user's home directory rather than system-wide. Because of this, when installing pip on Ubuntu you will need to run pip install with the --system flag as well (on other platforms this is not needed)

You're all set and constantly backed 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

Backup your application settings.

mackup restore

Restore your application settings on a newly installed workstation.

mackup uninstall

Copy back any synced config file to its original place.

mackup list

Display the list of applications supported by Mackup.

mackup -h

Get some help, obviously...

What does it do

  • Back ups 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

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 transfered).

Mackup makes setting up the environment easy and simple, saving time for your family, great ideas, and all the cool stuff you like.

Bullsh*t, what does it really do to my files

Let's take git as an example. Your settings for git are saved in your home folder, in the .gitconfig file.

Backup

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

  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.

Restore

When you launch mackup restore, 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.

Uninstall

You can revert all your files to their original state.

# Just run this
mackup 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

See the README file in the doc directory for more info.

Unsupported Storages

Supported Applications

Can you support application X

We can with your help ;)

Personalization & configuration

Have an application that shouldn't be generally supported but that you use? Or a cool file you want to sync?

Why did you do this

Yesterday, I had a talk with Zach Zaro, complaining about the pain it is to reconfigure our Macbook each time we get a new one or install from scratch. That's a talk we have already had months ago.

I change my workstation every X months. Each time I either lose my apps' configurations, or I just waste a bunch of hours getting setup like I was on my old box. I also spend a lot of time reconfiguring the same stuff again on all my workstations (home, work).

Boring...

Some people tried to solve the problem on the application layer, like Github's Boxen, but it solves a different problem, from my point of view. I don't spend a lot of time installing or downloading stuff. I spend time configuring it.

For years, I've used a personal shell script that was copying known config files into Subversion, Git or Dropbox, and linked them into my home. But I felt a lot of us had the same problem: Making a more generic tool could help others and I could get help from others to support more apps in the tool.

So here comes Mackup, the little tool that will sync all your application configs to Dropbox (or Google Drive, or anything).

And it's GPL, of course.

What platforms are supported

  • macOS
  • GNU/Linux

What's up with the weird name

Mackup is just a portmanteau of Mac and Backup. It is simple, short, and easy to remember, and it corresponds with the whole idea of Mackup: the simpler – the better! (And I suck at naming stuff, but who doesn't.)

Where can I find more information

In the doc directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mackup-0.8.41.tar.gz (83.7 kB view details)

Uploaded Source

Built Distribution

mackup-0.8.41-py3-none-any.whl (195.5 kB view details)

Uploaded Python 3

File details

Details for the file mackup-0.8.41.tar.gz.

File metadata

  • Download URL: mackup-0.8.41.tar.gz
  • Upload date:
  • Size: 83.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.6.0

File hashes

Hashes for mackup-0.8.41.tar.gz
Algorithm Hash digest
SHA256 49f929d502b3efbc01b5a206af6cff877447ac5821591b2a9231cbf42d97b17a
MD5 3a987bdda65ebfac01f236efbd9d8fa8
BLAKE2b-256 63378f5ee72905948757f284e7a4fea1cd8b7203f13e57d2cf4917f2f1afa7a8

See more details on using hashes here.

File details

Details for the file mackup-0.8.41-py3-none-any.whl.

File metadata

  • Download URL: mackup-0.8.41-py3-none-any.whl
  • Upload date:
  • Size: 195.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.6.0

File hashes

Hashes for mackup-0.8.41-py3-none-any.whl
Algorithm Hash digest
SHA256 b16ea3d6b35869f53dd47507f0633b62a39bf2d3a990203c290dd79f57e80fce
MD5 cee87e062119362bb63b57d711b3618c
BLAKE2b-256 20a1a3da6eb464be31cf2373d0256acc2fda2a8c3e685723f52d9282c770dc51

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page