#!/bin/sh fail() { echo "error: $@" exit 1 } if ! which zsh >/dev/null 2>&1; then if which aptitude >/dev/null 2>&1; then sudo aptitude install -y zsh elif which brew >/dev/null 2>&1; then brew install zsh else echo "Don't know how to install zsh on this box. Install zsh and run this again." exit 1 fi fi zsh chsh -s `which zsh` if ! which git >/dev/null 2>&1; then if which aptitude >/dev/null 2>&1; then sudo aptitude install -y git-core elif which brew >/dev/null 2>&1; then brew install git-core else echo "Don't know how to install git on this box. Install git and run this again." exit 1 fi fi cd ~ if [[ ! -d config ]]; then git clone git://github.com/samsonjs/config || fail "cannot clone config repo" fi for FILE in config/*; do pushd "$HOME" DOTFILE=".${FILE##*/}" if [[ -e "$DOTFILE" ]]; then mkdir original-dot-files >/dev/null 2>/dev/null echo "Existing file found at $DOTFILE, moving to ~/original-dot-files." mv "$DOTFILE" original-dot-files/ fi ln -s "$FILE" "$DOTFILE" popd done