dotstore is an easy way to keep your dotfiles in sync between computers, using git for all the things that make sense to use git for, and scripts for the rest.
gem install dotstore
-
Keep your dotfiles in a git repository (or any repository, or any directory, maybe synched with dropbox) in .dotstore. Here's how I would initiate mine in a new environment:
git clone http://github.com/jjb/dotfiles.git .dotstore
-
invoke
dotstore
➔ dotstore == .bash_profile == .bash_profile exists. Backing it up to .bash_profile-1281762101 dotstorifying .bash_profile == .bashrc == .bashrc exists. Backing it up to .bashrc-1281762101 dotstorifying .bashrc == .irbrc == .irbrc exists. Backing it up to .irbrc-1281762101 dotstorifying .irbrc == .zshrc == .zshrc exists. Backing it up to .zshrc-1281762101 dotstorifying .zshrc
- Symlinks will only be created for dot files. non-dot files in .dotstore will be ignored.
- Therefore, you can keep any other flat files or directories in .dotstore and they will be ignored. For example, my dot files refer to other files in a directory tree in .dotfiles.
- Existing files in your home directory are backed up. Existing symlinks to .dotfiles or anywhere else are ignored.
- You can keep dot directories in .dotfiles as well, they will be managed the same as files. (I don't have any applications that use dot directories however, so I've only done simple tests for this)
- a command to seamlessly add existing dot files to the .dotstore directory.
gem build dotstore.gemspec
gem push dotstore-1.0.0.gem