aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/specs
diff options
context:
space:
mode:
Diffstat (limited to 'openspec/specs')
-rw-r--r--openspec/specs/desktop-applications/spec.md13
-rw-r--r--openspec/specs/gnome-desktop/spec.md11
2 files changed, 23 insertions, 1 deletions
diff --git a/openspec/specs/desktop-applications/spec.md b/openspec/specs/desktop-applications/spec.md
index 8758177..ec5e7fe 100644
--- a/openspec/specs/desktop-applications/spec.md
+++ b/openspec/specs/desktop-applications/spec.md
@@ -7,7 +7,7 @@ Provisions everyday desktop GUI applications (chat, communication, and music cli
7## Requirements 7## Requirements
8 8
9### Requirement: Desktop GUI applications are provisioned via the shared home profile 9### Requirement: Desktop GUI applications are provisioned via the shared home profile
10The shared home-manager profile SHALL include Slack, Discord, Spotify, teams-for-linux, Firefox, and the Bitwarden desktop client as GUI application packages, available wherever that profile is activated and the underlying package supports the current system. 10The 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.
11 11
12#### Scenario: GUI app available after activation 12#### Scenario: GUI app available after activation
13- **WHEN** the shared home profile is activated on a system for which a given desktop application's package is supported 13- **WHEN** the shared home profile is activated on a system for which a given desktop application's package is supported
@@ -26,3 +26,14 @@ teams-for-linux SHALL be provisioned only on Linux systems, consistent with its
26#### Scenario: Excluded on a non-Linux system 26#### Scenario: Excluded on a non-Linux system
27- **WHEN** the shared home profile is activated on a non-Linux system 27- **WHEN** the shared home profile is activated on a non-Linux system
28- **THEN** teams-for-linux is not included in the provisioned package set 28- **THEN** teams-for-linux is not included in the provisioned package set
29
30### Requirement: GNOME Tweaks is provisioned only where GNOME is enabled
31GNOME 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.
32
33#### Scenario: Included on a NixOS host with GNOME enabled
34- **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
35- **THEN** GNOME Tweaks is included in the provisioned package set
36
37#### Scenario: Excluded on a standalone activation
38- **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)
39- **THEN** GNOME Tweaks is not included in the provisioned package set, regardless of the host's operating system
diff --git a/openspec/specs/gnome-desktop/spec.md b/openspec/specs/gnome-desktop/spec.md
index 3351d13..06eabbe 100644
--- a/openspec/specs/gnome-desktop/spec.md
+++ b/openspec/specs/gnome-desktop/spec.md
@@ -33,3 +33,14 @@ The desktop environment SHALL support printing to CUPS-compatible printers, and
33#### Scenario: A network printer is discoverable 33#### Scenario: A network printer is discoverable
34- **WHEN** a network printer advertises itself on the local network 34- **WHEN** a network printer advertises itself on the local network
35- **THEN** it can be discovered and configured for printing without the host's firewall blocking the discovery traffic 35- **THEN** it can be discovered and configured for printing without the host's firewall blocking the discovery traffic
36
37### Requirement: GNOME defaults to dark mode
38Every 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.
39
40#### Scenario: Fresh session uses dark mode
41- **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
42- **THEN** the GNOME desktop session appears in dark mode
43
44#### Scenario: User can still switch to light mode
45- **WHEN** a user opens GNOME Settings' Appearance page on a host built from this flake's shared system module
46- **THEN** the user can select light mode, and that choice takes effect and persists across future logins