Refactor install scripts (KISS)

This commit is contained in:
Henrik Lissner 2013-03-21 22:26:04 -04:00
parent 9373174c6a
commit a57e94a912
7 changed files with 90 additions and 112 deletions

View file

@ -5,20 +5,19 @@ RS=$(tput sgr0)
src=$(cd "$(dirname "$0")"; pwd)
if [ ! -d $src/install ]; then
echo -e "$GREEN==> Cloning dotfiles repo"
echo -e "$GREEN==> Cloning dotfiles repo$RS"
git clone https://github.com/hlissner/dotfiles.git ~/.dotfiles | sed "s/^/ /"
src="~/.dotfiles"
fi
{
$src/install/osx
$src/install/zsh
$src/install/brew
$src/install/git
$src/install/rvm
$src/install/tmux
} | sed "s/^/ /"
$src/install/osx
$src/install/zsh
$src/install/brew
$src/install/git
$src/install/rvm
$src/install/tmux
echo "Done!"
echo
echo "${GREEN}Done!$RS"
echo "And if you want to install vim, run:"
echo " sh <(curl https://raw.github.com/hlissner/mlvim/master/install.sh -L)"

View file

@ -1,7 +1,7 @@
#!/bin/zsh
if ! command-exists brew ; then
echoh "==> Homebrew: Installing"
if ! command-exists brew; then
echo "==> Homebrew: Installing"
# http://mxcl.github.com/homebrew/
ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go) | indent
@ -10,43 +10,41 @@ elif [ "$1" = "--force" ]; then
FORCE=1
fi
echo "==> Homebrew: Updating"
# Make sure were using the latest Homebrew
brew update
if [ $FORCE ]; then
echoh "==> Homebrew: Installing essential brews"
{
# Install GNU core utilities (those that come with OS X are outdated)
brew install coreutils
# echo "Dont 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
echo "==> Homebrew: Installing essential brews"
# Install wget with IRI support
brew install wget --enable-iri
# Install GNU core utilities (those that come with OS X are outdated)
brew install coreutils
# echo "Dont 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 more recent versions of some OS X tools
brew tap homebrew/dupes
brew install homebrew/dupes/grep
brew tap josegonzalez/homebrew-php
# Install wget with IRI support
brew install wget --enable-iri
# Install everything else
brew install ack git rename tree python ruby node nginx memcached ctags macvim
brew install php54 --with-fpm --with-imap --with-mysql --with-pgsql --without-apache
brew install php54-imagick php54-mcrypt php54-xdebug readline
} | indent
# 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 git rename tree python node nginx memcached ctags macvim
brew install php54 --with-fpm --with-imap --with-mysql --with-pgsql --without-apache
brew install php54-imagick php54-mcrypt php54-xdebug readline
else
echoh "==> Homebrew: Updating"
{
# Make sure were using the latest Homebrew
brew update
# Upgrade any already-installed formulae
brew upgrade
} | indent
echo "==> Homebrew: Upgrading"
# Upgrade any already-installed formulae
brew upgrade
fi
echoh "==> Homebrew: Cleaning up"
echo "==> Homebrew: Cleaning up"
# Remove outdated versions from the cellar
brew cleanup | indent
brew cleanup
echoh "==> Homebrew: DONE!"
echo "==> Homebrew: DONE!"

View file

@ -6,22 +6,20 @@ if ! command-exists git; then
exit
fi
echoh "==> Git: Installing"
echo "==> Git: Installing"
brew install git | indent
fi
if [ ! -e /usr/local/bin/branch ]; then
echoh "==> Git: Installing git-friendly"
echo "==> Git: Installing git-friendly"
# https://github.com/jamiew/git-friendly
bash < <(curl https://raw.github.com/jamiew/git-friendly/master/install.sh)
fi
# Create links
echoh "==> Git: Setting up symlinks"
echo "==> Git: Setting up symlinks"
ln -sf ~/.dotfiles/gitignore ~/.gitignore
ln -sf ~/.dotfiles/gitconfig ~/.gitconfig
src=$(cd "$(dirname "$0")/.."; pwd)
ln -sf $src/gitignore ~/.gitignore
ln -sf $src/gitconfig ~/.gitconfig
echoh "==> Git: DONE!"
echo "==> Git: DONE!"

View file

@ -2,25 +2,23 @@
sudo -v
if ! command-exists "rvm"; then
if ! command-exists rvm; then
# If RVM's not installed, install it and the rubies
echoh "==> Rvm: Installing"
echo "==> Rvm: Installing"
# https://rvm.io
curl -L https://get.rvm.io | bash -s stable --ruby | indent
echoh "==> Rvm: Install rubies"
{
# Install rubies and update rubygems
rvm install 1.9.3
rvm install 1.8.7-p371
echo "==> Rvm: Install rubies"
# Install rubies and update rubygems
rvm install 1.9.3
rvm install 1.8.7-p371
# But ultimately, the system should be the default
rvm --default use system
# But ultimately, the system should be the default
rvm --default use system
# A few prerequisites
sudo gem install bluecloth capistrano bundler colorize
} | indent
# A few prerequisites
sudo gem install bluecloth capistrano bundler colorize
else
# Otherwise, update it
@ -32,21 +30,17 @@ else
# Update all rubies and rubygems
for v in 1.9.3 1.8.7; do
echoh "==> Rvm: Updating ruby $v"
{
rvm use $v
gem update --system
gem update
} | indent
echo "==> Rvm: Updating ruby $v"
rvm use $v
gem update --system
gem update
done
# Update system ruby
echoh "==> Rvm: Updating system ruby"
{
rvm use system
sudo gem update --system
sudo gem update
} | indent
echo "==> Rvm: Updating system ruby"
rvm use system
sudo gem update --system
sudo gem update
fi
echoh "==> Rvm: DONE!"
echo "==> Rvm: DONE!"

View file

@ -6,14 +6,13 @@ if ! command-exists brew; then
fi
if [ ! `command -v "tmux"` ]; then
echoh "==> Tmux: Installing tmux & reattach-to-user-namespace"
echo "==> Tmux: Installing tmux & reattach-to-user-namespace"
brew install tmux reattach-to-user-namespace libevent | indent
else
echoh "==> Tmux: already installed!"
echo "==> Tmux: already installed!"
fi
echoh "==> Tmux: Setting up symlinks"
src=$(cd "$(dirname "$0")/.."; pwd)
ln -sf $src/tmux.conf ~/.tmux.conf
echo "==> Tmux: Setting up symlinks"
ln -sf ~/.dotfiles/tmux.conf ~/.tmux.conf
echoh "==> Tmux: DONE!"
echo "==> Tmux: DONE!"

View file

@ -2,16 +2,16 @@
if ! command-exists "brew"; then
echo "Homebrew is required!"
exit
exit 1
fi
if ! command-exists "mvim"; then
echoh "==> Vim: Installing macvim"
echo "==> Vim: Installing macvim"
brew install macvim --with-cscope --override-system-vim | indent
fi
if [ ! -e ~/.vimrc ]; then
echoh "==> Vim: Installing vim rcfiles"
echo "==> Vim: Installing vim rcfiles"
if [ -d ~/.vim ]; then
rm -rf ~/.vim
@ -22,21 +22,17 @@ if [ ! -e ~/.vimrc ]; then
sh <(curl https://raw.github.com/hlissner/mlvim/master/install.sh -L) | indent
fi
echoh "==> Vim: Updating..."
{
find ~/.vim/bundle/ -type d -name .git \
| xargs -n 1 dirname \
| while read line; do cd $line && echo -n "$(basename $line): " && git pull; done
} | indent
echo "==> Vim: Updating..."
find ~/.vim/bundle/ -type d -name .git \
| xargs -n 1 dirname \
| while read line; do cd $line && echo -n "$(basename $line): " && git pull; done
YVM_DIR="~/.vim/bundle/YouCompleteMe"
if [ -d $YVM_DIR ] && [ ! -e $YVM_DIR/python/ycm_core.so ]; then
echoh "==> Vim: Trying to compile YCM"
{
brew install cmake
cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer
} | indent
echo "==> Vim: Trying to compile YCM"
brew install cmake
cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer
fi
echoh "==> Vim: DONE!"
echo "==> Vim: DONE!"

View file

@ -1,27 +1,21 @@
#!/bin/bash
echoh() {
echo -e "\033[01;38;5;2m$1\033[39m"
}
if [ ! -d ~/.oh-my-zsh ]; then
# https://github.com/robbyrussell/oh-my-zsh
echoh "==> ZSH: Installing oh-my-zsh"
echo "==> ZSH: Installing oh-my-zsh"
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
# Set new shell
echoh "==> ZSH: Changing shell"
echo "==> ZSH: Changing shell"
chsh -s /bin/zsh
fi
# Create links
echoh "==> ZSH: Setting up symlinks"
src=$(cd "$(dirname "$0")/.."; pwd)
echo "==> ZSH: Setting up symlinks"
[ -d ~/.zsh ] && rm ~/.zsh
ln -sf $src/zsh ~/.zsh
ln -sf $src/zshrc ~/.zshrc
ln -sf $src/zshenv ~/.zshenv
ln -sf $src/bashrc ~/.bashrc
ln -sf ~/.dotfiles/zsh ~/.zsh
ln -sf ~/.dotfiles/zshrc ~/.zshrc
ln -sf ~/.dotfiles/zshenv ~/.zshenv
ln -sf ~/.dotfiles/bashrc ~/.bashrc
echoh "==> ZSH: DONE!"
echo "==> ZSH: DONE!"