From 8ac87f0b609b8f30b83382d1e4913ddc89e0893e Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Thu, 24 Sep 2026 09:13:19 +0000 Subject: Add Ghostty, GNOME Tweaks, and a GNOME dark-mode default Ghostty joins the cross-platform desktop app list (Linux-only in nixpkgs today, filtered out on darwin by the existing availableOn check). GNOME Tweaks is gated on osConfig.services.desktopManager.gnome.enable rather than plain isLinux, since modules/home/desktop-apps.nix is also consumed by the standalone, non-NixOS tom@linux home-manager profile, which has no GNOME involved. Every NixOS host now also gets a dconf default of org/gnome/desktop/interface color-scheme=prefer-dark, left unlocked so GNOME Settings can still switch back to light mode. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01HngxrvqEzq8oBEBDtrYJyB --- .../specs/desktop-applications/spec.md | 21 +++++++++++++++++++++ .../specs/gnome-desktop/spec.md | 12 ++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/desktop-applications/spec.md create mode 100644 openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/gnome-desktop/spec.md (limited to 'openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs') diff --git a/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/desktop-applications/spec.md b/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/desktop-applications/spec.md new file mode 100644 index 0000000..ccc88e4 --- /dev/null +++ b/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/desktop-applications/spec.md @@ -0,0 +1,21 @@ +## MODIFIED Requirements + +### Requirement: Desktop GUI applications are provisioned via the shared home profile +The shared home-manager profile SHALL include Slack, Discord, Spotify, teams-for-linux, Firefox, the Bitwarden desktop client, and Ghostty as GUI application packages, available wherever that profile is activated and the underlying package supports the current system. GNOME Tweaks is provisioned per the separate requirement below, since its availability depends on GNOME being enabled rather than on platform support alone. + +#### Scenario: GUI app available after activation +- **WHEN** the shared home profile is activated on a system for which a given desktop application's package is supported +- **THEN** that application is available without any additional manual installation step + +## ADDED Requirements + +### Requirement: GNOME Tweaks is provisioned only where GNOME is enabled +GNOME Tweaks SHALL be included in the provisioned package set only where the GNOME desktop is enabled (every NixOS host built from this flake's shared system module), and SHALL be excluded wherever GNOME is not known to be enabled, including standalone (non-NixOS) home-manager activations of the shared profile. + +#### Scenario: Included on a NixOS host with GNOME enabled +- **WHEN** the shared home profile is activated as part of a NixOS host built from this flake's shared system module, where GNOME is enabled +- **THEN** GNOME Tweaks is included in the provisioned package set + +#### Scenario: Excluded on a standalone activation +- **WHEN** the shared home profile is activated standalone, not as part of a NixOS system (for example via `home-manager switch` on a non-NixOS machine) +- **THEN** GNOME Tweaks is not included in the provisioned package set, regardless of the host's operating system diff --git a/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/gnome-desktop/spec.md b/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/gnome-desktop/spec.md new file mode 100644 index 0000000..f9344b4 --- /dev/null +++ b/openspec/changes/add-ghostty-gnome-tweaks-dark-mode/specs/gnome-desktop/spec.md @@ -0,0 +1,12 @@ +## ADDED Requirements + +### Requirement: GNOME defaults to dark mode +Every NixOS host built from this flake's shared system module SHALL configure its GNOME desktop session to use dark mode (`color-scheme: prefer-dark`) as the default appearance, while leaving the setting changeable by the user. + +#### Scenario: Fresh session uses dark mode +- **WHEN** a user who has not previously changed the GNOME appearance setting logs into a NixOS host built from this flake's shared system module +- **THEN** the GNOME desktop session appears in dark mode + +#### Scenario: User can still switch to light mode +- **WHEN** a user opens GNOME Settings' Appearance page on a host built from this flake's shared system module +- **THEN** the user can select light mode, and that choice takes effect and persists across future logins -- cgit v1.3