Install script uses functions

This commit is contained in:
Christian Colglazier 2019-12-23 17:58:31 -05:00
parent 8550832516
commit c0ae64ccfb

View File

@ -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