Why would I want my dotfiles on GitHub?
- Backup, restore, and sync the prefs and settings for your
toolbox. Your dotfiles might be the most important files on your machine.
- Learn from the community. Discover new tools for your toolbox and new
tricks for the ones you already use.
- Share what you've learned with the rest of us.
Get started with a bootstrap
If you're just starting out, before you go symlinking everything in
you may want to check out a few bootstrap projects that take the heavy lifting
out of the process. Here are a few of our favorites:
Go farther with a framework
For a lot of us, a big chunk of our
~ folder is devoted to our shell and
our text editor. Until you're ready to roll your own setup, these projects make
customization safe and easy.
- oh-my-zsh is a
community-driven framework for managing your Zsh configuration. It bundles
40+ plugins and 80+ themes.
is a "shameless ripoff of oh-my-zsh," but for bash.
- rcm is a set of well-documented shell
scripts that help manage your dotfiles. Available on mac's homebrew package
manager, but works on all unix operating systems.
- Janus is a distribution of plug-ins
and mappings for Vim, Gvim and MacVim.
- Brandon Philip's ghar is a standalone
Python script for managing git repos symlinked into your home.
- fresh is a tool to source dotfiles
from others into your own. It supports shell configuration (aliases,
functions, etc.) as well as config files (e.g.
Think of it as Bundler for your dotfiles.
- Richard "RichiH" Hartmann's vcsh manages
all your dotfiles in Git without the need for symlinks. Any number of Git
repositories will co-exist in parallel in your
$HOME without interferring
with each other. Advanced use cases with different branches for different
systems are supported by default. An extensive hook system lets you customize
vcsh includes batch push, pull, and status commands which
operate on all your repositories at once.
Don't ignore your
GitHub has a great collection of
for a wide range of languages and editors. We recommend
Simon Whitaker's shell script
to help you manage them.
Consider using Git submodules as you
start to add 3rd party frameworks, scripts, and plugins. Submodules make
managing dotfile dependencies with so much easier.
Why create this site?
Some of your fellow GitHub friends have
found incredible value in digging through Other People's Dotfiles
(OPD). We aim to share that knowledge with you, our fellow wayfaring
stranger in the shell.
You totally need to know about a great bootstrap or framework, how do I submit?
Great! We're always looking for new projects to follow. Please connect
with us on Twitter.
Oh no! I've committed passwords/API keys/other sensitive data!
We've got you covered! Take a look at the sensitive data removal
Your FAQ is weak. It so did not answer my question.
That's not a question. But feel free to ask us anything on
Twitter. Maybe we can expand this list.
Want to help out? Great! Submit a feature request, open an issue, or submit a patch.