#!/bin/bash
# ---------------------------------------------------------------------------------
# Steam install recipe
# Target: Void Linux (x86_64 glibc only)
# Enables nonfree + multilib repos, installs Steam, 32-bit runtime libs, GPU drivers
# Usage: GPU=amd|nvidia|intel ./steam.sh   (default: amd)
# ---------------------------------------------------------------------------------
set -e

GPU="${GPU:-amd}"

if [ "$(xbps-uhelper arch)" != "x86_64" ]; then
    echo "Steam requires x86_64 glibc. Aborting." >&2
    exit 1
fi

echo "Enabling nonfree and multilib repositories..."
sudo xbps-install -Sy void-repo-nonfree void-repo-multilib void-repo-multilib-nonfree
sudo xbps-install -Sy   # sync the newly added repos

echo "Installing Steam and 32-bit runtime libraries..."
sudo xbps-install -y \
    steam \
    steam-udev-rules \
    libgcc-32bit \
    libstdc++-32bit \
    libdrm-32bit \
    libglvnd-32bit \
    mesa-dri \
    mesa-dri-32bit \
    vulkan-loader \
    vulkan-loader-32bit \
    alsa-lib-32bit \
    libpulseaudio-32bit

echo "Installing GPU drivers ($GPU)..."
case "$GPU" in
    amd)
        sudo xbps-install -y \
            mesa-vulkan-radeon mesa-vulkan-radeon-32bit \
            mesa-vaapi
        ;;
    nvidia)
        sudo xbps-install -y nvidia nvidia-libs nvidia-libs-32bit
        ;;
    intel)
        sudo xbps-install -y \
            mesa-vulkan-intel mesa-vulkan-intel-32bit \
            intel-video-accel
        ;;
    *)
        echo "Unknown GPU '$GPU' (amd|nvidia|intel)" >&2
        exit 1
        ;;
esac

echo "Reloading udev rules..."
sudo udevadm control --reload
sudo udevadm trigger

echo ""
echo "✓ Steam installed. Log out/in (or reboot) before first launch."
echo ""

