From 39c14b0c6420ea1e1604201a1b8891edf24bb280 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Thu, 17 Sep 2026 13:18:25 +0200 Subject: Propose GNOME desktop for NixOS hosts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Planning artifacts only (proposal, spec, design, tasks) — GDM+GNOME, NetworkManager, PipeWire, and CUPS+Avahi printing, applied unconditionally to every NixOS host via modules/nixos/common.nix. Not yet implemented. --- .../add-gnome-desktop/specs/gnome-desktop/spec.md | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md (limited to 'openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md') diff --git a/openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md b/openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md new file mode 100644 index 0000000..ee932c2 --- /dev/null +++ b/openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md @@ -0,0 +1,33 @@ +## Purpose + +Provides a working GNOME desktop environment, including login, networking, audio, and printing, on every NixOS host built from this flake. + +## ADDED Requirements + +### Requirement: GNOME is the default desktop on every NixOS host +Every NixOS host built from this flake's shared system module SHALL boot into a GNOME desktop session via a graphical login manager, without requiring per-host opt-in. + +#### Scenario: Graphical login is available after boot +- **WHEN** a NixOS host built from this flake's shared system module finishes booting +- **THEN** a graphical login manager is presented, and selecting the default session starts a GNOME desktop + +### Requirement: Desktop networking is functional +The desktop environment SHALL provide working network configuration through its own UI, not require a separate manual networking setup step. + +#### Scenario: Network settings are usable from the desktop +- **WHEN** a user opens the desktop's network configuration UI +- **THEN** available networks can be viewed and configured without additional manual setup outside the desktop environment + +### Requirement: Desktop audio is functional +The desktop environment SHALL provide working audio output and input, including compatibility with applications expecting a PulseAudio-compatible audio server. + +#### Scenario: Audio applications can play sound +- **WHEN** an application on the desktop attempts to play or capture audio +- **THEN** the audio server is running and available to handle the request + +### Requirement: Printing is supported and printers are discoverable +The desktop environment SHALL support printing to CUPS-compatible printers, and SHALL be able to discover network printers automatically without requiring the firewall to be manually reconfigured. + +#### Scenario: A network printer is discoverable +- **WHEN** a network printer advertises itself on the local network +- **THEN** it can be discovered and configured for printing without the host's firewall blocking the discovery traffic -- cgit v1.3