Run ./ci/test.sh
./ci/test.sh
shell: /usr/bin/bash -e {0}
env:
NIX_PATH: nixpkgs=channel:nixos-unstable
TMPDIR: /home/runner/work/_temp
unpacking 'https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz' into the Git cache...
these 154 paths will be fetched (201.62 MiB download, 950.79 MiB unpacked):
The job is failing because the workflow is installing a Nix version that’s too old for the nixpkgs revision being evaluated. The log shows nixpkgs aborting evaluation with:
“This version of Nixpkgs requires … builtins.nixVersion reports at least 2.18”
So the fix is to ensure GitHub Actions installs Nix ≥ 2.18 (ideally a recent stable Nix) before running ./ci/test.sh.
Fix (recommended): pin a recent Nix in the workflow
In .github/workflows/pr.yml at ref 65467e7e723605745767c84998564332bcc0a8a6, update the cachix/install-nix-action@v30 step to install a sufficiently new Nix:
- uses: cachix/install-nix-action@v30
with:
nix_path: nixpkgs=channel:nixos-unstable
install_url: https://releases.nixos.org/nix/nix-2.24.12/install
extra_nix_config: |
experimental-features = nix-command flakes
Notes:
- Any Nix >= 2.18 works; choosing a recent stable (example above) prevents this from regressing again when nixpkgs raises requirements.
- This error is independent of individual NUR repos being evaluated; they’re failing because nixpkgs evaluation stops early due to the Nix version gate.
Optional cleanup
Your logs also include repeated warnings:
warning: unknown setting 'always-allow-substitutes'
That warning doesn’t cause the failure, but it suggests some config in the CI environment is setting an option unsupported by the installed Nix. Pinning to a newer Nix often resolves this too (or at least makes it consistent).
Why this is the correct fix
The failing command is nix-env ... -I nixpkgs=/nix/store/... invoked by the NUR evaluation tool, and nixpkgs itself is aborting with the explicit “requires Nix >= 2.18” message. Updating the workflow’s Nix installation is the direct solution.
Run ./ci/test.sh
./ci/test.sh
shell: /usr/bin/bash -e {0}
env:
NIX_PATH: nixpkgs=channel:nixos-unstable
TMPDIR: /home/runner/work/_temp
unpacking 'https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz' into the Git cache...
these 154 paths will be fetched (201.62 MiB download, 950.79 MiB unpacked):
The job is failing because the workflow is installing a Nix version that’s too old for the nixpkgs revision being evaluated. The log shows nixpkgs aborting evaluation with:
So the fix is to ensure GitHub Actions installs Nix ≥ 2.18 (ideally a recent stable Nix) before running
./ci/test.sh.Fix (recommended): pin a recent Nix in the workflow
In
.github/workflows/pr.ymlat ref65467e7e723605745767c84998564332bcc0a8a6, update thecachix/install-nix-action@v30step to install a sufficiently new Nix:Notes:
Optional cleanup
Your logs also include repeated warnings:
That warning doesn’t cause the failure, but it suggests some config in the CI environment is setting an option unsupported by the installed Nix. Pinning to a newer Nix often resolves this too (or at least makes it consistent).
Why this is the correct fix
The failing command is
nix-env ... -I nixpkgs=/nix/store/...invoked by the NUR evaluation tool, and nixpkgs itself is aborting with the explicit “requires Nix >= 2.18” message. Updating the workflow’s Nix installation is the direct solution.