#!/bin/bash
set -e

echo "Starting AlphaCode installation..."

# Check architecture
if [ "$(uname -m)" != "x86_64" ]; then
  echo "Unsupported architecture"
  exit 1
fi

# Check required commands
for cmd in curl dpkg-deb; do
  command -v "$cmd" >/dev/null 2>&1 || {
    echo "Missing dependency: $cmd"
    exit 1
  }
done

# Install libxkbcommon locally
echo "[1/3] Installing libxkbcommon..."

mkdir -p "$HOME/.local/opt/libxkbcommon"
cd /tmp

curl -fL --retry 3 -o libxkbcommon0.deb   https://deb.debian.org/debian/pool/main/libx/libxkbcommon/libxkbcommon0_1.5.0-1_amd64.deb

dpkg-deb -x libxkbcommon0.deb   "$HOME/.local/opt/libxkbcommon"

LIBPATH="$HOME/.local/opt/libxkbcommon/usr/lib/x86_64-linux-gnu"

export LD_LIBRARY_PATH="$LIBPATH:${LD_LIBRARY_PATH:-}"

EXPORT_LINE='export LD_LIBRARY_PATH="$HOME/.local/opt/libxkbcommon/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"'

touch "$HOME/.bashrc"

grep -Fqx "$EXPORT_LINE" "$HOME/.bashrc" ||   echo "$EXPORT_LINE" >> "$HOME/.bashrc"

echo "[2/3] Installing AlphaCode..."

curl -fsSL   https://raw.githubusercontent.com/dragonked2/alphacode/main/scripts/install.sh | bash

echo "[3/3] Installation complete!"

echo "Launch with:"
echo "~/.local/bin/alphacode"
