From 2b0f41d97e5dbf115d04f148906d3b7e95ad1181 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Mon, 21 Sep 2026 14:11:48 +0000 Subject: Archive add-claude-code-slack-spotify-discord-teams, sync desktop-applications spec Co-Authored-By: Claude Sonnet 5 --- openspec/specs/desktop-applications/spec.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 openspec/specs/desktop-applications/spec.md (limited to 'openspec/specs/desktop-applications') 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 @@ +# desktop-applications Specification + +## Purpose + +Provisions 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. + +## Requirements + +### Requirement: Desktop GUI applications are provisioned via the shared home profile +The 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. + +#### 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 + +### Requirement: Packages unsupported on the current system are skipped, not failed +A 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. + +#### Scenario: Unsupported package excluded without failure +- **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 +- **THEN** that package is excluded from the provisioned set and the rest of the profile evaluates and activates successfully + +### Requirement: teams-for-linux is Linux-only +teams-for-linux SHALL be provisioned only on Linux systems, consistent with its scope as a Linux-only Microsoft Teams client. + +#### Scenario: Excluded on a non-Linux system +- **WHEN** the shared home profile is activated on a non-Linux system +- **THEN** teams-for-linux is not included in the provisioned package set -- cgit v1.3