diff options
Diffstat (limited to 'script')
-rwxr-xr-x | script/bootstrap | 234 | ||||
-rwxr-xr-x | script/install | 10 |
2 files changed, 0 insertions, 244 deletions
diff --git a/script/bootstrap b/script/bootstrap deleted file mode 100755 index 1acfd22..0000000 --- a/script/bootstrap +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/env bash -# -# bootstrap installs things. - -cd "$(dirname "$0")/.." -DOTFILES_ROOT=$(pwd -P) - -set -e - -echo '' - -info () { - printf "\r [ \033[00;34m..\033[0m ] $1\n" -} - -user () { - printf "\r [ \033[0;33m??\033[0m ] $1\n" -} - -success () { - printf "\r\033[2K [ \033[00;32mOK\033[0m ] $1\n" -} - -fail () { - printf "\r\033[2K [\033[0;31mFAIL\033[0m] $1\n" - echo '' - exit -} - -setup_gitconfig () { - if ! [ -f git/gitconfig.symlink ] - then - info 'setup gitconfig' - - git_credential='cache --timeout=3600' - if [ "$(uname -s)" == "Darwin" ] - then - git_credential='osxkeychain' - fi - - user ' - What is your github author name?' - read -e git_authorname - user ' - What is your github author email?' - read -e git_authoremail - - sed -e "s/AUTHORNAME/$git_authorname/g" -e "s/AUTHOREMAIL/$git_authoremail/g" -e "s/GIT_CREDENTIAL_HELPER/$git_credential/g" git/gitconfig.symlink.example > git/gitconfig.symlink - - success 'gitconfig' - fi -} - - -link_directory () { - local src=$1 dst=$2 - - local overwrite= backup= skip= remove= - local action= - - if [ -f "$dst" -o -L "$dst" ] - then - - if [ "$overwrite_all" == "false" ] && [ "$backup_all" == "false" ] && [ "$skip_all" == "false" ] - then - - user "Directory already exists: $dst ($(basename "$src")), what do you want to do?\n\ - [s]kip, [r]emove, [b]ackup?" - read -n 1 action - - case "$action" in - s ) - skip=true;; - r ) - remove=true;; - b ) - backup=true;; - * ) - ;; - esac - - fi - - skip=${skip:-$skip_all} - backup=${backup:-$backup_all} - - if [ "$remove" == "true" ] - then - rm -rf "$dst" - success "removed $dst" - fi - - if [ "$backup" == "true" ] - then - mv "$dst" "${dst}.backup" - success "moved $dst to ${dst}.backup" - fi - - if [ "$skip" == "true" ] - then - success "skipped $src" - fi - fi - - if [ "$skip" != "true" ] - then - mkdir -p "$dst" - - for f in "$src"/* - do - this_dst="$dst/$(basename "$f")" - link "$f" "$this_dst" - done - fi -} - - -link_file () { - local src=$1 dst=$2 - - local overwrite= backup= skip= - local action= - - if [ -f "$dst" -o -d "$dst" -o -L "$dst" ] - then - - if [ "$overwrite_all" == "false" ] && [ "$backup_all" == "false" ] && [ "$skip_all" == "false" ] - then - - local currentSrc="$(readlink $dst)" - - if [ "$currentSrc" == "$src" ] - then - - skip=true; - - else - - user "File already exists: $dst ($(basename "$src")), what do you want to do?\n\ - [s]kip, [S]kip all, [o]verwrite, [O]verwrite all, [b]ackup, [B]ackup all?" - read -n 1 action - - case "$action" in - o ) - overwrite=true;; - O ) - overwrite_all=true;; - b ) - backup=true;; - B ) - backup_all=true;; - s ) - skip=true;; - S ) - skip_all=true;; - * ) - ;; - esac - - fi - - fi - - overwrite=${overwrite:-$overwrite_all} - backup=${backup:-$backup_all} - skip=${skip:-$skip_all} - - if [ "$overwrite" == "true" ] - then - rm -rf "$dst" - success "removed $dst" - fi - - if [ "$backup" == "true" ] - then - mv "$dst" "${dst}.backup" - success "moved $dst to ${dst}.backup" - fi - - if [ "$skip" == "true" ] - then - success "skipped $src" - fi - fi - - if [ "$skip" != "true" ] # "false" or empty - then - ln -s "$1" "$2" - success "linked $1 to $2" - fi -} - - -link () { - local src=$1 dst=$2 - - if [ -f "$src" ] - then - link_file "$src" "$dst" - elif [ -d "$src" ] - then - link_directory "$src" "$dst" - fi -} - - -install_dotfiles () { - info 'installing dotfiles' - - local overwrite_all=false backup_all=false skip_all=false - - for src in $(find -H "$DOTFILES_ROOT" -maxdepth 2 -name '*.symlink') - do - dst="$HOME/.$(basename "${src%.*}")" - link "$src" "$dst" - done -} - -setup_gitconfig -install_dotfiles -ln -s "$DOTFILES_ROOT/bin" "$HOME/bin" - -# If we're on a Mac, let's install and setup homebrew. -if [ "$(uname -s)" == "Darwin" ] -then - info "installing dependencies" - if source bin/dot > /tmp/dotfiles-dot 2>&1 - then - success "dependencies installed" - else - fail "error installing dependencies" - fi -fi - -echo '' -echo ' All installed!' diff --git a/script/install b/script/install deleted file mode 100755 index 1887fc2..0000000 --- a/script/install +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash -# -# Run all dotfiles installers. - -set -e - -cd "$(dirname $0)"/.. - -# find the installers and run them iteratively -find . -name install.sh | while read installer ; do sh -c "${installer}" ; done |