ink-os/install-misc

54 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
default_programs="./default-programs"
dependencies=$(sed -n '/MISC_START/,/MISC_END/p' $default_programs | sed -e 's/MISC_START//' -e 's/MISC_END//')
# check user is happy to run this script
echo "This script is going to install all of my misc programs that I frequently use."
echo "Misc programs:$dependencies"
read -r -p "Are you sure you want to continue? [y/N] " input
case $input in
[yY][eE][sS] | [yY])
echo "The program will continue..."
;;
[nN][oO] | [nN])
exit 0
;;
*)
echo "Invalid input..."
exit 1
;;
esac
# if yay is not installed the run the install script
if ! command -v yay &> /dev/null; then
./install-yay
fi
failures=()
# run though each dependency and install it if it's not already installed
for dependency in $dependencies
do
if ! yay -Qi $dependency &> /dev/null; then
echo "Installing $dependency and it's dependencies..."
yay -S --noconfirm $dependency &> /dev/null
fi
if ! yay -Qi $dependency &> /dev/null; then
failures+=("$dependency\n")
fi
done
total_failures=$((${#failures[@]}))
if [ $total_failures -gt 0 ]; then
echo "Some of the programs failed to install..."
echo "$failures"
echo "Please manually rectify this and then rerun this setup with: ./setup misc"
exit 1
else
echo "Misc programs sucessfully installed"
fi
exit 0