dotfiles/install.sh
2013-12-28 03:21:07 +01:00

163 lines
3.2 KiB
Bash
Executable file

#!/bin/bash
set -x
function deploy_directory()
{ # {{{
# @arg1: dst directory
# @arg2: src directory
if [ ! -d $1 ]; then mkdir $1; fi;
cd $1;
for i in `ls $2`; do ln -s $2/$i ./$i; done
cd ..
} # }}}
function deploy_for_desktop()
{ # {{{
cd ~
ln -s $WAI/xinitrc ./.xinitrc
ln -s $WAI/inputrc ./.inputrc
ln -s $WAI/Xmodmap ./.Xmodmap
ln -s $WAI/octaverc ./.octaverc
ln -s $WAI/gitconfig ./.gitconfig
cd ~
deploy_directory ~/texmf $WAI/texmf
cd ~
if [ ! -d "~/.my_utils" ]; then mkdir ~/.my_utils; fi;
cd ~/.my_utils
ln -s $WAI/Utils/track.sh ./track.sh
ln -s $WAI/Utils/blink.sh ./blink.sh
ln -s $WAI/Utils/octopus.sh ./octopus.sh
ln -s $WAI/chooseWP.sh ~/Pictures/wallpapers/chooseWP.sh
} # }}}
function deploy_vim()
{ # {{{
cd ~
ln -s $WAI/vim/vimrc ./.vimrc
if [ ! -d "~/.vim" ]; then mkdir ~/.vim/; fi;
cd ~/.vim
if [ ! -d "./colors" ]; then mkdir colors; fi;
cd colors
ln -s $WAI/vim/colors/wombat256modv1.vim ./wombat256modv1.vim
cd ..
if [ ! -d "./skeletons" ]; then mkdir skeletons; fi;
cd skeletons
for i in `ls $WAI/vim/skeletons`; do ln -s $WAI/vim/skeletons/$i ./$i; done
cd ..
if [ ! -d "./spell" ]; then mkdir spell; fi;
cd spell
for i in `ls $WAI/vim/spell`; do ln -s $WAI/vim/spell/$i ./$i; done
cd ..
if [ ! -d "./plugin" ]; then mkdir plugin; fi;
cd plugin
for i in `ls $WAI/vim/plugin`; do ln -s $WAI/vim/plugin/$i ./$i; done
cd ..
if [ ! -d "./scripts" ]; then mkdir scripts; fi;
cd scripts
for i in `ls $WAI/vim/scripts`; do ln -s $WAI/vim/scripts/$i ./$i; done
cd ..
if [ ! -d "./ftplugin" ]; then mkdir ftplugin; fi;
cd ftplugin
for i in `ls $WAI/vim/ftplugin`; do ln -s $WAI/vim/ftplugin/$i ./$i; done
} # }}}
function deploy_ssh()
{ # {{{
cd ~
if [ -d ~/.ssh && ! -h ~/.ssh ]; then
mv ~/.ssh ~/.sshBAK
fi;
if [ ! -d "$SECURE_DIR/.ssh/" ]; then
mkdir "$SECURE_DIR/.ssh"
if [ -d ~/.sshBAK ]; then #could've reversed 2 ifs, i know
mv ~/.sshBAK/* $SECURE_DIR/.ssh/
rm -f ~/.sshBAK
fi;
fi;
ln -s $SECURE_DIR/.ssh/ ~/.ssh
cd ~/.ssh
ln -s $WAI/ssh/config ./
} # }}}
function deploy_mutt()
{ # {{{
cd ~
ln -s $WAI/mailcap ./.mailcap
if [ -d ~/.mutt && ! -h ~/.mutt ]; then
mv ~/.mutt ~/.muttBAK
fi;
if [ ! -d $SECURE_DIR/.mutt ]; then
mkdir $SECURE_DIR/.mutt;
if [ -d ~/.muttBAK ]; then
mv ~/.muttBAK/* $SECURE_DIR/.mutt/
fi;
fi;
if [ ! -h ~/.mutt ]; then
ln -s $SECURE_DIR/.mutt/ ~/.mutt/
fi
cd ~/.mutt
ln -s $WAI/mutt/muttrc ./
ln -s $WAI/mutt/killsig ./
ln -s $WAI/mutt/passwords.gpg ./
ln -s $WAI/mutt/crypto ./
ln -s $WAI/mutt/colors.test1 ./
ln -s $WAI/mutt/colors.test2 ./
ln -s $WAI/mutt/unlock-pass.sh ./
ln -s $WAI/mutt/account.frank ./
ln -s $WAI/mutt/account.aei ./
mkdir ~/.mutt/certificates
mkdir ~/.mutt/cache
mkdir ~/.mutt/cache/bodies
mkdir ~/.mutt/cache/headers
} # }}}
WAI=`pwd`
if [ $(hostname) = "intersect" ]; then
SECURE_DIR=~/Private
else
SECURE_DIR=~
echo "FIXME"
exit
fi;
#simple files
cd ~
ln -s ~/Programmation/dotfiles/Utils/ .my_utils
ln -s $WAI/bashrc ./.bashrc
ln -s $WAI/bash_ps1 ./.bash_ps1
deploy_for_desktop
deploy_vim
deploy_ssh
deploy_mutt
cd ~
if [ -d "Programmation" ]; then mkdir Programmation; fi;
cd ~/Programmation
ln -s $WAI/git_auto_pull.sh ./git_auto_pull.sh