#!/bin/sh if [ ${0:0:1} == "/" ] then SOURCE=$(dirname $0)/ else SOURCE=$(dirname `pwd`/$0)/ fi DESTINATION=~ if [ "$1" == "install" ] || [ "$1" == "link" ] || [ "$1" == "links" ] then REMOVE=1 BIN="ln -s" elif [ "$1" == "update" ] then cd $SOURCE git pull `git remote -v | head -n 1 | cut -f 1` && git submodule init && git submodule update exit $? elif [ "$1" == "remove" ] || [ "$1" == "uninstall" ] then REMOVE=0 BIN="rm" elif [ "$1" == "copy" ] then REMOVE=1 BIN="cp -r" else echo -e "\e[01mNemunaire's configuration\e[0m" echo -e " Author:\t\tNemunaire " echo -e " Original source:\thttps://git.nemunai.re/?p=conf.git" echo echo "Usage:" echo " $0 install" echo " Create symbolic links from this directory to your home" echo " $0 remove" echo " Remove symbolic links from your home" echo " $0 update" echo " Pull last commits from the server from" `git remote -v | head -n 1 | cut -f 2` echo " $0 copy" echo " Copy configuration files instead of make links" exit 0 fi cd $SOURCE git submodule init git submodule update TMPERR=`mktemp` for f in `ls -a $SOURCE` do if [ "$f" != "." ] && [ "$f" != ".." ] && [ "$f" != ".git" ] && [ "$f" != ".gitmodules" ] && [ "$f" != "install.sh" ] then if [ $REMOVE -eq 0 ]; then echo -ne "Removing $f ...\t" if [ -L $DESTINATION/$f ]; then $BIN $DESTINATION/$f >&2 2> $TMPERR if [ $? == 0 ]; then echo -e "done"; else echo -e "fail"; fi cat $TMPERR else echo -e "Not installed" fi else echo -ne "Installing $f ...\t" if [ ${#f} -lt 9 ]; then echo -en "\t"; fi if [ -L $DESTINATION/$f ] then echo -e "Already installed" elif [ -e $DESTINATION/$f ] then echo -e "Already existing" else $BIN $SOURCE/$f $DESTINATION/$f >&2 2> $TMPERR if [ $? == 0 ]; then echo -e "done"; else echo -e "fail"; fi cat $TMPERR fi fi fi done