#!/usr/bin/env bash INSTALL_DIR="$HOME/.dotfiles" # Ask for the administrator password upfront sudo -v # Keep-alive: update existing `sudo` time stamp until script is done while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null & ##### GIT & DOTFILES ###### # If the install folder doesn't exist, you bash < <(curl ...)'d this script! if [ ! -d "$INSTALL_DIR" ]; then # Check for git and install it if necessary if ! command -v "git" 2>&1 >/dev/null; then echo "GIT isn't installed! Please install it." exit 1 fi # Get the dotfiles echo "$(tput setaf 2)==> Cloning dotfiles repo$(tput sgr0)" git clone https://github.com/hlissner/dotfiles.git "$INSTALL_DIR" ln -sf "$INSTALL_DIR/gitconfig" ~/.gitconfig ln -sf "$INSTALL_DIR/gitignore" ~/.gitignore else echo "$(tput setaf 1)==> Dotfiles are already installed$(tput sgr0)" fi ###### DEPENDENCIES ####### source "$INSTALL_DIR/zsh/functions" if is_mac; then # Set up the OSX options $INSTALL_DIR/install/osx # Detect homebrew; install it if necessary if ! command_exists brew; then echo-g "==> Installing Homebrew" # http://mxcl.github.com/homebrew/ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go) # Reregister the PATH so bash sees brew and its minions PATH=/usr/local/bin:/usr/local/sbin:$PATH # Install GNU core utilities (those that come with OS X are outdated) brew install coreutils # echo "Don’t forget to add $(brew --prefix coreutils)/libexec/gnubin to \$PATH." # Install GNU `find`, `locate`, `updatedb`, and `xargs`, g-prefixed brew install findutils # Install Bash 4 brew install bash # Install wget with IRI support brew install wget --enable-iri # Install more recent versions of some OS X tools brew tap homebrew/dupes brew install homebrew/dupes/grep brew tap josegonzalez/homebrew-php # Install everything else brew install ack rename tree node nginx memcached ctags brew install php54 --with-fpm --with-imap --with-mysql --with-pgsql --without-apache brew install php54-imagick php54-mcrypt php54-xdebug readline echo-g "==> Homebrew: Updating" brew update && brew upgrade echo-g "==> Homebrew: Cleaning up" brew cleanup else echo-r "==> Homebrew is already installed!" fi elif is_linux; then echo-g "==> Installing dependencies" pkg-install curl python ruby wget zsh git-core echo-g "==> Aptitude: Updating" pkg-update fi # https://github.com/jamiew/git-friendly if ! command_exists "branch"; then echo-g "==> Installing git-friendly" sudo bash < <(curl https://raw.github.com/jamiew/git-friendly/master/install.sh) fi # Install & setup ZSH shell $INSTALL_DIR/install/zsh # Install RVM & setup 1.8.7, 1.9.2 rubies $INSTALL_DIR/install/rvm # Install & setup TMUX $INSTALL_DIR/install/tmux # Install & setup VIM $INSTALL_DIR/install/vim # Wrap things up echo echo-g "Done!" echo "And if you want to install vim, run:" echo " sh <(curl https://raw.github.com/hlissner/mlvim/master/install.sh -L)"