config files for bash, completions, git, vim
VimL Shell
Pull request Compare This branch is 57 commits ahead, 20 commits behind cspickert:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bash
vim
.gitattributes
.gitignore
.gitmodules
.osx
README.mdown
bash_completion
bash_profile
bashrc
gemrc
gitconfig
gitignore_global
gvimrc
inputrc
install.bash
jshintrc
pystartup
screenrc
tmux.conf
vim.sh
vimrc

README.mdown

Chris' Dot Files

Forked from cspickert/dotfiles.

…in turn forked from ryanb/dotfiles.

Requirements

  1. Bash 4+ (and bash_completion, if desired)

Chris' idiot-proof pre-installation on OSX

  1. Download XCode from the Mac App Store or download and install only the latest commandline tools from the Apple Developer site
  2. Get homebrew
  3. brew install bash (installs to /usr/local/bin)
  4. sudo vim /etc/shells
  5. Add the bash from homebrew to the list:

    /usr/local/bin/bash
    
  6. chsh -s /usr/local/bin/bash
  7. Open a new terminal window or restart the app

Installation

Simply run the following commands:

git clone --recursive git://github.com/cbosco/dotfiles ~/.dotfiles
cd ~/.dotfiles
/usr/local/bin/bash ./install.bash

The install script will create symbolic links to files in your home directory (.bashrc, .bash_profile, etc.). If files exist at these paths, you will be prompted to handle the conflict by overwriting, skipping or aborting the installation.

I recommend moving any existing shell configuration into ~/.localrc, which will be sourced if it exists.

Sensible OS X defaults

When setting up a new Mac, you may want to set some sensible OS X defaults:

./.osx

Anything not immediately available on OSX

  • Bash 4 (see above)
  • tmux (get via brew)

Environment

I have used these files on Mac, Linux and FreeBSD systems. I recommend putting any system-specific configuration, as well as anything else you don't want in your repo in ~/.localrc.

-- @cspickert

Features

  • A nice prompt
  • Bash history synchronization for multiple shells (via exploiting PROMPT_COMMAND)
  • Some helpful aliases (including git)
  • Configuration files for tmux, screen and the python interpreter
  • Mac-friendly inputrc file
  • OSX settings scripted (from @mathiasbynens)