#!/bin/bash

# ==============================================================================
# Script de configuration du Boot-to-GUI pour GrimOS
# Ce script configure Debian pour démarrer directement sur GrimOS.
# ==============================================================================

# L'utilisateur cible pour l'autologin
TARGET_USER="geo"

# 1. Vérification des droits administrateur
if [ "$EUID" -ne 0 ]; then
  echo "❌ Erreur : Veuillez exécuter ce script avec sudo (ex: sudo bash setup_autoboot.sh)"
  exit 1
fi

echo "🚀 Configuration du démarrage automatique pour l'utilisateur : $TARGET_USER"

# 2. Configuration de l'Autologin (systemd)
echo "⚙️  Modification de getty@tty1.service pour l'autologin..."
mkdir -p /etc/systemd/system/getty@tty1.service.d/

cat > /etc/systemd/system/getty@tty1.service.d/override.conf << EOF
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin $TARGET_USER --noclear %I \$TERM
EOF

systemctl daemon-reload
echo "✅ Autologin configuré."

# 3. Configuration de l'auto-startx dans le profil utilisateur
PROFILE_PATH="/home/$TARGET_USER/.profile"

echo "⚙️  Configuration de l'auto-startx dans $PROFILE_PATH..."

# On vérifie si la configuration est déjà présente pour ne pas l'ajouter deux fois
if grep -q "exec startx" "$PROFILE_PATH"; then
    echo "ℹ️  La configuration auto-startx est déjà présente dans .profile."
else
    # On ajoute le bloc à la fin du fichier
    cat >> "$PROFILE_PATH" << 'EOF'

# Lancement automatique de GrimOS sur le terminal 1
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
    echo "Démarrage de GrimOS..."
    exec startx
fi
EOF
    echo "✅ Auto-startx configuré."
fi

# Correction des permissions au cas où
chown $TARGET_USER:$TARGET_USER "$PROFILE_PATH"

echo "=============================================================================="
echo "🎉 Configuration terminée avec succès !"
echo "👉 Redémarrez la machine avec 'sudo reboot' pour tester."
echo "=============================================================================="
