err() {
    ALL_OFF="\e[1;0m"
    BOLD="\e[1;1m"
    RED="${BOLD}\e[1;31m"
    local mesg=$1; shift
    printf "${RED}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}

msg() {
    ALL_OFF="\e[1;0m"
    BOLD="\e[1;1m"
    GREEN="${BOLD}\e[1;32m"
    local mesg=$1; shift
    printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}

post_install() {
    mhwd-gpu --check
    msg "If you run into trouble with CUDA not being available, run nvidia-modprobe first."

    if [ -e "/etc/X11/xorg.conf.d/30-nvidia-ignoreabi.conf" ]; then
        rm -rf /etc/X11/xorg.conf.d/30-nvidia-ignoreabi.conf
        ln -s /usr/share/nvidia-340xx/30-nvidia-ignoreabi.conf /etc/X11/xorg.conf.d/30-nvidia-ignoreabi.conf
    else
        ln -s /usr/share/nvidia-340xx/30-nvidia-ignoreabi.conf /etc/X11/xorg.conf.d/30-nvidia-ignoreabi.conf
    fi
}

post_upgrade() {
    post_install
}

post_remove() {
    rm -rf /etc/X11/xorg.conf.d/99-nvidia.conf

    rm -rf /etc/X11/xorg.conf.d/30-nvidia-ignoreabi.conf

    mhwd-gpu --check
}
