From c0ae64ccfbade42e483508643e0b7cbd7a050f0e Mon Sep 17 00:00:00 2001 From: Christian Colglazier Date: Mon, 23 Dec 2019 17:58:31 -0500 Subject: [PATCH] Install script uses functions --- scripts/install.sh | 84 ++++++++++++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 32 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index 1fb145f..17dc1bb 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -24,37 +24,57 @@ do fi done -echo Setting up dotfiles... - -# Loop through config files -for (( i=0; i<${#files[@]} ; i+=3 )) ; do - # Check if sudo is needed - pre='' - if [[ ${files[i+2]} == *'y'* ]]; then - if [ $noRoot ]; then - echo Skipping ${files[i]} because root is required - continue - fi - pre='sudo' - fi - - destPath=${files[i+1]}$(basename "${files[i]}") - - # Check if file already exists - if [ -e $destPath ]; then - # Check if path is not a sybolic link - if ! [ -L $destPath ]; then - echo Backing up $destPath - $pre mv $destPath ${destPath}.bak - # File already set up - else - echo The file $destPath is already set up - continue - fi - # Create missing directories +# Check emacs setup +function emacs { + if ! [ -d ~/.emacs.d ]; then + echo Installing emacs config + cd ~ + git clone git@github.com:AquaMorph/.emacs.d.git else - $pre mkdir -p "$(dirname "$destPath")" + echo Checking for emacs config updates + cd ~/.emacs.d + git pull fi - echo Creating symbolic link from ${files[i]} to ${files[i+1]} - $pre ln -sf ${files[i]} ${files[i+1]} -done + +} + +# Check managed dotfiles +function dotfiles { + echo Setting up dotfiles... + + # Loop through config files + for (( i=0; i<${#files[@]} ; i+=3 )) ; do + # Check if sudo is needed + pre='' + if [[ ${files[i+2]} == *'y'* ]]; then + if [ $noRoot ]; then + echo Skipping ${files[i]} because root is required + continue + fi + pre='sudo' + fi + + destPath=${files[i+1]}$(basename "${files[i]}") + + # Check if file already exists + if [ -e $destPath ]; then + # Check if path is not a sybolic link + if ! [ -L $destPath ]; then + echo Backing up $destPath + $pre mv $destPath ${destPath}.bak + # File already set up + else + echo The file $destPath is already set up + continue + fi + # Create missing directories + else + $pre mkdir -p "$(dirname "$destPath")" + fi + echo Creating symbolic link from ${files[i]} to ${files[i+1]} + $pre ln -sf ${files[i]} ${files[i+1]} + done +} + +dotfiles +emacs