A developer building 'unflake', a userspace reimplementation of Nix flakes, ran large-scale compatibility tests across 7615 flakes from 5380 repos to find incompatibilities. The tests compared CppNix, Lix, and unflake implementations. CppNix achieved ~70% full success, Lix ~68%, and unflake ~57-59%. The post details specific bugs found in each implementation, including missing flake attributes, relative path input handling, input override issues, and various Lix-specific failures. The author calls for flake specification documentation, a feature freeze to allow proper documentation, and adoption of large-scale testing infrastructure to stabilize the flakes format before further development.

25m read timeFrom goldstein.lol
Post cover image
Table of contents
results summaryfuture workconclusions and call to actioncompatibility issuesmethodology

Sort: