aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/changes/add-claude-code-slack-spotify-discord-teams/specs
diff options
context:
space:
mode:
Diffstat (limited to 'openspec/changes/add-claude-code-slack-spotify-discord-teams/specs')
-rw-r--r--openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications/spec.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications/spec.md b/openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications/spec.md
new file mode 100644
index 0000000..ae1e6f3
--- /dev/null
+++ b/openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications/spec.md
@@ -0,0 +1,26 @@
1## Purpose
2
3Provisions everyday desktop GUI applications (chat, communication, and music clients) through the shared home-manager profile, mirroring how `developer-environment` provisions CLI tooling but for user-facing graphical applications instead.
4
5## ADDED Requirements
6
7### Requirement: Desktop GUI applications are provisioned via the shared home profile
8The shared home-manager profile SHALL include Slack, Discord, Spotify, and teams-for-linux as GUI application packages, available wherever that profile is activated and the underlying package supports the current system.
9
10#### Scenario: GUI app available after activation
11- **WHEN** the shared home profile is activated on a system for which a given desktop application's package is supported
12- **THEN** that application is available without any additional manual installation step
13
14### Requirement: Packages unsupported on the current system are skipped, not failed
15A desktop application package that has no supported build for the currently evaluated system SHALL be omitted from the provisioned package set rather than causing profile evaluation or activation to fail.
16
17#### Scenario: Unsupported package excluded without failure
18- **WHEN** the shared home profile is evaluated on a system for which one of the desktop application packages (e.g. an `aarch64-linux` target lacking a Discord, Spotify, or Slack build) has no supported build
19- **THEN** that package is excluded from the provisioned set and the rest of the profile evaluates and activates successfully
20
21### Requirement: teams-for-linux is Linux-only
22teams-for-linux SHALL be provisioned only on Linux systems, consistent with its scope as a Linux-only Microsoft Teams client.
23
24#### Scenario: Excluded on a non-Linux system
25- **WHEN** the shared home profile is activated on a non-Linux system
26- **THEN** teams-for-linux is not included in the provisioned package set