Introduction
The upstream NixOS ecosystem recently introduced a major package compression optimization with the release of Nix channels version 25.11 and newer. To significantly improve cache-building speeds, the default compression format for NAR (Nix Archive) packages served by cache.nixos.org was upgraded from the legacy .nar.xz (XZ/LZMA) format to the modern .nar.zst (Zstandard) format.
Following this change, JFrog identified an integration gap within Artifactory Nix remote repositories. Artifactory's Nix repository handler is designed to validate incoming requests against classic archive formats like .nar.xz and .nar.bz2. Because modern 25.11+ channels point to the newer .nar.zst payloads, a routing engine validation mismatch occurs. Artifactory does not recognize the updated extension pattern and rejects the request on the server side with an HTTP 404 Not Found error before the proxying mechanism can initiate.
When encountering this scenario, development teams and automated CI/CD build systems will experience the following primary symptom:
Resolution
Affected Versions
-
Artifactory Versions: All JFrog Artifactory releases/versions utilizing Nix remote repositories prior to the fixed versions listed below.
-
Nix/NixOS Environment: Nix channels 25.11 and newer defaulting to zstd binary cache compression.
Note:
Existing packages previously cached inside Artifactory under the legacy .nar.xz standard continue to serve perfectly. Only requests for newly published packages leveraging the updated 25.11+ compression default will trigger this validation gap.
Permanent Solution (Recommended Path)
JFrog has officially resolved this extension verification logic gap. Upgrading Artifactory is the definitive and recommended action to eliminate this issue.
Immediate Workaround
If an immediate Artifactory upgrade to the fixed versions is not feasible, you can temporarily unblock your CI/CD pipelines by pinning your Nix channels to a release utilizing legacy compression layouts.
Pin NixOS Channels to 25.05 and Older Releases
To ensure all traffic continues to route cleanly through your Artifactory remote repositories without encountering unsupported extensions, pin your Nix channels or nixpkgs inputs to a release version prior to 25.11 (such as 25.05). These channels exclusively serve pre-built binaries compressed with the fully supported .nar.xz format.
For Imperative Channel Management, downgrade or pin your system channel to a stable pre-25.11 channel state by running the following command:
nix-channel --add https://<your-artifactory-url>/artifactory/api/nix/<repo-key>/channels/nixos-25.05 nixos
nix-channel --update