Note
This guide is a combination of Craig Coonrad's Debian Gnome Minimal Install Guide and OSTechNix's Debian Minimal GNOME Install, so credit goes to them for laying the groundwork for this guide!
A minimal installation of Linux can reduce disk space and RAM usage, while increasing security and privacy by reducing it's attack surface. You can also increase performance by reducing time spent upgrading and troubleshooting.
The standard Devuan/Debian installation process for a GNOME desktop includes additional packages that may not be necessary or wanted by many users. This guide will allow you to install a minimal GNOME desktop, adding additional packages as needed.
If you don't know what the difference is between Debian and Devuan at this point: Debian is one of the OG Linux distributions, which is nowadays built around the increasingly connected systemd init system. Devuan is a fork of Debian without systemd, which allows users to reclaim control over their system by avoiding unnecessary entanglements and ensuring Init Freedom.
For Devuan Stable (Excalibur), get the ISO from https://files.devuan.org/devuan_excalibur/installer-iso/
For Debian Stable (Trixie), get the ISO from https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/
Create a bootable USB drive with the ISO file using a tool like Etcher or Ventoy (Recommended).
Boot your chosen Netinst ISO and progress through the installation procedure as normal.
Important
When you get to the "Software Selection" (tasksel) step, deselect everything except "Standard System Utilities".
If you're installing Devuan so you have a choice of init system (instead of systemd), choose SysVinit or OpenRC. I tried runit while making this guide and couldn't successfully get to GNOME on first boot.
Follow the remaining prompts to complete the installation. Once done, reboot your system.
Including the Backports repository in your Stable installation will allow you to run newer software while still maintaining the Stable installation. For Example, the current Stable Devuan/Debian has a LTS kernel of 6.12, with Backports you can access the latest LTS kernel of 6.18.
sudo apt edit-sources:
deb http://deb.devuan.org/merged excalibur main contrib non-free-firmware
deb-src http://deb.devuan.org/merged excalibur main contrib non-free-firmware
deb http://deb.devuan.org/merged excalibur-security main contrib non-free-firmware
deb-src http://deb.devuan.org/merged excalibur-security main contrib non-free-firmware
# excalibur-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.devuan.org/merged excalibur-updates main contrib non-free-firmware
deb-src http://deb.devuan.org/merged excalibur-updates main contrib non-free-firmware
deb http://deb.devuan.org/merged excalibur-backports main contrib non-free non-free-firmware
The above is for Devuan Stable (Excalibur). For Debian Stable (Trixie), swap http://deb.devuan.org/merged for http://deb.debian.org/debian and excalibur for trixie. Remove non-free or non-free-firmware if you want to be completely open source and don't need special drivers or additional firmware.
In the same vein, if you want to upgrade from Stable to Testing (NextStable) or Unstable (Development), you can also do that here. The latest codenames are as follows:
| Devuan | Debian | Year Released | |
|---|---|---|---|
| oldoldstable | Chimaera | Bullseye | 2021 |
| oldstable | Daedalus | Bookworm | 2023 |
| stable | Excalibur | Trixie | 2025 |
| testing | Freia | Forky | TBD |
| unstable | Ceres | Sid | N/A |
Update your repositories, and if you changed to Testing or Unstable, upgrade your system:
sudo apt update && apt upgrade
Reboot to load updated kernel and services.
sudo shutdown -r now
Install gnome-shell & ptyxis and reboot for a basic gnome desktop environment without ANY added programs.
Warning
If you don't install a terminal program like ptyxis at this point, then when you reboot into the GNOME session you will have no way of configuring, installing a program or doing basically anything in the GUI, unless you choose to go to a command session (Ctrl+Alt+F2). Remember: This is a bare minimum GNOME install. The GNOME session/login manager and the Nautilus file manager are the only programs dragged in other than the shell itself.
sudo apt install gnome-shell ptyxis
The Debian installer uses the ifupdown package for network management, but GNOME uses NetworkManager. To avoid conflicts and ensure your networking connection works, remove ifupdown:
sudo apt purge ifupdown
Edit the NetworkManager configuration file to ensure it manages your network devices:
sudo nano /etc/NetworkManager/NetworkManager.conf
Change the line managed=false to managed=true.
Press Ctrl + X to save the file and exit the editor.
Then reboot into GNOME:
sudo shutdown -r now
As this point, you can see the minimal GNOME system you have and add required packages as needed.
Here are the GNOME defaults, with some other sane defaults at the bottom.
| Program type | Default GNOME Program name | Package name |
|---|---|---|
| Image Viewer | Image Viewer | loupe |
| Document Viewer | Document Viewer | papers |
| Calculator | Calculator | gnome-calculator |
| Character Map | Characters | gnome-characters |
| Clocks | Clocks | gnome-clocks |
| Disk Management | Disks | gnome-disk-utility |
| Disk Usage Analyser | Baobab | baobab |
| System Monitor | System Monitor | gnome-system-monitor |
| Text Editor | Text Editor | gnome-text-editor |
| GNOME Tweaks | Tweaks | gnome-tweaks |
| Video Player | Showtime | showtime |
| Web Browser | Firefox ESR | firefox-esr |
| Image Editor | GIMP | gimp |
| GNOME Extension Manager | Extension Manager | gnome-shell-extension-manager |
| Music Player | Audacious | audacious |
| Password Manager | KeePassXC | keepassxc |
You've started at the minimum, it's entirely your choice at this point how far you go. 😀

