diff options
| author | 2026-09-17 13:18:25 +0200 | |
|---|---|---|
| committer | 2026-09-17 13:18:25 +0200 | |
| commit | 39c14b0c6420ea1e1604201a1b8891edf24bb280 (patch) | |
| tree | 4015bd97e5fa29c944fd35050d9ea6f96fb25371 /openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md | |
| parent | e91a12c68901d761812a855559331b9a7462a170 (diff) | |
| download | desktop-flake-39c14b0c6420ea1e1604201a1b8891edf24bb280.tar.gz desktop-flake-39c14b0c6420ea1e1604201a1b8891edf24bb280.tar.bz2 desktop-flake-39c14b0c6420ea1e1604201a1b8891edf24bb280.zip | |
Propose GNOME desktop for NixOS hosts
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.
Diffstat (limited to 'openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md')
| -rw-r--r-- | openspec/changes/add-gnome-desktop/specs/gnome-desktop/spec.md | 33 |
1 files changed, 33 insertions, 0 deletions
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 @@ | |||
| 1 | ## Purpose | ||
| 2 | |||
| 3 | Provides a working GNOME desktop environment, including login, networking, audio, and printing, on every NixOS host built from this flake. | ||
| 4 | |||
| 5 | ## ADDED Requirements | ||
| 6 | |||
| 7 | ### Requirement: GNOME is the default desktop on every NixOS host | ||
| 8 | 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. | ||
| 9 | |||
| 10 | #### Scenario: Graphical login is available after boot | ||
| 11 | - **WHEN** a NixOS host built from this flake's shared system module finishes booting | ||
| 12 | - **THEN** a graphical login manager is presented, and selecting the default session starts a GNOME desktop | ||
| 13 | |||
| 14 | ### Requirement: Desktop networking is functional | ||
| 15 | The desktop environment SHALL provide working network configuration through its own UI, not require a separate manual networking setup step. | ||
| 16 | |||
| 17 | #### Scenario: Network settings are usable from the desktop | ||
| 18 | - **WHEN** a user opens the desktop's network configuration UI | ||
| 19 | - **THEN** available networks can be viewed and configured without additional manual setup outside the desktop environment | ||
| 20 | |||
| 21 | ### Requirement: Desktop audio is functional | ||
| 22 | The desktop environment SHALL provide working audio output and input, including compatibility with applications expecting a PulseAudio-compatible audio server. | ||
| 23 | |||
| 24 | #### Scenario: Audio applications can play sound | ||
| 25 | - **WHEN** an application on the desktop attempts to play or capture audio | ||
| 26 | - **THEN** the audio server is running and available to handle the request | ||
| 27 | |||
| 28 | ### Requirement: Printing is supported and printers are discoverable | ||
| 29 | 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. | ||
| 30 | |||
| 31 | #### Scenario: A network printer is discoverable | ||
| 32 | - **WHEN** a network printer advertises itself on the local network | ||
| 33 | - **THEN** it can be discovered and configured for printing without the host's firewall blocking the discovery traffic | ||
