aboutsummaryrefslogtreecommitdiff
path: root/bootstrap.sh
diff options
context:
space:
mode:
authorgxlin <[email protected]>2021-07-15 21:28:06 +0800
committergxlin <[email protected]>2021-07-15 21:28:06 +0800
commitd4e1469e4b0c5aaf5c23be555e8b224f9254d781 (patch)
treee68a0e5dd44ee43efc2d70c081f41ae3237a78c1 /bootstrap.sh
parent36f249e1a7250e24f0c415b5bc53ba1b2f5806d4 (diff)
downloaddotfiles-d4e1469e4b0c5aaf5c23be555e8b224f9254d781.tar.gz
dotfiles-d4e1469e4b0c5aaf5c23be555e8b224f9254d781.tar.bz2
dotfiles-d4e1469e4b0c5aaf5c23be555e8b224f9254d781.zip
A usable boostrap config
Diffstat (limited to 'bootstrap.sh')
-rwxr-xr-xbootstrap.sh33
1 files changed, 30 insertions, 3 deletions
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 $@
+