Add configurable upstream cache filtering #30
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds intelligent upstream cache filtering and performance optimizations to avoid redundant uploads when pushing Nix store paths to custom substituters. It also migrates the development environment to Flox and adds comprehensive developer tooling.
Key Features
🎯 Configurable Upstream Cache Filtering
upstream-cachesinput parameter that accepts comma or newline-separated cache URLscache.nixos.organdcache.flox.dev⚡ Performance Optimization (14x Faster)
Replaced sequential per-path cache checking with parallel batch queries:
Implementation:
nix path-infoquery per cachecommfor efficient set difference operations🛠️ Developer Tooling
.claude/CLAUDE.mdwith project architecture, development commands, and implementation detailsscripts/benchmark-cache-check.shto validate and measure cache checking performanceBenefits
Example Configuration
Benchmark Results
Testing with 500 paths against 2 caches:
Both approaches verified against identical path sets (checksum validation included).
Test Plan