#!/bin/bash
pushd "${BASH_SOURCE%/*}" > /dev/null;

. "../../Software/yay/install.sh";

curl -s https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
    | sudo pacman-key --add -;

sudo pacman-key --finger 56C464BAAC421453;
sudo pacman-key --lsign-key 56C464BAAC421453;

pacmanConf="/etc/pacman.conf";

retry() {
    retryCount="$1";
    command="${@:2}";
    exitCode=0;

    for i in $(seq 1 $retryCount);
    do
        eval "$command" && {
            exitCode=0;
            break;
        };
        exitCode="$?";
    done;
}

if ! grep "^\[linux-surface\]$" "$pacmanConf"
then
    {
        echo "";
        echo "[linux-surface]";
        echo "Server = https://pkg.surfacelinux.com/arch/";
    } | sudo tee -a "$pacmanConf" > /dev/null;
fi;

retry 5 sudo pacman --noconfirm -Syu;

retry 5 sudo pacman --noconfirm -Sy \
    intel-ucode \
    linux-surface \
    linux-surface-headers \
    linux-surface-secureboot-mok \
    iptsd \
    intel-ucode \
    linux-firmware-marvell;

sudo systemctl enable bluetooth --now;
sudo grub-mkconfig -o /boot/grub/grub.cfg;
yes | yay --answerclean=None --answerdiff=None -Syu libwacom-surface;

. "./camera.sh";

popd > /dev/null;