#!/bin/bash cd `dirname $0` dodiff() { if ! [ -f "$2" ]; then echo "Not installed: $1 => $2" read -p "Install? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then doinst $1 $2 fi return fi if cmp "$1" "$2" >/dev/null; then echo "No difference detected: $2" return fi vimdiff "$1" "$2" } diff() { # Iterate trough source directory but ignore any git repositories # Note that its design decision to not iterate trough target directory. if [ -d "$1" ]; then for f in `find "$1" \( -type d -exec test -e '{}'/.git \; \) -prune -o -type f -print`; do F="${f#$1/}" echo $f dodiff "$1/$F" "$2/$F" done else dodiff "$1" "$2" fi } doinst() { echo rsync -rlpt $1 $2 rsync -rlpt $1 $2 } inst() { if [ -e "$2" ]; then # If output exists, execute diff instead diff $1 $2 return fi doinst $1 $2 } # TODO if on archlinux install pkgstats and other packages we would need for every feature read -p "Install Bashrc? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst bashrc ~/.bashrc inst shellrc ~/.shellrc fi read -p "Install zshrc? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst zshrc ~/.zshrc inst shellrc ~/.shellrc fi read -p "Install GIT configuration? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst gitconfig ~/.gitconfig inst local/git-prompt.sh ~/.local/ fi read -p "Install VIM scripts? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst vimrc ~/.vimrc inst vim ~/.vim mkdir -p ~/.cache/vim # directory for *.swp files mkdir -p ~/.cache/vim-undo # directory for undo files echo "Please don't forget to setup YouCompleteMe" fi read -p "Install email synchronization? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst local/bin/annoyme ~/.local/bin/ inst local/sbin/annoyme-request ~/.local/sbin/ inst local/sbin/syncemail ~/.local/sbin/ inst config/offlineimap/ ~/.config/offlineimap inst config/systemd/user/syncemail.service ~/.config/systemd/user fi read -p "Install mutt configuration? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst mutt/ ~/.mutt inst urlview ~/.urlview fi read -p "Install i3 configuration and related tools? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst xinitrc ~/.xinitrc inst Xresources ~/.Xresources inst config/i3/ ~/.config/i3 inst config/i3blocks/ ~/.config/i3blocks inst config/i3status/ ~/.config/i3status inst config/dunst/ ~/.config/dunst inst local/bin/mxrandr ~/.local/bin/mxrandr fi read -p "Install Conkeror configuration? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst conkerorrc ~/.conkerorrc inst conkeror/ ~/.conkeror fi read -p "Install MPD configuration? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst config/mpd/ ~/.config/mpd fi read -p "Install backup script? (Y/n) " if [[ $REPLY =~ ^[Yy]?$ ]]; then inst local/bin/system-backup ~/.local/bin/system-backup fi