2026-02-20 23:03:12 -08:00
---
title: Install Dagger on Nix Runner
modified: 2026-02-20
tags:
- how-to
- ci
- zot
---
# Install Dagger on Nix Runner
2026-02-20 23:23:06 -08:00
Use `nix eval` instead of `dagger call nix-version` for version extraction on the ringtail nix-container-builder runner.
2026-02-20 23:03:12 -08:00
## Context
The `build-container-nix.yaml` workflow extracts container versions in this order:
1. `version = "..."` from `default.nix` (e.g. ntfy)
2. `ARG CONTAINER_APP_VERSION=` from Dockerfile (e.g. nettest)
2026-02-20 23:23:06 -08:00
3. Nixpkgs package version for packages without explicit versions (e.g. authentik)
2026-02-20 23:03:12 -08:00
2026-02-20 23:23:06 -08:00
Step 3 originally used `dagger call nix-version` , but dagger can't run on the bare nix runner:
2026-02-20 23:03:12 -08:00
2026-02-20 23:23:06 -08:00
- **Dagger is not in nixpkgs** — removed due to [trademark concerns ](https://github.com/NixOS/nixpkgs/issues/260848 ). Available via `github:dagger/nix` flake.
- **Dagger needs a container runtime** — the CLI is just an API client; the engine runs as a container via Docker/containerd, which the nix runner doesn't have.
2026-02-20 23:03:12 -08:00
2026-02-20 23:23:06 -08:00
The fix was to use `nix eval --raw "nixpkgs#<package>.version"` directly, which is already available on the nix host and more appropriate.
2026-02-20 23:03:12 -08:00
## Related
- [[adopt-commit-based-container-tags]] — Parent card
- [[harden-zot-registry]] — Root goal