#!/usr/bin/env bash
##makedesc: Install nerd-fonts

set -eo pipefail

#TODO nokia-sans

isMac() { uname -s | grep -q "Darwin"; }
isLinux() { uname -s | grep -q "Linux"; }

url="https://github.com/ryanoasis/nerd-fonts/releases/latest/download"
downloadPath="$HOME/install/nerd-fonts"
if isMac; then
    installPath="$HOME/Library/Fonts/"
elif isLinux; then
    installPath="$HOME/.local/share/fonts/"
else
    echo "This OS is not supported yet!"
    exit
fi

fontsNames=(
    FiraCode
    # FiraMono
    JetBrainsMono
    Meslo
    # Noto
    RobotoMono
    # Ubuntu
    # UbuntuMono
    # UbuntuSans
)

install() {
    echo
    echo "==============================================="
    echo "Installing nerd-fonts"
    echo "==============================================="
    echo

    [[ -d "$downloadPath" ]] || mkdir -p "$downloadPath"
    for fontname in "${fontsNames[@]}"; do
        fontDir="$installPath/Nerd-$fontname"
        wget "$url/$fontname.tar.xz" -O "$downloadPath/$fontname.tar.xz"
        [[ -d "$installPath/$fontname" ]] || mkdir -p "$fontDir"
        tar -xJf "$downloadPath/$fontname.tar.xz" -C "$fontDir"
    done
    isLinux && fc-cache -vf "$installPath"

    echo
    echo "Finish!"
    echo
}

remove() {
    echo
    echo "==============================================="
    echo "Removing nerd-fonts"
    echo "==============================================="
    echo

    find "$installPath" -type d -name "Nerd-*" -exec rm -rf {} +
    isLinux && fc-cache -vf "$installPath"

    echo
    echo "Finish!"
    echo
}

case "$1" in
    r|remove|d|delete|p|purge) remove ;;
    *) install ;;
esac

