#!/usr/bin/env bash

#-----------------------------------
# Name:     misc
# Version:  1.0.0
# Author:   Solomon Laing
# Description:
# Installs all of my misc programs to
# the system.
#-----------------------------------

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"

# if yay is not installed the run the install script
if ! command -v yay &>/dev/null; then
    ./yay
fi

failures=()

# run though each dependency and install it if it's not already installed
for dependency in $dependencies; do
    sudo -v
    if ! yay -Qi $dependency &>/dev/null; then
        echo "Installing $dependency and it's dependencies..."
        yay -S --noconfirm $dependency
    fi

    if ! yay -Qi $dependency &>/dev/null; then
        failures+=("$dependency\n")
    fi
done

total_failures=$((${#failures[@]}))

if [ $total_failures -gt 0 ]; then
    echo "$total_failures of the programs failed to install..."
    echo -e "${failures[@]}"
    exit 1
else
    echo "Misc programs sucessfully installed"
fi

exit 0
