Keep your application settings in sync.
If you have Dropbox installed and want to use it to save your config files, that's super easy.
On OS X, 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 OS X, or you don't like Homebrew, you can use PIP:
# Install Mackup with PIP
pip install mackup
# Launch it and back up your files
mackup backup
You're all set, and constantly backuped 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 detailled instructions in INSTALL.md
mackup backup
Backup your application settings.
mackup restore
Restore your application settings on a newly installed workstation.
mackup uninstall
Revert any synced config file to its original state, and delete the Mackup folder in Dropbox. This will revert your system at pre-Mackup state.
mackup list
Display the list of applications supported by Mackup.
mackup -h
Get some help, obvious...
- Backups 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).
It also helps you spend more time doing real cool stuff, and less time setting up your environment.
Let's take git
as an example. Your settings for git
are saved in your home
folder, in the .gitconfig
file.
If you have Dropbox, when you launch mackup backup
, here's what it's really
doing:
cp ~/.gitconfig ~/Dropbox/Mackup/.gitconfig
rm ~/.gitconfig
ln -s ~/Dropbox/Mackup/.gitconfig ~/.gitconfig
Now your git
config is always backup and up to date on all your workstations.
When you launch mackup restore
, 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.
You can revert all your files to their original state.
# Just run this
mackup uninstall
This will move back any file from Dropbox to its original place in your home folder and destroy the Mackup folder in Dropbox.
- Dropbox
- Google Drive
- Anything able to sync a folder (e.g. Git)
See the README file in the doc directory for more info.
- 1Password 4
- Ack
- Adium
- Adobe Camera Raw
- Adobe Lightroom
- AppCode 2
- aria2c
- Arara
- Artistic Style
- asciinema
- Aspell
- Atom
- AusKey
- Awareness
- AWS Command Line Interface
- Bartender
- Bash it
- Bash
- BetterSnapTool
- BetterTouchTool
- BibDesk
- Billings Pro Server Admin
- Boto
- Brackets
- Bundler
- Byobu
- Caffeine
- Cartographica
- Charles
- Chef
- Chicken
- Clementine
- ClipMenu
- CloudApp
- Coda 2
- Colloquy
- ColorSchemer Studio 2
- Composer
- Consular
- Concentrate
- ControlPlane
- CoRD
- Cyberduck
- Dash
- Deal Alert
- Default Folder X
- Divvy
- Dolphin
- Droplr
- Emacs
- Enjoyable
- Exercism
- ExpanDrive
- Fantastical
- Feeds
- Filezilla
- Fish
- Flux
- FontExplorer X
- ForkLift 2
- GeekTool
- GHCi
- Git Hooks
- Git
- Gitbox
- Gmail Notifr
- Go2Shell
- GnuPG
- GrandTotal 3
- Hands Off!
- Hazel
- Heroku
- Hexels
- Houdini
- Htop
- i2cssh
- IntelliJIDEA
- Irssi
- iStat Menus 5
- ITerm2
- JSHint
- Janus
- jrnl
- Julia
- Kaleidoscope
- Karabiner
- Keka
- Keybase
- Keymo
- KeyRemap4MacBook
- LaTeXiT
- LaunchBar
- Liftoff
- Light Table
- LimeChat
- LittleSnitch
- Livestreamer
- MacOSX
- MacVim
- Magic Launch
- MagicPrefs
- Mailplane
- Max
- MenuMeters
- Mercurial
- MercuryMover
- Messages
- MySQL
- Moom
- Mou
- mpd
- MPV
- Nano
- Navicat
- ncmpcpp
- newsbeuter
- ngrok
- nvALT
- nvpy
- Oh My Fish
- Oh My Zsh
- OmniFocus
- OmniGraffle
- OpenSSH
- Pass
- Pastebot
- Path Finder
- Pear
- Pentadactyl
- Perl
- Phoenix
- PhpStorm
- PIP
- Poedit
- PokerStars
- PopClip
- PostgreSQL
- Pow
- Prezto
- Processing
- ProxyChains
- ProxyChains NG
- Punto Switcher
- PyPI
- Quicksilver
- Rails
- rTorrent
- R
- Rubocop
- Ruby Version
- Ruby
- RubyMine
- S3cmd
- SABnzbd
- SBCL
- SBT
- Scenario
- Screen
- Screenhero
- Scrivener
- Scroll Reverser
- SelfControl
- Seil
- Sequel Pro
- SHSH Blobs
- Shuttle
- SizeUp
- Skim
- Skitch
- Skype
- Slate
- Slogger
- Soulver
- SourceTree
- Spark
- Spectrwm
- Spectacle
- Spotify
- Stata
- Stay
- Stickies
- Sublime Text
- Subversion
- SuperDuper!
- TaskPaper
- Teamocil
- Terminator
- TextMate
- Textual
- Tig
- Tmux
- Tmuxinator
- Tower
- Transmission
- Transmit
- Twitterrific
- uTorrent
- Ventrilo
- Vim
- Vimperator
- Viscosity
- WebStorm 9
- Wget
- Witch
- X11
- Xchat
- XCode
- XEmacs
- XLD
- Zsh
- iTunes Applescripts
You can add your favorite application by forking it and doing a Pull Request.
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 already had months ago.
I change my workstation every X months. Each time I either loose the configuration of all the apps I use, or I just waste a bunch of hours getting setup like I was on my old box. I also spent 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 I feel like it solves a non problem: I don't really spend time installing stuff, mostly downloading: I spend time configuring it.
For years, I've used a personnal 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.
- OS X
- GNU/Linux
Mackup is just a contraction of Mac and Backup, I suck at naming stuff, ok.
In the doc directory.