aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/specs/developer-environment
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.com>2026-09-24 10:25:38 +0000
committerGravatar Tom van der Lee <tom@vanderlee.com>2026-09-24 10:25:38 +0000
commitd09bdcd6b9fd6d815d6272a7bc337b410b19b665 (patch)
treec2598b5ed6d702425f32db8dcd3cbeecae510440 /openspec/specs/developer-environment
parenta1678f084e757c5464d167a937ac06460d9529df (diff)
downloaddesktop-flake-d09bdcd6b9fd6d815d6272a7bc337b410b19b665.tar.gz
desktop-flake-d09bdcd6b9fd6d815d6272a7bc337b410b19b665.tar.bz2
desktop-flake-d09bdcd6b9fd6d815d6272a7bc337b410b19b665.zip
Add uv and a rootless Docker runtime on NixOS hosts
uv joins the CLI package list. Docker's daemon is now actually managed on NixOS hosts too, in rootless mode (per-user systemd service, no docker-group root-equivalent access), rather than leaving the runtime entirely externally-managed as before -- the already-installed docker CLI picks it up automatically via DOCKER_HOST. This is a documented, narrow exception to developer-environment's client-only tools policy; kubectl and awscli2 remain unaffected. Archives add-uv-and-docker-runtime and syncs the new container-runtime capability plus the narrowed developer-environment requirement into the main specs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HngxrvqEzq8oBEBDtrYJyB
Diffstat (limited to 'openspec/specs/developer-environment')
-rw-r--r--openspec/specs/developer-environment/spec.md8
1 files changed, 6 insertions, 2 deletions
diff --git a/openspec/specs/developer-environment/spec.md b/openspec/specs/developer-environment/spec.md
index 374f098..bcdc3e4 100644
--- a/openspec/specs/developer-environment/spec.md
+++ b/openspec/specs/developer-environment/spec.md
@@ -12,12 +12,16 @@ The shared home-manager profile SHALL include the user's evidenced most-used CLI
12- **THEN** the provisioned developer CLI tools are available on `PATH` without any additional manual installation step 12- **THEN** the provisioned developer CLI tools are available on `PATH` without any additional manual installation step
13 13
14### Requirement: Container and cloud tools are client-only 14### Requirement: Container and cloud tools are client-only
15Container and cloud-related packages provisioned by this capability SHALL provide client/CLI functionality only; they SHALL NOT attempt to provide or manage the underlying runtime or service (e.g. a container engine or cloud account). 15Container and cloud-related packages provisioned by this capability SHALL provide client/CLI functionality only; they SHALL NOT attempt to provide or manage the underlying runtime or service (e.g. a Kubernetes cluster or cloud account), with one exception: Docker's runtime is managed on NixOS hosts by the separate `container-runtime` capability. Outside of NixOS hosts, and for every other tool (`kubectl`, `awscli2`), no corresponding runtime or account is installed or managed.
16 16
17#### Scenario: No runtime is installed or managed 17#### Scenario: No runtime is installed or managed
18- **WHEN** a container or cloud CLI tool is provisioned by the shared home profile 18- **WHEN** a container or cloud CLI tool other than Docker is provisioned by the shared home profile
19- **THEN** no corresponding daemon, virtual machine, or account configuration is installed or managed by this capability — the tool simply connects to whatever runtime or account is already configured on the system 19- **THEN** no corresponding daemon, virtual machine, or account configuration is installed or managed by this capability — the tool simply connects to whatever runtime or account is already configured on the system
20 20
21#### Scenario: Docker's runtime is the documented exception on NixOS
22- **WHEN** the Docker CLI is provisioned by the shared home profile on a NixOS host built from this flake's shared system module
23- **THEN** a Docker runtime is available via the separate `container-runtime` capability, rather than being left entirely unmanaged
24
21### Requirement: Shell and prompt configuration defers to the user's personal dotfiles 25### Requirement: Shell and prompt configuration defers to the user's personal dotfiles
22Where the user's personal dotfiles repository already owns a piece of shell or prompt configuration, the shared home profile SHALL provide only the underlying package, not a competing managed configuration for that same file. 26Where the user's personal dotfiles repository already owns a piece of shell or prompt configuration, the shared home profile SHALL provide only the underlying package, not a competing managed configuration for that same file.
23 27