···11# Nixpkgs Maintainers
2233-The *Nixpkgs maintainers* are people who have assigned themselves to
44-maintain specific individual packages. We encourage people who care
55-about a package to assign themselves as a maintainer. When a pull
66-request is made against a package, OfBorg will notify the appropriate
77-maintainer(s).
33+Unlike other packaging ecosystems, the maintainer doesn't have exclusive
44+control over the packages and modules they maintain. This more fluid approach
55+is one reason why we scale to so many packages.
66+77+## Definition and role of the maintainer
88+99+The main responsibility of a maintainer is to keep the packages they maintain
1010+in a functioning state, and keep up with updates. In order to do that, they
1111+are empowered to make decisions over the packages they maintain.
1212+1313+That being said, the maintainer is not alone proposing changes to the
1414+packages. Anybody (both bots and humans) can send PRs to bump or tweak the
1515+package.
1616+1717+We also allow other non-maintainer committers to merge changes to the package,
1818+provided enough time and priority has been given to the maintainer.
1919+2020+For most packages, we expect committers to wait at least a week before merging
2121+changes not endorsed by a package maintainer (which may be themselves). This should leave enough time
2222+for the maintainers to provide feedback.
2323+2424+For critical packages, this convention needs to be negotiated with the
2525+maintainer. A critical package is one that causes mass-rebuild, or where an
2626+author is listed in the [`CODEOWNERS`](../.github/CODEOWNERS) file.
2727+2828+In case of critical security updates, the [security team](https://nixos.org/community/teams/security) might override these
2929+heuristics in order to get the fixes in as fast as possible.
3030+3131+In case of conflict, the maintainer takes priority and is allowed to revert
3232+the changes. This can happen for example if the maintainer was on holiday.
3333+3434+### How to become a maintainer
3535+3636+We encourage people who care about a package to assign themselves as a
3737+maintainer. Commit access to the Nixpkgs repository is not required for that.
3838+3939+In order to do so, add yourself to the
4040+[`maintainer-list.nix`](./maintainer-list.nix), and then to the desired
4141+package's `meta.maintainers` list, and send a PR with the changes.
4242+4343+### How to lose maintainer status
4444+4545+Maintainers who have become inactive on a given package can be removed. This
4646+helps us keep an accurate view of the state of maintenance in Nixpkgs.
4747+4848+The inactivity measure is currently not strictly enforced. We would typically
4949+look at it if we notice that the author hasn't reacted to package-related
5050+notifications for more than 3 months.
5151+5252+Removing the maintainer happens by making a PR on the package, adding that
5353+person as a reviewer, and then waiting a week for a reaction.
5454+5555+The maintainer is welcome to come back at any time.
5656+5757+### Tools for maintainers
5858+5959+When a pull request is made against a package, OfBorg will notify the
6060+appropriate maintainer(s).
861962## Reviewing contributions
1063
+2
nixos/doc/manual/release-notes/rl-2311.section.md
···221221222222- `services.prometheus.exporters` has a new [exporter](https://github.com/hipages/php-fpm_exporter) to monitor PHP-FPM processes, see [#240394](https://github.com/NixOS/nixpkgs/pull/240394) for more details.
223223224224+- `services.github-runner` / `services.github-runners.<name>` gained the option `nodeRuntimes`. The option defaults to `[ "node20" ]`, i.e., the service supports Node.js 20 GitHub Actions only. The list of Node.js versions accepted by `nodeRuntimes` tracks the versions the upstream GitHub Actions runner supports. See [#249103](https://github.com/NixOS/nixpkgs/pull/249103) for details.
225225+224226- `programs.gnupg.agent.pinentryFlavor` is now set in `/etc/gnupg/gpg-agent.conf`, and will no longer take precedence over a `pinentry-program` set in `~/.gnupg/gpg-agent.conf`.
225227226228- `services.influxdb2` now supports doing an automatic initial setup and provisioning of users, organizations, buckets and authentication tokens, see [#249502](https://github.com/NixOS/nixpkgs/pull/249502) for more details.
···1965196519661966 ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula";
19671967 dina-font-pcf = dina-font; # Added 2020-02-09
19681968- dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2"; # Added 2020-02-02
19681968+ dnscrypt-proxy2 = dnscrypt-proxy; # Added 2023-02-02
19691969 gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7";
19701970 gnatsd = nats-server; # Added 2019-10-28
19711971