Subject: Community Team Updates – Request for Status, Blockers, and Proposals
Hello Nix Community!
As part of our initial effort to better understand the current situation, the Steering Committee (SC) would like to invite the various parts of the community to provide an update. This thread is meant to become a place for a fairly comprehensive update about the current state of the community. This would help get everyone up to speed about the community status, provide a chance to communicate with the broader community, help us prioritize issues, and establish a budget; we’d appreciate an initial round of updates on:
Current Status — Key accomplishments, ongoing projects, and recent progress, current issues.
People — Identifying people responsible for various areas and/or interested to contribute. Any areas where we are lacking and need help.
Blockers or Challenges — Any issues or resource needs for additional support, feedback, or decision by the SC.
Upcoming Topics or Projects — Any upcoming work that requires broader community collaboration or attention from the SC.
Budget issues - Any expectations or requests regarding team/project budgets.
What
To make this more actionable, here are some specific areas of interest for each team, but is not a comprehensive nor exhaustive list. Please try to consolidate with others working on similar issues to increase the signal/reduce the noise. (Specific names are only to ping people suspected to be involved+interested, not mean to be exclusive.) Going forward, we’d like to reduce the need for this sort mass-request and streamline the process if possible, include any recommendations for that as well.
These are the topics where we need more information, but your scope is not limited to these.
Share your updates in this thread if possible — very likely others are also interested in the responses and updates. Thanks to each of you for your continued dedication to the Nix ecosystem — your hard work makes all the difference!
To keep things on-topic, please do not enter discussion about the topics here, but break those into separate threads with the relevant teams. Consolidate with each other if possible.
After someone from your team has given a response, we will start to schedule a meeting with each team to discuss further with ~2 SC members in each meeting. (We’re trying to strike a balance between scheduling meetings in parallel, and multiple SC members in each meeting so we don’t have a single point of failure.)
TL;DR: We’d like a @nixos.org email to apply for their pre-disclosure list. Everything else has been going smoothly, and we’re collaborating with upstream to get NixOS featured on their website. We will continue developing Xen on NixOS 25.05 and above.
Details:
Current Status
The Xen Project Hypervisor has been fixed up in Nixpkgs during the second half of this year, making this team the fourth youngest team in Nixpkgs at this point. We’ve been successful in booting a Xen-capable NixOS installation in x86 systems, and have diligently patched every security issue reported by upstream.
Since our announcement in Discourse, everything has been going well, to the point where upstream Xen has approached us for a collaboration in a marketing endeavour, where NixOS will be featured in the Xen Project’s new website in a few months from now. This collaboration has been orchestrated with the Marketing Team, and no further action is needed for it.
Our main blocker lies in our ability to respond to security advisories issued by upstream. While we have taken no longer than a day to patch security issues thus far, we recognise that joining Xen’s security pre-disclosure list would further improve our reaction time to security issues. More information on that blocker is listed under Blockers or Challenges.
Blockers or Challenges
As mentioned in Current Status, we would like to apply for Xen’s security pre-disclosure list so we can be ready when security issues are discovered and get them to users as soon as possible. Unlike the distros list, we have already been informally invited by upstream to apply to their list, and I have made all of the necessary preparations for our initial application. To go ahead with this plan, we will need:
An e-mail alias that ends in @nixos.org;
Approval from the Steering Committee.
Everything else (The PGP key, the application message, and the website team page update) has been prepared and awaits a review from the Committee. We only need an official NixOS address, which the Infrastructure team will be able to help us with.
Upcoming Topics or Projects
We don’t expect to need direct intervention from the Steering Committee in our immediate technical projects. That said, Yaroslav has been working on a collaboration with Qubes OS; in the future, that may require the Committee’s attention, but there are no actionable requests yet.
People
The Xen team is comprised of myself, Yaroslav and Hongbo. Emily has been instrumental in reviewing and merging our PRs as well.
To resolve the security blocker mentioned above, we will also need help from the Infrastructure team.
Budget
We have no direct expenditures, so we do not need a budget at this time. There may be monetary concerns with providing the aforementioned e-mail alias, however. (I’m not sure how full the alias list is.)
The RFCSC is continuing to fulfill its role with all current members actively participating. We are slowly trying to automate what we do, such that the team only needs to come together for decisions needing human judgement, which are rare. That said, we don’t have a lot of time to work on automation.
Overall we consider everything to be running smoothly.
Requests
We have no hard requests but would like to highlight that in 2 weeks (2024-12-09) we will be initiating the yearly RFCSC member rotation. This brings up a couple of opportunities for the Nix Steering Committee:
If you would like to give input on the selection of the new RFCSC to ensure more alignment with the Nix Steering Committee, please let us know.
If the Nix Steering Committee is considering major changes to the process of the RFCSC team, it would be convenient to do that before new members are selected.
But overall this is just a matter of convenience, and we have no important or urgent requests.
Overall the team is working as documented, we continue to have bi-weekly meetings when it works out, all members are regularly active.
We are still in the RFC 166 implementation phase and have just announced that the almost completely treewide Nixpkgs reformat is going to happen soon: Nix formatting team: Treewide Nixpkgs formatting
As we make progress with the implementation, we are slowly moving towards a less active maintenance mode.
the moderation team grew a bit in the last couple of months
team rotation is an ongoing topic for which we are trying to define a mechanism
Currently the only thing we need from the SC is to start by formalizing any relevant escalation channels for issues that may come up, noting that they may need to be confidential. We are looking forward to what decisions the SC will bring
The stdenv team is new (Tristan started it a few months ago) and in the process of forming. This status represents how I (@philiptaron) see things and am tracking them in stdenv world.
Completed
Darwin stdenv rewrite. Thank you @reckenrode and team!
Complete set of helpers for dealing with Bash arrays. Thank you @tie and @wolfgangwalthier!
LLVM derivations are made common and split apart, greatly easing updates and cross-version conformity. Thank you Tristan @rosscomputerguy!
In Progress
This is well-defined work that is approaching actual completion across the nixpkgs codebase.
Improving pkgs* stacking and toolchain/compiler overriding (#365057)
Paused
This is work that was in progress but has stalled for one reason or another.
Splitting apart the GCC derivation (as llvm has done) . @Ericson2314 and @philiptaron started on this, but it’s gnarly. If completed, it will cut down on rebuilds and makes cross-compilation sane.
Improvements to nixpkgs configuration options to document and regularize those options. Since the PR author has left nixpkgs, this is paused.
In ideation
These ideas are well-defined enough to be “worked on”, but the hill to climb in order for them to be “done” requires serious additional thought. In particular, they may come with tradeoffs too bitter to swallow if pursued to the uttermost.
Structured logging (@nix { "action": "msg", "level": "1", "msg": ...}) support in the stdenv, so that NIX_DEBUG isn’t needed any more. If the various Nix logging functions are directly sent to Nix as structured logging, we suspect there will be big downsides. But re-compiling Nix in order to get logging is also pretty terrible.
Continued progress on clarifying what the stdenv environment is and what guarantees are possible across “releases”.
Linters and checkers (like nixpkgs-vet) that assist with in-tree and out-of-tree users to provide diagnostics and migrations for necessary changes.
In formation
These are ideas that are yet to coalesce into something that can be “worked on”.
Automatic bisection of failures, so we don’t rely on @trofi for that.
Blockers and challenges
Time and attention. Making changes to move the stdenv in any major direction is difficult. Reviewing and gathering feedback on the impact of changes is necessarily delayed, as any change must go through staging.
Width of purview. The stdenv undergirds the entire nixpkgs ecosystem.
Machine time to run staging cycles. It’s usually an hour or more to get a single build through of a change to the stdenv on a powerful machine, and less powerful ones take far longer.
Budget requests
None at this time. Any additional budget towards making staging builds go faster, produce more useful information, and detect and automatically flag and highlight issues will always be appreciated and used.
https://nix-community.org is a sister project to the NixOS project that provides resources for unofficial Nix-related projects. It has no formal ties to the NixOS Foundation, but there is a deep relationship between both projects as many dependencies to the NixOS project are sitting in the org. Historically it’s also been a place where we can get things done with a bit less friction.
In terms of services we provide, there are 4 main poles:
The nix-community GitHub org is used for shared maintenance. Having projects there makes it easier to transfer ownership while keeping a stable URL.
Continuous integration - Nix Community : we provide x86_64 and aarch64 * linux and darwin build infrastructure for project inside and outside the org. Recently we started building unfree+redistributable and CUDA packages in nixpkgs.
Community builder - Nix Community : those are boxes contributors can SSH into and build things. They are used by nixpkgs contributors to get access to stronger CPUs or architecture they don’t have access to.
People: @zowoq doing most of the work (thank zowoq!), @Mic92, @adisbladis, @ryantm and me are a bit more in the background.
Challenges: nothing immediate. At some point we should consider moving the updater bot into the NixOS org and make it official.
Upcoming projects: our next hardware upgrade is likely going to be GPU instances, so we can add CUDA integration tests.
Budget: Thanks to all the generous sponsors at Nix Community - Open Collective we are able to pay for the hardware. With more donations we can rent out more hardware.
We recently had a meeting after not having one for quiet some time. Minutes located here. With the recent departure of @garbas as team lead and a lack of meetings in the past several months we are resetting. We are going to determine ownership and roles. We did not come to hard decisions on roles and ownership in the past meeting; I am hopeful that we can next week.
People
@avocadoom has been doing an amazing job maintaining the website in the interim.
I know many other people have contributed the website. I’ve seen the PRs. Thank you!
@idabzo had been handling the socials but had to step away for personal reasons months ago. However, she may be able to return soon.
Blockers or Challenges
Other than what was mentioned in the status we need to refresh the contribution guide for the website. We need a good path for people to contribute successfully but also a painless way for maintainers to say “no” gracefully to suggestions or PRs that are out of or beyond the scope of what the team has planned. We have ideas. More updates to come soon.
Upcoming Topics or Projects
Will have a better idea after the next 1 or 2 meetings.
Budget Issues
We have well-established members of the marketing team that have been finding it more and more difficult to devote substantial amounts of time and have been experiencing burn out. It would be beneficial to the ongoing efforts of the team if we could fund 1-1.5 persons. I don’t have solid estimate of what that looks like in Euros but hopefully will have a good number after the next 1 to 2 meetings.
Other
Can we get a private matrix room for the marketing team?
Maintenance mode: we answer to pings @NixOS/documentation-team typically within 24-48h but currently don’t actively develop notable projects or systematically review PRs. New people interested in rebooting the team are welcome!
@hsjobeki wants to make moves towards common sense about content/markdown extensions across the ecosystem.
Nothing more concrete planned at the moment due to lack of time to commit for (even leading, and certainly implementing) larger projects, reflected in how long it took to write this update.