Keep your application settings in sync.
Install Dropbox first, it's needed.
Run on your current workstation:
# Download Dropbox App Sync
curl -o dbas https://raw.github.com/matyhaty/dropboxAppSync/master/dbas.py
# Make it executable
chmod +x dbas
# Launch it and back up your files in Dropbox
./dbas backup
You're all set, and constantly backuped from now on.
Next, on any new workstation, install Dropbox and do:
# Download Dropbox App Sync
curl -o dbas https://raw.github.com/matyhaty/dropboxAppSync/master/dbas.py
# Make it executable
chmod +x dbas
# Launch it and restore your files from Dropbox
./dbas restore
Done !
# Download Dropbox App Sync
curl -o dbas https://raw.github.com/matyhaty/dropboxAppSync/master/dbas.py
# Make it executable
chmod +x dbas
# Copy it to your path
sudo mv dbas /usr/bin/dbas
# Launch it
dbas backup
Same as Install:
# Download Dropbox App Sync
curl -o dbas https://raw.github.com/matyhaty/dropboxAppSync/master/dbas.py
# Make it executable
chmod +x dbas
# Copy it to your path
sudo mv dbas /usr/bin/dbas
# Launch it
dbas backup
It will add support for any application you were missing before.
You can revert all your files to their original state.
# Just run this
dbas uninstall
This will move back any file from Dropbox to its original place in your home folder and destroy the Dropbox App Sync folder in Dropbox.
dbas backup
Backup your application settings in Dropbox.
dbas restore
Restore your application settings on a newly installed workstation.
dbas uninstall
Revert any synced config file to its original state, and delete the Dropbox App Sync folder in Dropbox. This will revert your system at pre-Dropbox App Sync state.
dbas -h
Get some help, obvious...
- Backups your application settings in 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 you environment.
Let's take git
as an example. Your settings for git
are saved in your home
folder, in the .gitconfig
file.
When you launch dbas backup
, here's what it's really doing:
cp ~/.gitconfig ~/Dropbox/Dropbox App Sync/.gitconfig
rm ~/.gitconfig
ln -s ~/Dropbox/Dropbox App Sync/.gitconfig ~/.gitconfig
Now your git
config is always backup and up to date on all your workstations.
When you launch dbas restore
, here's what it's really doing:
ln -s ~/Dropbox/Dropbox App Sync/.gitconfig ~/.gitconfig
That's it, you got your git
config setup on your new workstation.
dbas
does the same for any supported application.
- Ack
- Adium
- Adobe Lightroom
- AppCode 2
- Bartender
- Bash
- Bash it
- BetterSnapTool
- BetterTouchTool
- BibDesk
- Boto
- Byobu
- Caffeine
- Chef
- ClipMenu
- CloudApp
- Coda 2
- Colloquy
- Concentrate
- ControlPlane
- CoRD
- Droplr
- Divvy
- Emacs
- Exercism
- ExpanDrive
- Fantastical
- Fish
- Flux
- GeekTool
- Git
- Git Hooks
- Gitbox
- GnuPG
- Heroku
- Htop
- IntelliJIDEA 12
- Irssi
- ITerm2
- Janus
- Keymo
- KeyRemap4MacBook
- LaTeXiT
- LimeChat
- MacOSX
- MacVim
- Mailplane
- MenuMeters
- Mercurial
- MercuryMover
- Moom
- MPV
- Nano
- nvALT
- Oh My Zsh
- OmniFocus
- OpenSSH
- Pastebot
- PCKeyboardHack
- Pear
- Pentadactyl
- PhpStorm 6
- PIP
- PopClip
- Pow
- PyPI
- Quicksilver
- Rails
- Ruby Version
- Ruby
- RubyMine 4
- RubyMine 5
- S3cmd
- Scenario
- Screen
- SelfControl
- Sequel Pro
- SHSH Blobs
- Shuttle
- SizeUp
- Skim
- Slate
- Slogger
- SourceTree
- Spark
- Spectacle
- Spotify
- Stata
- Sublime Text
- Subversion
- Teamocil
- TextMate
- Tmux
- Tmuxinator
- Tower
- Transmission
- Transmit
- Twitterrific
- uTorrent
- Ventrilo
- Vim
- Vimperator
- Viscosity
- Witch
- X11
- XCode
- XEmacs
- Zsh
You can add your favorite application by forking it and doing a Pull Request.
Open a new issue.
In your home folder, create a file named .dbas.cfg
and add the application
names to allow in the Allowed Applications
section, one by line.
# Example, to only sync SSH and Adium:
[Allowed Applications]
SSH
Adium
A sample of this file is available for download:
cd
curl -o .dbas.cfg https://raw.github.com/lra/dbas/master/.dbas.cfg
Be careful, if you download it like this, Dropbox App Sync will only try to sync SSH and Adium from now on !
In your home folder, create a file named .dbas.cfg
and add the application
names to ignore in the Ignored Applications
section, one by line.
# Example, to not sync SSH and Adium:
[Ignored Applications]
SSH
Adium
A sample of this file is available for download:
cd
curl -o .dbas.cfg https://raw.github.com/lra/dbas/master/.dbas.cfg
Be careful, if you download it like this, Dropbox App Sync will ignore SSH and Adium from now on !
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 Dropbox App Sync, the little tool that will sync all your application configs to Dropbox.
And it's GPL of course.
- OS X
- GNU/Linux
Dropbox App Sync is just a contraction of Mac and Backup, I suck at naming stuff, ok.