116 lines
2.0 KiB
Bash
116 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
source "script_helpers/all.sh"
|
|
|
|
set -e
|
|
|
|
cwd=$PWD
|
|
platform=`uname`
|
|
|
|
os_is_windows is_windows
|
|
if [[ $is_windows -eq 0 ]]; then
|
|
error "This is only supported on Linux or MacOS.\n"
|
|
exit 1
|
|
fi
|
|
|
|
setup_dotfile_repo() {
|
|
if [ ! -d "$HOME/.dotfiles" ]; then
|
|
printf "${YELLOW}Creating dotfiles symlink${NORMAL}\n"
|
|
ln -s $cwd $HOME/.dotfiles
|
|
fi
|
|
|
|
# Used by various things (e.g. vim history)
|
|
mkdir -p $HOME/tmp
|
|
}
|
|
|
|
link() {
|
|
file=$1
|
|
link_file "$HOME/.dotfiles/$file" "$HOME/.$file" 0
|
|
}
|
|
|
|
setup_git() {
|
|
printf "Setting up git...\n"
|
|
|
|
FILES=()
|
|
FILES+=('gitconfig')
|
|
FILES+=('githelpers')
|
|
|
|
for file in "${FILES[@]}"
|
|
do
|
|
link "$file"
|
|
done
|
|
}
|
|
|
|
setup_zsh() {
|
|
printf "Setting up zsh...\n"
|
|
TEST_CURRENT_SHELL=$(expr "$SHELL" : '.*/\(.*\)')
|
|
if [ "$TEST_CURRENT_SHELL" != "zsh" ]; then
|
|
if hash chsh >/dev/null 2>&1; then
|
|
printf "\n${BLUE}Changing the default shell to zsh${NORMAL}\n"
|
|
chsh -s $(grep /zsh$ /etc/shells | tail -1)
|
|
else
|
|
printf "\n${RED}Unable to change the shell because this system does not have chsh.\n"
|
|
printf "${BLUE}If this is Windows then you probably want to run the bash installer.${NORMAL}\n"
|
|
fi
|
|
fi
|
|
|
|
FILES=()
|
|
FILES+=('zsh')
|
|
FILES+=('zshrc')
|
|
FILES+=('zshenv')
|
|
FILES+=('zlogin')
|
|
FILES+=('zprofile')
|
|
|
|
for file in "${FILES[@]}"
|
|
do
|
|
link "$file"
|
|
done
|
|
}
|
|
|
|
setup_vim() {
|
|
printf "Setting up vim...\n"
|
|
|
|
FILES=()
|
|
FILES+=('vim')
|
|
FILES+=('vimrc')
|
|
|
|
for file in "${FILES[@]}"
|
|
do
|
|
link "$file"
|
|
done
|
|
}
|
|
|
|
setup_misc() {
|
|
printf "Setting up misc...\n"
|
|
|
|
FILES=()
|
|
FILES+=('curlrc')
|
|
FILES+=('racketrc')
|
|
|
|
for file in "${FILES[@]}"
|
|
do
|
|
link "$file"
|
|
done
|
|
}
|
|
|
|
# ////////////////////////////////////////////////////////////////////////////////////////
|
|
# OSX
|
|
|
|
setup_osx() {
|
|
./osx/install.sh
|
|
}
|
|
|
|
# ////////////////////////////////////////////////////////////////////////////////////////
|
|
# Run
|
|
|
|
setup_dotfile_repo
|
|
setup_git
|
|
setup_zsh
|
|
setup_vim
|
|
setup_misc
|
|
|
|
if [[ $platform == 'Darwin' ]]; then
|
|
printf "\n${BOLD}Running the OS X installer${NORMAL}\n"
|
|
setup_osx
|
|
fi
|