From d09bdcd6b9fd6d815d6272a7bc337b410b19b665 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Thu, 24 Sep 2026 10:25:38 +0000 Subject: 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 Claude-Session: https://claude.ai/code/session_01HngxrvqEzq8oBEBDtrYJyB --- openspec/specs/developer-environment/spec.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'openspec/specs/developer-environment/spec.md') 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 - **THEN** the provisioned developer CLI tools are available on `PATH` without any additional manual installation step ### Requirement: Container and cloud tools are client-only -Container 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). +Container 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. #### Scenario: No runtime is installed or managed -- **WHEN** a container or cloud CLI tool is provisioned by the shared home profile +- **WHEN** a container or cloud CLI tool other than Docker is provisioned by the shared home profile - **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 +#### Scenario: Docker's runtime is the documented exception on NixOS +- **WHEN** the Docker CLI is provisioned by the shared home profile on a NixOS host built from this flake's shared system module +- **THEN** a Docker runtime is available via the separate `container-runtime` capability, rather than being left entirely unmanaged + ### Requirement: Shell and prompt configuration defers to the user's personal dotfiles Where 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. -- cgit v1.3