#!/bin/bash
# Run with password via stdin
exec > /home/user/adhan/debloat.log 2>&1
echo "=== Debloat started $(date) ==="

PASS='0000'
sp() { echo "$PASS" | sudo -S "$@"; }

# Kill stuck processes
sp killall -9 dpkg apt-get 2>/dev/null || true
sleep 2
sp rm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/cache/apt/archives/lock
sp rm -f /var/lib/dpkg/updates/* 2>/dev/null || true

# Fix dpkg state
echo '--- Fixing dpkg ---'
sp dpkg --configure -a --force-depends 2>&1 || true

# Remove old kernel
echo '--- Removing old kernel ---'
echo "$PASS" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get purge -y linux-image-6.1.0-33-amd64 2>&1 || true

# Remove Firefox
echo '--- Removing Firefox ---'
echo "$PASS" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get purge -y firefox 2>&1 || true

# Remove Java
echo '--- Removing Java ---'
echo "$PASS" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get purge -y openjdk-17-jre-headless 2>&1 || true

# Remove papirus icons
echo '--- Removing papirus ---'
echo "$PASS" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get purge -y papirus-icon-theme 2>&1 || true

# Remove git
echo '--- Removing git ---'
echo "$PASS" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get purge -y git git-man 2>&1 || true

# Remove compilers
echo '--- Removing gcc ---'
echo "$PASS" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get purge -y gcc-12 g++-12 cpp-12 2>&1 || true

# Remove kernel headers
echo '--- Removing headers ---'
echo "$PASS" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get purge -y linux-headers-6.1.0-49-common 2>&1 || true

# Autoremove
echo '--- Autoremove ---'
echo "$PASS" | sudo -S apt-get autoremove -y 2>&1 || true
echo '--- Autoclean ---'
echo "$PASS" | sudo -S apt-get autoclean -y 2>&1 || true

echo "=== Debloat finished $(date) ==="
df -h /
echo ''
echo 'Remaining big packages:'
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -rn | head -15
