Files
skel/install.sh
David Tomaschik 1361fb8cc6 Add Vundle
2015-08-30 14:11:52 -07:00

61 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set nounset
set errexit
BASEDIR=${BASEDIR:-$HOME/.dotfiles}
if [ ! -d $BASEDIR ] ; then
echo "Please install to $BASEDIR!" &>2
exit 1
fi
function prerequisites {
# Prerequisites require git
if ! which git > /dev/null ; then
echo 'No git, not installing extras.' > /dev/stderr
return
fi
if which zsh > /dev/null ; then
chsh -s `which zsh`
if [ ! -d $HOME/.oh-my-zsh ] ; then
git clone https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
fi
else
echo "ZSH not found!" > /dev/stderr
fi
if which vim > /dev/null ; then
mkdir -p $HOME/.vim/bundle
if [ ! -d $HOME/.vim/bundle/Vundle.vim ] ; then
git clone https://github.com/VundleVim/Vundle.vim.git \
$HOME/.vim/bundle/Vundle.vim
fi
fi
}
function install_dir {
SRCDIR="${1}"
find ${SRCDIR} \( -name .git -o \
-path ${SRCDIR}/private_dotfiles -o \
-name install.sh -o \
-name .gitignore \) \
-prune -o -type f -print | \
while read dotfile ; do
TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"`
ln -s -f "${dotfile}" "${TARGET}"
done
}
function postinstall {
# Install Vundle plugins
if [ -d $HOME/.vim/bundle/Vundle.vim ] ; then
vim +VundleInstall +qall
fi
}
prerequisites
install_dir "${BASEDIR}"
test -d "${BASEDIR}/private_dotfiles" && install_dir "${BASEDIR}/private_dotfiles"
postinstall