From d4e1469e4b0c5aaf5c23be555e8b224f9254d781 Mon Sep 17 00:00:00 2001 From: gxlin Date: Thu, 15 Jul 2021 21:28:06 +0800 Subject: A usable boostrap config --- bootstrap.sh | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'bootstrap.sh') diff --git a/bootstrap.sh b/bootstrap.sh index aea2465..f0876f9 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -2,6 +2,33 @@ dotfiles_dir=$(cd -- "$(dirname ${BASH_SOURCE})" > /dev/null 2>&1; pwd -P) -ln -s $dotfiles_dir/.emacs.d $HOME/.emacs.d -ln -s $dotfiles_dir/.macos $HOME/.macos -ln -s $dotfiles_dir/.urlview $HOME/.urlview +remove_and_link () { + for var in $@ + do + if [ -L $HOME/$var ] && [ -e $HOME/$var ] && \ + [ "$(readlink -- $HOME/$var)" = "$dotfiles_dir/$var" ]; then + return + fi + + rm -rf $HOME/$var + ln -s $dotfiles_dir/$var $HOME/$var + done +} + +link_all () { + remove_and_link .ctags.d .mutt bin .alias .macos \ + .mbsyncrc .msmtprc .tmux.conf .urlview .zshrc \ + .vimrc .vim +} + +main () { + if [ $# -eq 0 ] || [ $1 -eq 'all' ]; then + link_all + return + fi + + remove_and_link $@ +} + +main $@ + -- cgit v1.2.3