aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2026-09-21 15:57:04 +0200
committerGravatar Tom van der Lee <tom@vanderlee.io>2026-09-21 15:57:04 +0200
commitc3f882fae8f4c1ae84deafc310357846e8b66ad1 (patch)
tree7d8e9fac29bec584fb39283c41d0d73632fb01e8 /openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications
parenta6e0ae7b4eb877d0c22ae84ee55d6a85618ca4c1 (diff)
downloaddesktop-flake-c3f882fae8f4c1ae84deafc310357846e8b66ad1.tar.gz
desktop-flake-c3f882fae8f4c1ae84deafc310357846e8b66ad1.tar.bz2
desktop-flake-c3f882fae8f4c1ae84deafc310357846e8b66ad1.zip
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BBSd4VBfoKHjE1HR3P8kmn
Diffstat (limited to 'openspec/changes/add-claude-code-slack-spotify-discord-teams/specs/desktop-applications')
-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