Your dotfiles are how you personalize your system. I liked Holman's idea of breaking these files up in a topical fashion. It makes managing these files easier. Read his post on the subject.
git clone git://github.com/augustash/dotfiles.git ~/.dotfilescd ~/.dotfilesgit submodule initgit submodule updaterake installchsh -s /bin/zsh
The install rake task will symlink the appropriate files in .dotfiles to
your home directory. Everything is configured and tweaked within ~/.dotfiles.
The main file you'll want to change is zsh/zshrc.symlink, which sets up a few
paths that'll be different across your machines.
Everything's built around topic areas. If you're adding a new area to your
dotfiles - say, "PHP" - you can simply add a php directory and put files in
there. Anything with an extension of .symlink will get symlinked without
extension into $HOME when you run rake install.
There's a few special files in the hierarchy.
- bin/: Anything in
bin/will get added to your$PATHand be made available everywhere. - topic/*.symlink: Any files ending in
*.symlinkget symlinked into your$HOME. This is so you can keep all of them versioned in your dotfiles but still keep them autoloaded in your home directory. These get symlinked in when you runrake install. - topic/*.completion.sh: Any files ending in
completion.shget loaded last so that they get loaded after Zsh autocomplete functions are setup.
There are a few things we use to make our lives awesome. They're not a required dependency, but if you install them they'll make your life better too.
- If you install the excellent rvm to manage multiple rubies, your current branch will show up in the prompt.
I've formed these dotfiles over many iterations and borrowed ideas from many super smart dudes:
And others!