dfm is a small utility that manages dotfiles. It:
- makes it easy to install (and uninstall) your dotfiles on new servers
- easys fetching and merging changes that were pushed from other machines
- simplifies working with your dotfiles repository, no matter where your current directory is
dfm works best when it's included in your dotfiles repository. If you don't have a dotfiles repository already, you can use this starter repository.
This repo is a skeleton/template repo for tracking dotfiles. It contains a utility (dfm) to help with managing and updating your dotfiles.
First, fork this repo.
Then, add your dotfiles:
$ git clone git@github.com:username/dotfiles.git .dotfiles
$ cd .dotfiles
$ # edit files
$ # edit files
$ git push origin master
Finally, to install your dotfiles onto a new system:
$ cd $HOME
$ git clone git@github.com:username/dotfiles.git .dotfiles
$ ./.dotfiles/bin/dfm install # creates symlinks to install files
curl -sL https://raw.github.com/gcatlin/home/master/install.sh | bash
dfm remote add upstream git://github.com/justone/dotfiles.git # only need to do this once
dfm checkout master
dfm fetch upstream
dfm merge upstream/master
For more information, check out the wiki.
You can also run dfm --help.