From c3f882fae8f4c1ae84deafc310357846e8b66ad1 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Mon, 21 Sep 2026 15:57:04 +0200 Subject: Add Slack, Discord, Spotify, teams-for-linux, and Claude Code Provisions these via home-manager, scoping unfree-package access to exactly these packages and skipping any that aren't available for the current system/architecture (e.g. aarch64-linux lacks Discord/Spotify builds) instead of failing evaluation. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01BBSd4VBfoKHjE1HR3P8kmn --- .../specs/desktop-applications/spec.md | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications/spec.md (limited to 'openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications') 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 @@ +## 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. + +## ADDED 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