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

# https://github.com/rvaiya/keyd

set -eo pipefail

mkdir -p "$HOME/install"

install() {
    echo
    echo "==============================================="
    echo "Installing keyd (latest)"
    echo "==============================================="
    echo
    hash git || { echo "ERROR: git not installed" ; exit 1; }
    cd "$HOME/install"
    git clone --depth=1 --single-branch https://github.com/rvaiya/keyd.git "$HOME/install/keyd"
    cd "$HOME/install/keyd"
    make && sudo make install
    sudo systemctl enable --now keyd
    echo
    echo "Finish!"
}

upgrade() {
    echo
    echo "==============================================="
    echo "Upgrading keyd"
    echo "==============================================="
    echo
    hash git || { echo "ERROR: git not installed" ; exit 1; }
    [ -d "$HOME/install/keyd" ] || { echo "ERROR: repo not found: $HOME/install/keyd" ; exit 1; }
    cd "$HOME/install/keyd"
    make && sudo make install
    sudo systemctl enable --now keyd
    sudo usermod -aG keyd "$(whoami)"
    echo
    echo "Finish!"
}

restart() {
    sudo systemctl restart keyd
}

reload() {
    sudo systemctl reload keyd
}

remove() {
    echo
    echo "==============================================="
    echo "Removing keyd"
    echo "==============================================="
    echo
    sudo dpkg -r keyd
    echo
    echo "Finish!"
    echo
}

case "$1" in
    restart) restart ;;
    reload) reload ;;
    u|upgrade|update) upgrade ;;
    r|remove|d|delete|p|purge) remove ;;
    *) install ;;
esac

