For the last few years I've been using Dropbox to sync my dotfiles. For zsh, oh-my-zsh, emacs settings etc.

More people seem to be using Github for this. What are the advantages and disadvantages in this?

From what I can see, keeping Dropbox in sync is simpler - I don't have to push, pull etc, whenever I change something. On the other hand, my Dropbox folder is pretty large now, so it can take a while to get all my files.

In the future, I'd also like to sync some application preferences - like Alfred, Sublime, etc.

What are the situations where one, or the other have a distinct (dis)advantage?

  • This is only partly opinion based, because there is one major difference: Dropbox provides simplicity at the cost of limited flexibility, while github provides flexibility at the cost of simplicity. So if you are happy with the features dropbox provides, stay with it. If you need additional features, go to github (or general git or av=ny other vcs). – Rainer Jul 30 '15 at 9:56

I currently don't use github for dotfile syncing but I plan to do it. My reasoning is that I would like to have slightly different configs on different machines. To make that possible, you can basically have a master branch, and seperate branches for each device/device group as needed. If you add something new to the master branch, you can merge it with other customized branches etc. For auto syncing between machines, you could create a script that pulls from remote with an interval, possibly with support of manual pulling.. Easiest way to do that depends on your OS. So in summary, this all comes down to how often you change your configs, if you want to have customized configs for some device groups (e.g. all OSX devices vs all Ubuntu VMs) etc. Finally it's easier to use dotfiles from github than it is from dropbox when you work with machines where you have limited privileges (admin rights for installing Dropbox syncer?)

|improve this answer|||||

I use GitHub for a few of reasons:

  • It’s where I got the template for a number of dot files
  • I forked my dot files install script from a friend on GitHub
  • It keeps what I use open for others to use
  • I get an “unlimited” history of each file, not just the last 30 days
  • I get to sync to several OSs that don’t Dropbox (e.g. FreeBSD)
|improve this answer|||||

Not the answer you're looking for? Browse other questions tagged .