The usual configurations
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


My public dotfiles, lovingly grown over many years, through hours of wasted time.


Run this:

git clone ~/.dotfiles
cd ~/.dotfiles

This will symlink the appropriate files in .dotfiles to your home directory. Everything is configured and tweaked within ~/.dotfiles.


Everything's built around topic areas. If you're adding a new area to your forked dotfiles — say, "Vim" — you can simply add a vim directory and put files in there. Anything with an extension of .symlink will get symlinked without extension into $HOME when you run script/bootstrap.

areas of interest

  • bin/

    • Random scripts I've written and collected
    • youtube-dl - download youtube videos
    • - format JSON
    • - makes GNU find much more useful for most situations
    • - SLOC analyzer
  • vim/ and my .vimrc

    • Reasonably organized, well commented vimrc. Vim is my main IDE, so I'm always tweaking vim.
    • NERDTree - good filesystem browser
    • taglist - essential source code browser
    • fuzzyfinder - similar to textmate's fuzzy file finder, this is a hack of ruby scripts and fuzzyfinder vim plugin. great for finding files!
  • system/

    • .bash_profile should be loaded first, sets up the ENV and PATH
    • .bashrc sets ENV variables and settings, loads other customizations
    • .bash_aliases is shorter scripts and command aliases
    • .bash_machines is shortcuts to all my machines
    • input.rc has some cool hacks for viewing history and setting up the terminal


I copied Zach Holman's dotfiles for the layout and symlink idea.