Download Debian small CD
Install the base system with Standard System Utilities but without a graphical interface and restart. You’ll see a black screen with white text (Terminal). You can skip the Debian XFCE setup one-liner below if you prefer an automated install.
apt install firmware-linux firmware-linux-nonfree lightdm
apt install package-update-indicator blueman gvfs-backends gvfs-fuse arc-theme papirus-icon-theme breeze-cursor-theme greybird-gtk-theme xfce4-whiskermenu-plugin synaptic git baobab p7zip-full galculator evince transmission pinta vlc audacious shotcut soundconverter audacity firefox-esr
Warning! Read Before Running: This script is intended for a minimal Debian system with LUKS encryption and a separate /boot partition. It installs XFCE, modifies GRUB, network settings, security tools (UFW, Fail2Ban, AppArmor), and system packages. Running it on non-Debian systems, preexisting desktops, or unencrypted setups may break your system or make it unbootable. Root privileges are required, network settings may be overwritten, and the system will reboot automatically at the end. Test in a VM first and ensure all important data is backed up.
Downlaod Debian_XFCE_Setup.sh and save it to your USB drive. (For VM Installation: Settings → Network → Adapter 1 → Attached to: Bridged Adapter)
On the new machine, if the USB is not automounted:
lsblk
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
Set executable permissions:
chmod +x /mnt/usb/Debian_XFCE_Setup.sh
Run the script
/mnt/usb/Debian_XFCE_Setup.sh