dotfiles!
VimL Shell Perl Ruby Python
Failed to load latest commit information.
bin icopy: printing helpe exits successfully Jul 17, 2016
helpful-tips Add some helpful awk tips May 25, 2016
system Don't set an insane key repeat Mar 14, 2016
tag-clojure/vim Only enable rainbow parentheses for Clojure Mar 7, 2016
tag-git vim: Use mnemonic mapping for fixup-ing Jul 25, 2016
tag-haskell Only set Haskell's shiftwidth in Haskell files Jun 21, 2016
tag-python Add tag-specific Brewfiles Oct 15, 2015
tag-ruby Don't incur rake startup time so much Jul 21, 2016
tag-tmux tmux: Don't display anything for status-right Jul 14, 2016
terminal-themes Update terminal theme Mar 30, 2014
vim vim: Always load changed files Jul 25, 2016
zsh Make fuzzy history searching sliiightly better Jul 4, 2016
.gitignore Always create Vim's undodir Jun 26, 2016
Brewfile I think homebrew/services must be near the top Jul 1, 2016
README.md Remove outdated screenshot of my prompt May 21, 2016
agignore ag: Sort into files and directories Jul 25, 2016
ctags Update ctags for Elixir and JavaScript May 23, 2016
curlrc curl: Don't _always_ turn on verbose mode Jul 2, 2016
editrc editrc Oct 11, 2011
inputrc tmux, don't ever convert <Enter> to ^M again. Jan 13, 2012
install.sh Link qt55 directly in the Brewfile Jul 1, 2016
nethackrc OPTIONS=sound is an invalid option Apr 28, 2016
psqlrc shut up, psql Nov 30, 2013
rcrc Let autocd handle `dotfiles` cd-ing to the dir May 21, 2016
vimrc The settings can be loaded before the plugins Jun 4, 2016
zshenv Make sure rbenv is in $PATH when run in zshenv Jun 11, 2016
zshrc Don't tell tmux to go to the most recent directory Jun 1, 2016

README.md

dotfiles

Gabriel Berke-Williams' dotfiles for Zsh, ruby, git, and more.

Questions? Comments? Open an issue or tweet @gabebw.

Prerequisites

  • OS X
  • Zsh (to change your default shell to Zsh: chsh -s $(which zsh) $USER)
  • Homebrew

Installation

$ git clone git@github.com:gabebw/dotfiles.git ~/.dotfiles
$ cd ~/.dotfiles
$ ./install.sh

It will install rcm and use that to safely symlink the dotfiles, prompting you if a file already exists (like if you already have ~/.zshrc).

Organization

rcm will symlink all files into place, keeping the folder structure relative to the tag root. However, non-configuration files and folders like system/, Brewfile, README.md, etc will not be linked because they are in the EXCLUDES section of the rcrc file.

Tags

rcm has the concept of tags: items under tag-git/ are in the git tag, and so on. I'm using it for organization, so that if someone starts using Haskell I can point them at all of my Haskell configuration across Vim/Zsh/GHCi, all in one place.

Zsh

Zsh has lots of good stuff in zsh/options.zsh and zsh/aliases.zsh.

The Zsh prompt is in zsh/prompt.zsh. It shows the current directory, the current git branch, the status of the git branch (changed, staged, clean, etc) and the current Ruby version. It is well-documented, and entirely self-contained: you can copy it into your dotfiles with no changes to test it out. (It does assume you use rbenv.)

Attribution

Many scripts and configurations have been inspired by or outright stolen from my colleagues at thoughtbot. Of special note, I've stolen many things from Chris Toomey and Gordon Fontenot, among others that I'm sure I'm forgetting.