dotfiles/bin/install.sh

86 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# creates symlinks from the home directory to
# any desired dotfiles in ~/dotfiles
#
# adapted from @michaeljsmalley
# https://github.com/michaeljsmalley/dotfiles/blob/master/makesymlinks.sh
########################################################################
set e
# list of files/folders to symlink in homedir
FILES="bash_aliases bashrc bash_profile bash_paths bash_prompt bash_exports gemrc gitconfig gitignore hushlogin inputrc private npmrc bin tmux.conf vimrc"
# ----------------------------------------------------------------------
# create the private file first, will be symlinked but ignored by git
# ----------------------------------------------------------------------
touch private
# ----------------------------------------------------------------------
# create symlinks from the homedir to any files in the dotfiles directory
# specified in $FILES
# ----------------------------------------------------------------------
for FILE in $FILES; do
# remove old symlinks if present
if [ -h "$HOME/.$FILE" ]; then
rm "$HOME/.$FILE"
echo "$(tput setaf 64)$(tput sgr0) Removed old symlink to $(tput setaf 37)$FILE$(tput sgr0)"
fi
# symlink files
ln -s "$PWD/$FILE" "$HOME/.$FILE"
echo "$(tput setaf 64)$(tput sgr0) Created new symlink to $(tput setaf 37)$FILE$(tput sgr0)"
done
# ----------------------------------------------------------------------
# source what we just created
# ----------------------------------------------------------------------
# shellcheck source=/dev/null
source "$HOME/.bash_profile"
# ----------------------------------------------------------------------
# Homebrew
# ----------------------------------------------------------------------
echo "$(tput setaf 136) Brewing all the things. "
echo "=============================================$(tput sgr0)"
"" # reset
./bin/install-brew.sh
echo "$(tput setaf 64)---------------------------------------------"
echo " ✓ done$(tput sgr0)"
# ----------------------------------------------------------------------
# npm
# ----------------------------------------------------------------------
echo "$(tput setaf 136) npm all the things. "
echo "=============================================$(tput sgr0)"
./bin/install-npm.sh
echo "$(tput setaf 64)---------------------------------------------"
echo " ✓ done$(tput sgr0)"
# ----------------------------------------------------------------------
# Ruby
# ----------------------------------------------------------------------
echo "$(tput setaf 136) Ruby all the things. "
echo "=============================================$(tput sgr0)"
./bin/install-ruby.sh
echo "$(tput setaf 64)---------------------------------------------"
echo " ✓ done$(tput sgr0)"
echo "$(tput setaf 64)============================================="
echo " ✓ all done"
echo "=============================================$(tput sgr0)"