diff --git a/.gitea/workflows/check-flake.yaml b/.gitea/workflows/check-flake.yaml index 318308e..5b1018f 100644 --- a/.gitea/workflows/check-flake.yaml +++ b/.gitea/workflows/check-flake.yaml @@ -26,9 +26,11 @@ jobs: export XDG_CONFIG_HOME="$(mktemp -d)" mkdir -p "$XDG_CONFIG_HOME/attic" attic login local "${{ vars.ATTIC_ENDPOINT }}" "${{ secrets.ATTIC_TOKEN }}" - # Get all system toplevel store paths - toplevels=$(nix eval .#nixosConfigurations --apply 'cs: map (n: "${cs.${n}.config.system.build.toplevel}") (builtins.attrNames cs)' --json | jq -r '.[]') - echo "Found $(echo "$toplevels" | wc -l) system toplevels" + # Get all system toplevel store paths, keeping only those valid in the local store + toplevels=$(nix eval .#nixosConfigurations --apply 'cs: map (n: "${cs.${n}.config.system.build.toplevel}") (builtins.attrNames cs)' --json \ + | jq -r '.[]' \ + | xargs -I{} sh -c 'nix path-info {} >/dev/null 2>&1 && echo {}') + echo "Found $(echo "$toplevels" | wc -l) valid system toplevels" # Expand to full closures, deduplicate, and filter out paths already # signed by cache.nixos.org — only our custom builds need caching paths=$(echo "$toplevels" \