#!/usr/bin/env zsh ### end common-components/zsh-shebang # Welcome to the thoughtbot laptop script! Be prepared to turn your laptop (or # desktop, no haters here) into an awesome development machine. # This file is auto-generated. Do not edit it by hand unless you know what # you're doing. Please see 'CONTRIBUTING.md' for more information. ### end common-components/header trap 'ret=$?; test $ret -ne 0 && printf "failed\n\n" >&2; exit $ret' EXIT set -e ### end common-components/exit-trap if [ ! -d "$HOME/.bin/" ]; then mkdir "$HOME/.bin" fi if [[ ":$PATH:" != *":$HOME/.bin:"* ]]; then echo 'export PATH="$HOME/.bin:$PATH"' >> ~/.zshrc source ~/.zshrc fi ### end common-components/check-home-bin fancy_echo() { printf "\n%b\n" "$1" } ### end common-components/shared-functions if ! grep -qiE 'precise|quantal|wheezy|raring|jessie|saucy' /etc/os-release then fancy_echo "Sorry! we don't currently support that distro." exit 1 fi ### end linux-components/distro-check fancy_echo "Updating system packages ..." if command -v aptitude >/dev/null; then fancy_echo "Using aptitude ..." else fancy_echo "Installing aptitude ..." sudo apt-get install -y aptitude fi sudo aptitude update ### end linux-components/debian-package-update fancy_echo "Installing git, for source control management ..." sudo aptitude install -y git fancy_echo "Installing base ruby build dependencies ..." sudo aptitude build-dep -y ruby1.9.3 fancy_echo "Installing libraries for common gem dependencies ..." sudo aptitude install -y libxslt1-dev libcurl4-openssl-dev libksba8 libksba-dev libqtwebkit-dev libreadline-dev fancy_echo "Installing Postgres, a good open source relational database ..." sudo aptitude install -y postgresql postgresql-server-dev-all fancy_echo "Installing Redis, a good key-value database ..." sudo aptitude install -y redis-server fancy_echo "Installing ctags, to index files for vim tab completion of methods, classes, variables ..." sudo aptitude install -y exuberant-ctags fancy_echo "Installing vim ..." sudo aptitude install -y vim-gtk fancy_echo "Installing tmux, to save project state and switch between projects ..." sudo aptitude install -y tmux fancy_echo "Installing ImageMagick, to crop and resize images ..." sudo aptitude install -y imagemagick fancy_echo "Installing watch, to execute a program periodically and show the output ..." sudo aptitude install -y watch ### end linux-components/debian-derivative-packages fancy_echo "Installing The Silver Searcher (better than ack or grep) to search the contents of files ..." git clone git://github.com/ggreer/the_silver_searcher.git /tmp/the_silver_searcher sudo aptitude install -y automake pkg-config libpcre3-dev zlib1g-dev liblzma-dev sh /tmp/the_silver_searcher/build.sh cd /tmp/the_silver_searcher sh build.sh sudo make install cd rm -rf /tmp/the_silver_searcher ### end linux-components/silver-searcher-from-source fancy_echo "Installing rbenv, to change Ruby versions ..." git clone git://github.com/sstephenson/rbenv.git ~/.rbenv if ! grep -qs "rbenv init" ~/.zshrc; then echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(rbenv init - --no-rehash)"' >> ~/.zshrc fi source ~/.zshrc fancy_echo "Installing rbenv-gem-rehash so the shell automatically picks up binaries after installing gems with binaries..." git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash fancy_echo "Installing ruby-build, to install Rubies ..." git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build ### end linux-components/rbenv RUBY_VERSION="2.1.0" fancy_echo "Installing Ruby $RUBY_VERSION ..." rbenv install $RUBY_VERSION fancy_echo "Setting $RUBY_VERSION as global default Ruby ..." rbenv global $RUBY_VERSION rbenv rehash fancy_echo "Updating to latest Rubygems version ..." gem update --system fancy_echo "Installing Bundler to install project-specific Ruby gems ..." gem install bundler --no-document --pre fancy_echo "Installing Rails ..." gem install rails --no-document fancy_echo "Installing GitHub CLI client ..." curl http://hub.github.com/standalone -sLo ~/.bin/hub chmod +x ~/.bin/hub ### end common-components/ruby-environment fancy_echo "Configuring Bundler for faster, parallel gem installation ..." number_of_cores=`nproc` bundle config --global jobs `expr $number_of_cores - 1` ### end linux-components/bundler fancy_echo "Installing Heroku CLI client ..." wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh fancy_echo "Installing the heroku-config plugin to pull config variables locally to be used as ENV variables ..." heroku plugins:install git://github.com/ddollar/heroku-config.git ### end linux-components/heroku fancy_echo "Installing rcm, to manage your dotfiles ..." wget -O /tmp/rcm_1.1.0_all.deb http://mike-burns.com/project/rcm/rcm_1.1.0_all.deb sudo dpkg -i /tmp/rcm_1.1.0_all.deb rm -f /tmp/rcm_1.1.0_all.deb ### end linux-components/rcm