aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/specs/desktop-applications/spec.md
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2026-09-21 14:11:48 +0000
committerGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2026-09-21 14:11:48 +0000
commit2b0f41d97e5dbf115d04f148906d3b7e95ad1181 (patch)
treefb9a6a9f71a6f641be1ced08f9e59bd7861dd06c /openspec/specs/desktop-applications/spec.md
parentc3f882fae8f4c1ae84deafc310357846e8b66ad1 (diff)
downloaddesktop-flake-2b0f41d97e5dbf115d04f148906d3b7e95ad1181.tar.gz
desktop-flake-2b0f41d97e5dbf115d04f148906d3b7e95ad1181.tar.bz2
desktop-flake-2b0f41d97e5dbf115d04f148906d3b7e95ad1181.zip
Archive add-claude-code-slack-spotify-discord-teams, sync desktop-applications spec
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'openspec/specs/desktop-applications/spec.md')
-rw-r--r--openspec/specs/desktop-applications/spec.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/openspec/specs/desktop-applications/spec.md b/openspec/specs/desktop-applications/spec.md
new file mode 100644
index 0000000..8e46afe
--- /dev/null
+++ b/openspec/specs/desktop-applications/spec.md
@@ -0,0 +1,28 @@
1# desktop-applications Specification
2
3## Purpose
4
5Provisions 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.
6
7## Requirements
8
9### Requirement: Desktop GUI applications are provisioned via the shared home profile
10The 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.
11
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
14- **THEN** that application is available without any additional manual installation step
15
16### Requirement: Packages unsupported on the current system are skipped, not failed
17A 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.
18
19#### Scenario: Unsupported package excluded without failure
20- **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
21- **THEN** that package is excluded from the provisioned set and the rest of the profile evaluates and activates successfully
22
23### Requirement: teams-for-linux is Linux-only
24teams-for-linux SHALL be provisioned only on Linux systems, consistent with its scope as a Linux-only Microsoft Teams client.
25
26#### Scenario: Excluded 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