aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/changes/archive/2026-09-18-add-gnome-desktop/proposal.md
diff options
context:
space:
mode:
Diffstat (limited to 'openspec/changes/archive/2026-09-18-add-gnome-desktop/proposal.md')
-rw-r--r--openspec/changes/archive/2026-09-18-add-gnome-desktop/proposal.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/openspec/changes/archive/2026-09-18-add-gnome-desktop/proposal.md b/openspec/changes/archive/2026-09-18-add-gnome-desktop/proposal.md
new file mode 100644
index 0000000..09a2e80
--- /dev/null
+++ b/openspec/changes/archive/2026-09-18-add-gnome-desktop/proposal.md
@@ -0,0 +1,26 @@
1## Why
2
3NixOS hosts built from this flake currently have no desktop environment at all — just a headless system. The user wants GNOME enabled as the default desktop on every NixOS system this flake provisions.
4
5## What Changes
6
7- `modules/nixos/common.nix` gains: `services.xserver.enable`, `services.displayManager.gdm.enable`, `services.desktopManager.gnome.enable` — GNOME with GDM as the login manager, applied unconditionally to every NixOS host (not an opt-in per-host module), confirmed via direct Q&A.
8- `networking.networkmanager.enable = true` — required for GNOME's own network settings UI to function.
9- `services.pipewire` (`enable`, `pulse.enable`) + `security.rtkit.enable` — the standard NixOS audio stack GNOME expects.
10- `services.printing.enable = true` (CUPS) + `services.avahi` (`enable`, `nssmdns4`, `openFirewall`) — printing support with network/AirPrint printer discovery, added per explicit user request; `openFirewall` so the firewall enabled in the prior `add-developer-environment` change doesn't block discovery traffic.
11- Update `README.md` to document that NixOS hosts now boot into GNOME by default, with these companions.
12
13## Capabilities
14
15### New Capabilities
16- `gnome-desktop`: NixOS hosts built from this flake boot into a working GNOME desktop (login manager, networking, audio, printing) by default.
17
18### Modified Capabilities
19(none — this doesn't change any requirement from `nix-flake-bootstrap`, `dotfiles-management`, or `developer-environment`; it's a new, additive system capability)
20
21## Impact
22
23- Affected code: `modules/nixos/common.nix`, `README.md`.
24- Applies to every NixOS host built from this flake going forward. There is still no live NixOS host (only `hosts/template/`), so this only takes effect once a real host is scaffolded via `scripts/bootstrap-host.sh` — same situation as every prior NixOS-side change in this repo.
25- Nix is still not installed on this development machine, so the exact module option paths (`services.displayManager.*`/`services.desktopManager.*`, which NixOS has been migrating out of the older `services.xserver.displayManager.*`/`services.xserver.desktopManager.*` nesting) can only be verified by manual review here, not by actually building — flagged explicitly as an implementation-time risk, not asserted with full confidence.
26- Out of scope: per-user GNOME customization (dconf settings, Shell extensions), and any change to the user's existing `~/dotfiles` `herbstluftwm`/`xorg` packages, which this change doesn't touch.