From 7980c2f5ffc420987788ddf7d79a306d4364a85d Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Fri, 29 May 2026 22:09:17 +0100 Subject: [PATCH] ci: pin Nix to 2.31.5 to fix lazy-trees IFD failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit flake check kept failing with "path '…-source' is not valid" while evaluating the home-manager fontconfig text (Stylix/base16.nix do import-from-derivation). Root cause: the installer pulled the latest Nix (2.34), whose lazy-trees / git-cache behaviour doesn't materialise flake-input source paths into the store, so the IFD reads can't find them. Pin the install to 2.31.5 — the version that wrote flake.lock locally and evaluates the flake cleanly all session. Co-Authored-By: Claude Opus 4.8 --- .gitea/workflows/check.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/check.yml b/.gitea/workflows/check.yml index a8c19bb..36533d5 100644 --- a/.gitea/workflows/check.yml +++ b/.gitea/workflows/check.yml @@ -54,13 +54,20 @@ jobs: # nixbld from its bundled nix.conf, aborting unless that group exists # AND has members. Create the nixbld group + build users (what a # multi-user install does) before running it. + # + # Pin the Nix version: the latest (2.34) uses lazy-trees / a git + # cache that doesn't materialise flake-input `-source` paths into + # the store, so Stylix's import-from-derivation reads fail with + # "path '…-source' is not valid". 2.31.5 matches the Nix that wrote + # flake.lock locally and evaluates the flake cleanly. run: | + NIX_VERSION=2.31.5 groupadd -r nixbld 2>/dev/null || true for i in $(seq 1 10); do useradd -r -g nixbld -G nixbld -d /var/empty \ -s /usr/sbin/nologin -c "Nix build user $i" "nixbld$i" 2>/dev/null || true done - curl -L https://nixos.org/nix/install | sh -s -- --no-daemon + curl -L "https://releases.nixos.org/nix/nix-${NIX_VERSION}/install" | sh -s -- --no-daemon echo "$HOME/.nix-profile/bin" >> "$GITHUB_PATH" - name: nix flake check --no-build