Debian Installation (GNOME)

Debian 11/12/13 Installation (GNOME) #

Info As of 2025-08, stock version of Debian 12/13 gives a stable system on my laptop without the need for special drivers and too much customization. For now, I am dual booting Debian 12 and 13, after a while I will likely fully switch to the version 13.

Changes in Debian 13 #

Follow the same installation procedure as for Debian 12. Most of the installation steps are the same except for minor improvements, such as in Debian 13, installation of “non-free firmware” is pre-selected by default.

Due to GNOME version being newer, not all previously used GNOME extensions are needed.

Installing the Base System #

Non-graphical vs GUI Installer #

In the live-CD boot menu choose “Expert Install” (not the graphical one), this provides the most flexible install process.

Note
One particular difference between non-graphical and GUI instllers is that the non-graphical one allows setting a simple user password (which I change post-setup anyway) and focus more on the system configuration. I sometimes forget that there are these small differences that makes selecting non-graphical installer more convenient.

Filesystem #

Do not use the default partitioning. This is important for several reasons:

  • On my laptop, I have the stock Windows 11 (runs ASUS diagnostic software), and I preper the new installation would not affect it or other existing Linux distros.
  • The default partitioning creates a swap partition, which I like to set up manually.
  • BTRFS subvolumes and mount options in /ettc/fstab are not very optimal (this was even more critical in Fedora, see Fedora 33/35/37 installation notes).

General points:

  • Unless there are specific reasons, use btrfs for the primary partition.
  • Mount options:
    • noatime - reduce unnecesary writes;
    • space_cache=v2 - I think this is default now, but specifying it does not hurt;
    • ssd - this is detected and applied automatically;
    • discard=async - improves write/delete performance;
    • subvol=@subvol_name - to make sure the right subvolume is used, it could be less preferable on the system partition, e.g., if at some point we plan to load into a snapshot, in which case it is better leave this option out and rely on the “default” subvolume which can be set without the need to create temporary subvolumes and edit fstab to load into a snapshot.
  • Create following subvolumes:
    • @rootfs or @;
    • @home;
    • @snapshots, this can be left unmounted unless snapper with hooks is used;
    • @var_cache mount at /var/cache (disable CoW);
    • @var_log mount at /var/log (disable CoW);
    • (optional) @var_lib_libvirt mount at @var/lib/libvirt (disable CoW);
    • (optional) for docker images and containers if they are going to be used heavily.

Post Install #

Set Timezone #

Check the current timezone:

timedatectl

If during the installation timezone was set to US East or similar (this could have been done when selecting US keyboard layout and locale), set the correct timezone with:

timedatectl set-timezone Asia/Tokyo

Packages (system-wide) #

Useful packages to be installed system wide:

  • ca-certificates git git-lfs gpg htop pv rsync smartmontools tilix tmux vim wget
  • gparted (although, this is a GUI app, I think it should be installed from debian repos)
  • rclone from rclone.org/install

Flatpak:

  • flatpak gnome-software-plugin-flatpak
  • then configure the Flathub repo

Dev:

  • build-essential
  • autoconf automake cmake

Userspace docker prerequisites:

  • dbus-user-session slirp4netns uidmap
  • docker-ce-rootless-extras

On Asus laptop, we may want to install asusctl. But on Debian, we have to compile it locally. For that, in addition to Dev, we also need:

  • cmake libclang-dev libfontconfig-dev libudev-dev libxkbcommon-dev
  • Rust compiler from rustup.rs

Flatpak apps #

System Management:

  • ca.desrt.dconf-editor Dconf Editor
  • com.github.tchx84.Flatseal Flatseal
  • com.mattjakeman.ExtensionManager Extension Manager

Dev / Productivity:

  • com.github.jeromerobert.pdfarranger PDF Arranger (could be a good alternative to PDF Chain)
  • com.google.Chrome Google Chrome
  • com.mattermost.Desktop Mattermost
  • com.meetfranz.Franz Franz
  • com.opera.Opera Opera
  • com.slack.Slack Slack (but using web-based app is more secure)
  • com.teamspeak.TeamSpeak TeamSpeak5
  • com.usebruno.Bruno Bruno
  • com.vscodium.codium VSCodium (only as a backup)
  • md.obsidian.Obsidian Obsidian
  • me.mitya57.ReText ReText (after install: disable home dir access, network access)
  • net.sourceforge.pdfchain PDF Chain (recently, not so good reviews, so maybe worth looking around for a good open-source alternative)
  • org.chromium.Chromium Chromium Web Browser
  • org.dbgate.DbGate DbGate (again, web-based admin panels work fine many cases)
  • org.gnome.Connections Connections
  • org.gnome.Evince Document Viewer
  • org.kde.kile Kile (TeX/LaTeX editor by KDE)
  • org.kde.okular Okular
  • org.mozilla.firefox Firefox
  • org.mozilla.Thunderbird Thunderbird (only if there are issues integrating 3rd-party providers into Gmail)
  • org.tug.texworks TexWorks
  • org.virt_manager.virt-manager Virtual Machine Manager (only if there’s a need to use libvirt)
  • us.zoom.Zoom Zoom

Flathub apps by Developer:

Audio / Video:

  • org.audacityteam.Audacity Audacity
  • org.kde.kdenlive Kdenlive
  • org.videolan.VLC VLC
  • com.obsproject.Studio OBS Studio
  • `` ****

GNOME Extensions #

Use the “Extension Manager” app to manage extensions. Available both in the official Debian repos and Flathub (the Flatpak version seems to work well). App logo: blue puzzle piece.

(note that the older, app with a green logo is not user-friendly and it can be used only to manage already installed extensions, does not have a feature to search and install new extensions)

Requirements for these changes depending of the system. Later versions of GNOME often include additional functionality that deprecates the need for some of the extensions.

Some of the useful extensions:

  • AltTab Mod (qol, when there are multiple VSCode and Firefox windows)
  • Blur my Shell (visual, like MacOS)
  • Caffeine (qol)
  • ddterm (qol, quake)
  • gTile (qol)
  • Top Bar Organizer (qol)
  • User Avatar In Quick Settings (visual)
  • vitals (visual+qol)