#!/usr/bin/env bash
##makedesc: Install ollama

# https://github.com/ollama/ollama

set -eo pipefail

install() {
    echo
    echo "==============================================="
    echo "Installing ollama"
    echo "==============================================="
    echo

    curl -fsSL https://ollama.com/install.sh | sh

    echo
    echo "Finish!"
    echo
}

remove() {
    echo
    echo "==============================================="
    echo "Removing ollama"
    echo "==============================================="
    echo

    if [ "$(uname -s)" = "Darwin" ]; then
        sudo rm -rf /usr/local/bin/ollama /usr/local/lib/ollama ~/.ollama
    else
        # https://docs.ollama.com/linux#uninstall
        sudo systemctl stop ollama 2>/dev/null || true
        sudo systemctl disable ollama 2>/dev/null || true
        sudo rm -f /etc/systemd/system/ollama.service 2>/dev/null || true
        if command -v ollama >/dev/null 2>&1; then
            sudo rm -rf "$(dirname "$(dirname "$(which ollama)")")/lib/ollama" 2>/dev/null || true
            sudo rm -f "$(which ollama)"
        fi
        sudo userdel ollama 2>/dev/null || true
        sudo groupdel ollama 2>/dev/null || true
        sudo rm -rf \
            /usr/bin/ollama \
            /usr/share/ollama \
            /usr/local/lib/ollama \
            /usr/local/bin/ollama
    fi

    echo
    echo "Finish!"
    echo
}

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

