Debian Workstation

Debian Trixie
Workstation Setup Guide

Production-grade configuration steps, proprietary firmware drivers, essential scientific toolchains, and KDE Plasma optimization.

01

Initial System Package Refresh

Base System

Immediately after first boot with KDE Plasma or GNOME, synchronize repository indices and update all core system libraries to ensure system parity.

bash
sudo apt update && sudo apt upgrade -y
02

Enable Non-Free & Firmware Repositories

APT Sources

Unlock proprietary firmware, CPU microcode updates, and hardware drivers by appending non-free repositories to your APT configuration.

Open APT sources configuration:

bash
sudo nano /etc/apt/sources.list

Add the verified Trixie repository branches:

/etc/apt/sources.list
deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware

Save with Ctrl + OEnter, then exit with Ctrl + X. Re-index:

bash
sudo apt update
03

Hardware Microcode & Graphics Drivers

Hardware

Install CPU security mitigations and high-performance kernel graphics firmware for modern AMD/Intel architectures.

bash
sudo apt install firmware-amd-graphics firmware-linux firmware-misc-nonfree amd64-microcode -y

Reboot system to engage the new microcode:

bash
sudo reboot
04

Firewall Configuration & Snapshot Recovery

Security

Enforce strict default-deny incoming firewall policies with UFW and install Timeshift for automated BTRFS/RSYNC OS snapshots.

Enable UFW Firewall with safe defaults:

bash
sudo apt install ufw timeshift -y && sudo ufw default deny incoming && sudo ufw default allow outgoing && sudo ufw enable
05

Developer Build Tools & Shell Utilities

Toolchain

Equip your terminal with GCC, Clang, Make, Git, Curl, Htop, Neofetch, and archive compression libraries.

bash
sudo apt install build-essential curl wget htop git unzip zip p7zip-full cmake -y
06

Multimedia Codecs & Hardware Acceleration

Media

Enable VA-API hardware video decoding, FFmpeg libraries, and GStreamer proprietary media plugins.

bash
sudo apt install libavcodec-extra gstreamer1.0-libav gstreamer1.0-plugins-ugly gstreamer1.0-vaapi ffmpeg -y
07

Flatpak & Flathub App Ecosystem

Sandboxed Apps

Configure Flatpak and integrate the Flathub catalog seamlessly into KDE Discover.

bash
sudo apt install flatpak plasma-discover-backend-flatpak -y
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
08

Brave Privacy Browser

Browser

Install the official Brave browser repository with automated security keys.

bash
sudo apt install curl -y
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update && sudo apt install brave-browser -y
09

Scientific Computing & Statistical Toolchains

Recommended

Equip your Debian workstation with core statistical and data science libraries including GNU R, Python virtual environment support, BLAS/LAPACK linear algebra acceleration, and Fortran compilation tools.

bash
sudo apt install -y r-base python3-venv python3-pip libblas-dev liblapack-dev gfortran

One-Command Automated Shell Deployer

Full Script

Run the verified complete automated post-install script. It performs system updates, enables repositories, configures hardware drivers, enables the UFW firewall, and configures Flatpak unattended.

debian_fast_setup.sh
#!/usr/bin/env bash
# ==============================================================================
# Debian Workstation Automated Post-Install Script
# Author: Md Niaz Uzzaman (https://niazuzzaman.com)
# ==============================================================================
set -e

echo "=== [1/6] Refreshing System Packages ==="
sudo apt update && sudo apt upgrade -y

echo "=== [2/6] Enabling Non-Free & Firmware Repositories ==="
sudo tee /etc/apt/sources.list <<'EOF'
deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
EOF

sudo apt update

echo "=== [3/6] Installing Essential Firmware & Drivers ==="
sudo apt install -y firmware-amd-graphics firmware-linux firmware-misc-nonfree amd64-microcode

echo "=== [4/6] Installing Development Toolchain & Multimedia Codecs ==="
sudo apt install -y build-essential curl wget htop git unzip zip cmake ffmpeg \
    libavcodec-extra gstreamer1.0-libav gstreamer1.0-plugins-ugly gstreamer1.0-vaapi \
    ufw timeshift

echo "=== [5/6] Enabling UFW Firewall ==="
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

echo "=== [6/6] Configuring Flatpak & Flathub ==="
sudo apt install -y flatpak plasma-discover-backend-flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

echo "=== Installation Completed Successfully! Please reboot your system. ==="