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. --- openspec/changes/add-gnome-desktop/tasks.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 openspec/changes/add-gnome-desktop/tasks.md (limited to 'openspec/changes/add-gnome-desktop/tasks.md') diff --git a/openspec/changes/add-gnome-desktop/tasks.md b/openspec/changes/add-gnome-desktop/tasks.md new file mode 100644 index 0000000..e30615d --- /dev/null +++ b/openspec/changes/add-gnome-desktop/tasks.md @@ -0,0 +1,23 @@ +## 1. GNOME desktop and login manager + +- [ ] 1.1 In `modules/nixos/common.nix`, add `services.xserver.enable = true;` — verify by reading the file +- [ ] 1.2 Add `services.displayManager.gdm.enable = true;` and `services.desktopManager.gnome.enable = true;` — verify by reading the added block, and flag the option-path uncertainty from design.md (post-migration `services.displayManager.*`/`services.desktopManager.*` vs. older `services.xserver.displayManager.*`/`services.xserver.desktopManager.*`) as a known risk to re-check once `nix flake check` can run + +## 2. Networking and audio companions + +- [ ] 2.1 Add `networking.networkmanager.enable = true;` — verify by reading the added line +- [ ] 2.2 Add `services.pipewire = { enable = true; pulse.enable = true; };` and `security.rtkit.enable = true;` — verify by reading the added block + +## 3. Printing + +- [ ] 3.1 Add `services.printing.enable = true;` — verify by reading the added line +- [ ] 3.2 Add `services.avahi = { enable = true; nssmdns4 = true; openFirewall = true; };` — verify by reading the added block, and confirm `openFirewall = true` is present so mDNS/printer discovery isn't blocked by the firewall enabled in `add-developer-environment` + +## 4. Documentation + +- [ ] 4.1 Update `README.md` to document that NixOS hosts from this flake now boot into GNOME (GDM login) by default, with NetworkManager, PipeWire, and CUPS+Avahi printing enabled as necessary companions — verify by reading the updated section for consistency with the actual module changes + +## 5. Validation + +- [ ] 5.1 Run `nix flake check` and confirm `modules/nixos/common.nix` still evaluates without error with the new services added, resolving the option-path question from task 1.2 (blocked — Nix is not installed on this machine, and there's still no live NixOS host to boot; run this once Nix/a real host are available — this is the real acceptance gate, not the individual checkboxes above) +- [ ] 5.2 Manually trace through each spec scenario in `specs/gnome-desktop/spec.md` against the implemented module, confirming each is satisfied by inspection given #5.1 cannot run locally -- cgit v1.3