Skip to content
Illustration of a native Linux notes app with a sidebar, note cards, and integration badges for Wayland, Portals, and Flatpak.

Build Linux apps that feel inevitable.

A curated, evidence-backed path from the first useful task to an app users can install and update safely — with a default stack and design contract for each target.
TargetsUbuntu 26.04 LTSFedora 45Debian 13Arch Linux

What makes this guide different

A default for every layer.

Linux gives you open standards, several mature toolkits, and users who expect to stay in control. The guide turns that freedom into a small set of decisions you can defend — not a menu of equivalent options.

Standards are the API

Wayland, XDG, D-Bus, AppStream, and portals are the stable surface shared across the guide’s targets. Learn them once, then use them where the app actually runs.

One target, one default stack

Each reference target has one toolkit, one HIG, and one design contract. Alternatives are documented as trade-offs, not presented as equally supported defaults.

Shipping is part of the design

Flatpak is the cross-target default; Snap, deb, and RPM are the native channels where they fit. Reproducible builds, honest metadata, and a working update path are how trust is earned.

Why Linux is different

The target model

Linux has no default. This guide does.

A vendor-controlled platform can define one screen, one toolkit, and one store. Linux cannot. This guide closes the gap with a small, evidence-based target set: a distribution, a desktop, a default stack, a design contract, a HIG, and a packaging path for each.

Reference targets

Ubuntu 26.04 LTS + GNOME for GTK/libadwaita, and Fedora 45 KDE + Qt for Qt/Kirigami. Each gets a design contract, a complete development path, and the release criteria.

Ubuntu + GNOME
Fedora + KDE
See the target matrix

Validation targets

Fedora Workstation + GNOME and Arch Linux test whether the reference apps survive newer GTK, libadwaita, and Qt. They are validation environments, not support promises.

Compatibility target

Debian 13 keeps the conservative, long-support path visible, with older GTK/Qt libraries and Flatpak for apps that need a newer stack.

One app across Linux targets

Release criteria

No score replaces the basics.

The Quality Bar scores seven dimensions. These four gates come first: a failure blocks a release-ready assessment, whatever the aggregate score says.

Read the release criteria

Preserveduser data through failure and updates
Accessiblecore tasks with keyboard and assistive tech
Justifiedpermissions, with a useful denial path
Updatableinstall, update, and uninstall

For agents

The same guide, readable without a browser.

Every page is published as clean Markdown. llms.txt indexes the guide, llms-full.txt contains it in one file, and a read-only local Model Context Protocol (MCP) server exposes the same content for retrieval. Agents can work from the same source as human readers.

Agent access