From a92b6b21dec28a60e789057fe7b76635726a5880 Mon Sep 17 00:00:00 2001 From: nold Date: Sat, 2 Apr 2022 16:02:55 +0200 Subject: [PATCH] Fix: Setup.sh --- setup.sh | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/setup.sh b/setup.sh index c361409..2e7a018 100755 --- a/setup.sh +++ b/setup.sh @@ -4,36 +4,38 @@ mkdir -p ~/.config/homedir-backup 2>/dev/null function linkfiles { for file in $@; do - create_dir=false name=$(basename $file) dir=$(dirname $file) if [ "$dir" == "dotfiles" ] ; then targetdir="" elif [ "$( dirname $dir | cut -f1 -d/)" == "configfile" ] ; then targetdir="config/$(echo $dir | cut -f2- -d/)/" - create_dir=true + mkdir -p "${HOME}/.${targetdir}" else targetdir="$dir/" fi - if [ ! -L ~/.${targetdir}${name} ] ; then - if $create_dir ; then - mkdir -p ~/.${targetdir} - fi - - if [ -f hosts/$(hostname -s)/${name} ] ; then - dotfile="$(pwd)/hosts/$(hostname -s)/${name}" - else - dotfile="$(pwd)/$dir/${name}" - fi - - mv -v ~/.${targetdir}${name} ~/.config/homedir-backup - ln -s "$dotfile" ~/.${targetdir}${name} + if [ -f hosts/$(hostname -s)/${name} ] ; then + dotfile="$(pwd)/hosts/$(hostname -s)/${name}" + else + dotfile="$(pwd)/$dir/${name}" fi + + # Backup local dotfiles: + if [ ! -L ~/.${targetdir}${name} ] ; then + mv -v "${HOME}/.${targetdir}${name}" ~/.config/homedir-backup + fi + + # Fix broken links + if [ -L ~/.${targetdir}${name} ] ; then + rm -f "${HOME}/.${targetdir}${name}" + fi + + ln -s "$dotfile" "${HOME}/.${targetdir}${name}" done } -#linkfiles 'dotfiles/*' +linkfiles 'dotfiles/*' #git clone https://github.com/NvChad/NvChad ~/.config/nvim #nvim -c "autocmd User PackerComplete quitall" -c "PackerSync"