#!/bin/bash

verificar_error() {
    if [ $? -ne 0 ]; then
        echo -e "\n❌ ERROR DETECTADO. Deteniendo para no romper nada."
        exit 1
    fi
}

echo "🚀 FASE 1: PREPARACIÓN DEL SISTEMA BASE"
sleep 2

echo "🧹 1/4: Limpiando paquetes rotos previos..."
sudo dpkg --configure -a
sudo apt --fix-broken install -y

echo "📦 2/4: Eliminando Firefox Snap y configurando PPA..."
sudo snap remove firefox --purge 2>/dev/null
sudo apt purge firefox -y 2>/dev/null
sudo add-apt-repository ppa:mozillateam/ppa -y
echo 'Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/mozilla-firefox
verificar_error

echo "🔄 3/4: Actualizando repositorios e instalando núcleo..."
sudo apt update
# Instalamos TODO lo base en un solo comando no interactivo para evitar bloqueos
sudo DEBIAN_FRONTEND=noninteractive apt install -y lightdm lightdm-gtk-greeter xubuntu-desktop firefox zram-tools cpufrequtils flatpak gnome-software-plugin-flatpak gamemode unzip wget
verificar_error

echo "🖥️ 4/4: Forzando LightDM como gestor predeterminado..."
echo "/usr/sbin/lightdm" | sudo tee /etc/X11/default-display-manager
sudo DEBIAN_FRONTEND=noninteractive dpkg-reconfigure lightdm 2>/dev/null
verificar_error

echo "-------------------------------------------------------"
echo "✅ FASE 1 COMPLETADA."
echo "⚠️ ACCIÓN REQUERIDA: Escribí 'sudo reboot' para reiniciar."
echo "Cuando la PC encienda, asegurate de iniciar sesión en Xubuntu."
echo "-------------------------------------------------------"
#!/bin/bash

verificar_error() {
    if [ $? -ne 0 ]; then
        echo -e "\n❌ ERROR DETECTADO. Revisá la consola."
        exit 1
    fi
}

echo "🚀 FASE 2: OPTIMIZACIÓN Y DESARROLLO"
sleep 2

echo "💾 1/3: Optimizando Memoria RAM (ZRAM) y Disco Duro (Swap)..."
echo -e "ALGO=lz4\nPERCENT=60\nPRIORITY=100" | sudo tee /etc/default/zramswap
sudo systemctl enable zramswap
sudo systemctl restart zramswap

sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

sudo swapoff /swapfile 2>/dev/null
sudo rm /swapfile 2>/dev/null
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
verificar_error

echo "🎮 2/3: Instalando GDevelop (Flatpak)..."
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak update -y
sudo flatpak install flathub io.gdevelop.ide -y || sudo flatpak install flathub it.gdevelop.ide -y
sudo flatpak override --system --env=LD_PRELOAD=/usr/\$LIB/libgamemodeauto.so.0 io.gdevelop.ide 2>/dev/null
verificar_error

echo "🕹️ 3/3: Instalando Godot 4..."
sudo mkdir -p /opt/godot
sudo wget https://github.com/godotengine/godot/releases/download/4.2.2-stable/Godot_v4.2.2-stable_linux.x86_64.zip -O /opt/godot/godot.zip
sudo unzip -o /opt/godot/godot.zip -d /opt/godot/
sudo mv /opt/godot/Godot_v4.2.2-stable_linux.x86_64 /opt/godot/godot 2>/dev/null
sudo chmod +x /opt/godot/godot
sudo rm /opt/godot/godot.zip
sudo wget https://raw.githubusercontent.com/godotengine/godot/master/icon.svg -O /opt/godot/godot-logo.svg

echo "[Desktop Entry]
Name=Godot Engine 4
Exec=gamemoderun /opt/godot/godot
Icon=/opt/godot/godot-logo.svg
Terminal=false
Type=Application
Categories=Development;" | sudo tee /usr/share/applications/godot.desktop
verificar_error

echo "-------------------------------------------------------"
echo "✅ FASE 2 COMPLETADA."
echo "Tus programas de desarrollo están listos y la PC optimizada."
echo "Acomodá el fondo de pantalla y los íconos de tu usuario ahora."
echo "-------------------------------------------------------"
#!/bin/bash

verificar_error() {
    if [ $? -ne 0 ]; then
        echo -e "\n❌ ERROR DETECTADO. Revisá la consola."
        exit 1
    fi
}

echo "🚀 FASE 3: CONFIGURACIÓN DEL INVITADO (GUEST)"
sleep 2

echo "🔓 1/4: Desbloqueando AppArmor para el Guest..."
sudo mkdir -p /etc/apparmor.d/disable
sudo ln -sf /etc/apparmor.d/lightdm-guest-session /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/lightdm-guest-session 2>/dev/null

echo "👥 2/4: Configurando LightDM (Método xhost seguro)..."
sudo mkdir -p /etc/lightdm/lightdm.conf.d/
sudo bash -c 'cat > /etc/lightdm/lightdm.conf.d/50-guest-session.conf <<EOF
[Seat:*]
allow-guest=true
user-session=xubuntu
guest-session-setup=/usr/bin/xhost +SI:localuser:guest
EOF'
verificar_error

echo "🦊 3/4: Implementando vacuna antibloqueo para Firefox..."
sudo bash -c 'cat > /usr/local/bin/clean-firefox <<EOF
#!/bin/bash
pkill -u \$(whoami) -f firefox 2>/dev/null
rm -f ~/.mozilla/firefox/*.default-release/.parentlock 2>/dev/null
rm -f ~/.mozilla/firefox/*.default/.parentlock 2>/dev/null
EOF'
sudo chmod +x /usr/local/bin/clean-firefox

echo "📁 4/4: Clonando tu escritorio al esqueleto (Skel)..."
sudo mkdir -p /etc/skel/.config/xfce4
sudo mkdir -p /etc/skel/.config/autostart
# Copia tu configuración actual para que el Guest la herede
[ -d "$HOME/.config/xfce4" ] && sudo cp -r ~/.config/xfce4/* /etc/skel/.config/xfce4/

# Auto-ejecución de la vacuna de Firefox al iniciar el Guest
echo "[Desktop Entry]
Type=Application
Exec=/usr/local/bin/clean-firefox
Name=LimpiaFirefox
X-GNOME-Autostart-enabled=true" | sudo tee /etc/skel/.config/autostart/clean.desktop

# Permisos finales
sudo chown -R root:root /etc/skel/.config
sudo chmod -R 755 /etc/skel/.config
sudo chmod -R 755 /opt/godot
verificar_error

echo "-------------------------------------------------------"
echo "🎉 TODO EL PROCESO ESTÁ TERMINADO."
echo "Ya podés cerrar tu sesión y probar la cuenta de Invitado."
echo "-------------------------------------------------------"
# 1. Desinstalar los paquetes Snap (Godot 4 y Xonotic)
sudo snap remove godot xonotic

# 2. Desinstalar Assault Cube y sus datos (versión APT)
sudo apt remove --purge assaultcube assaultcube-data -y

# 3. Limpieza profunda de dependencias huerfanas
sudo apt autoremove -y