DOSSIER 16 / 6 ARTICLES
A declarative GNOME desktop on NixOS
From module enablement to user settings and session lifecycles, identify the layer responsible for each desktop setting.
Start with the first articleFollow the question further.
Begin with GNOME/GDM entry points and module groups, inspect services and package lists, then address GSettings defaults, dconf user state, extension installation, and specialisations. Finally, use the kmscon/uwsm session chain to understand graphical desktop startup and autostart. Check module source snapshots and runtime behavior separately.
- 01
Identify which module is responsible for the desktop, login manager, themes, and input methods.
Declarative GNOME desktop management
Organize desktop, login, theme, and input-method configuration responsibilities into module groups.
Read article - 02
When removing packages or disabling services, consult the options and check actual defaults at the locked revision.
GNOME module options reference
Trace module source code to clarify desktop entry points, service switches, application groups, and exclusion mechanisms.
Read article - 03
Understand the three precedence layers before choosing defaults or writes during activation.
Managing GSettings defaults and dconf state
Distinguish schema defaults, vendor overrides, and the user database to choose the right declarative interface.
Read article - 04
Find changes with before-and-after diffs, convert schema/path formats, then declare extension packages and UUIDs.
From settings diffs to declarations and extensions
Export differences, verify schema keys and types, then declare packages and the enabled-extension list.
Read article - 05
Understand parent-module inheritance, mkForce, and independent toplevels; prepare a base recovery entry before switching.
Building GNOME variants with Specialisation
Derive independent system toplevels from the parent module graph, with clear inheritance, override, and recovery paths.
Read article - 06
Check DRM, user targets, and autostart separately. Use logs to confirm the specific failure rather than treating a symptom as a unique root cause.
kmscon and uwsm in Wayland sessions
Investigate the lifecycles of DRM handoff, systemd user sessions, and XDG autostart separately.
Read article