47 lines
1.1 KiB
Bash
Executable file
47 lines
1.1 KiB
Bash
Executable file
#!/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
|