The NAT is there to solve architectural nixpkgs issues that are too big in scope for any single person to undertake. There are regular 30 minute meetings every week (currently 13:30 to 14:00 UTC) in Jitsi Meet, open for anybody to join, recorded and live-streamed to YouTube, meeting notes are public.
The agenda for the NAT is generally created from discussions in the past week, mostly on Matrix, but you’re also free and encouraged to suggest additional topics by replying to this thread.
Tentative Agenda
Spack: External dependencies and specifications
@tgamblin, the lead of the Spack project talked a bit about how Spack works, especially regarding external packages and its specifications to resolve package versions and dependencies. Spack notably uses answer set programming instead of a SAT solver for this. A new paper by @tgamblin and others goes into this. Spack uses clingo to solve this logic program.
Others involved in the discussion were @toonn, @Growpotkin (who wrote an STM solver in Nix!), @danielbarter, @ronnypfannschmidt:matrix.org
(don’t know if they’re on Discourse)
Deep runtime dependency substitution
Nix currently doesn’t have a good way of substituting deep runtime dependencies, which Spack does and would be useful in a number of use cases. A NAT wiki article on this has been created, and a number of solutions have been proposed after the previous meeting by @Infinisil, @ronnypfannschmidt:matrix.org, @Growpotkin and @Ericson2314. I encourage you to update the wiki article to briefly explain your ideas there.
The Nixpkgs Architecture Team is on nixos.org now
In a PR to the nixos.org homepage, a section about the NAT was added to the website: https://nixos.org/community/teams/nixpkgs-architecture.html. Now duplicated on the website, the information can be removed from the original team page in another PR.
Problems with RFC 127
RFC 127 is in the FCP now, though @Infinisil is not happy with it as it seems to make deprecations throw errors immediately without warning for a release.
JSON schema for NixOS options
@Profpatsch proposed to have a JSON schema for NixOS options, which would allow them to be written with auto-completion in a JSON file. @DavHau, @nbp, @whentze and @piegames were also involved in the discussion
Active RFC drafts
In addition to the agenda, this post can bring attention to the existing RFC drafts of the NAT. Feel free to open issues/PRs in these repositories if you want to bring something to attention relating to that RFC draft. Alternatively feel free to chat on Matrix or reply here on Discourse.
-
Auto-called packages: Make most attribute definitions in
pkgs/top-level/all-packages.nix
be auto-generated from a single flat (or prefixed) directory instead, where the subdirectory corresponds to the attribute name. The ad-hoc category-based structure of packages will be removed.