Mass pings be gone, code owners for all (#347610)

Emily 27272c21 6422c786

Changed files
+407 -459
.github
ci
request-reviews
+2
.gitattributes
···
nixos/modules/module-list.nix merge=union
# pkgs/top-level/all-packages.nix merge=union
+
+
ci/OWNERS linguist-language=CODEOWNERS
+3 -390
.github/CODEOWNERS
···
-
# CODEOWNERS file
+
# Use ci/OWNERS instead
#
-
# This file is used to describe who owns what in this repository. This file does not
-
# replace `meta.maintainers` but is instead used for other things than derivations
-
# and modules, like documentation, package sets, and other assets.
-
#
-
# For documentation on this file, see https://help.github.com/articles/about-codeowners/
-
# Mentioned users will get code review requests.
-
#
-
# IMPORTANT NOTE: in order to actually get pinged, commit access is required.
-
# This also holds true for GitHub teams. Since almost none of our teams have write
-
# permissions, you need to list all members of the team with commit access individually.
-
-
# CI
-
/.github/workflows @NixOS/Security @Mic92 @zowoq
-
/.github/workflows/check-nix-format.yml @infinisil
-
/.github/workflows/nixpkgs-vet.yml @infinisil @philiptaron
-
/.github/workflows/codeowners.yml @infinisil
-
/.github/OWNERS @infinisil
-
/ci @infinisil @philiptaron @NixOS/Security
-
-
# Development support
-
/.editorconfig @Mic92 @zowoq
-
/shell.nix @infinisil @NixOS/Security
-
-
# Libraries
-
/lib @infinisil
-
/lib/systems @alyssais @ericson2314
-
/lib/generators.nix @infinisil @Profpatsch
-
/lib/cli.nix @infinisil @Profpatsch
-
/lib/debug.nix @infinisil @Profpatsch
-
/lib/asserts.nix @infinisil @Profpatsch
-
/lib/path/* @infinisil
-
/lib/fileset @infinisil
-
## Libraries / Module system
-
/lib/modules.nix @infinisil @roberth
-
/lib/types.nix @infinisil @roberth
-
/lib/options.nix @infinisil @roberth
-
/lib/tests/modules.sh @infinisil @roberth
-
/lib/tests/modules @infinisil @roberth
-
-
# Nixpkgs Internals
-
/default.nix @Ericson2314
-
/pkgs/top-level/default.nix @Ericson2314
-
/pkgs/top-level/impure.nix @Ericson2314
-
/pkgs/top-level/stage.nix @Ericson2314
-
/pkgs/top-level/splice.nix @Ericson2314
-
/pkgs/top-level/release-cross.nix @Ericson2314
-
/pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron
-
/pkgs/stdenv @philiptaron
-
/pkgs/stdenv/generic @Ericson2314
-
/pkgs/stdenv/generic/check-meta.nix @Ericson2314
-
/pkgs/stdenv/cross @Ericson2314
-
/pkgs/build-support @philiptaron
-
/pkgs/build-support/cc-wrapper @Ericson2314
-
/pkgs/build-support/bintools-wrapper @Ericson2314
-
/pkgs/build-support/setup-hooks @Ericson2314
-
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
-
/pkgs/build-support/setup-hooks/auto-patchelf.py @layus
-
/pkgs/pkgs-lib @infinisil
-
## Format generators/serializers
-
/pkgs/pkgs-lib/formats/libconfig @h7x4
-
/pkgs/pkgs-lib/formats/hocon @h7x4
-
-
# Nixpkgs build-support
-
/pkgs/build-support/writers @lassulus @Profpatsch
-
-
# Nixpkgs make-disk-image
-
/doc/build-helpers/images/makediskimage.section.md @raitobezarius
-
/nixos/lib/make-disk-image.nix @raitobezarius
-
-
# Nix, the package manager
-
# @raitobezarius is not "code owner", but is listed here to be notified of changes
-
# pertaining to the Nix package manager.
-
# i.e. no authority over those files.
-
pkgs/tools/package-management/nix/ @NixOS/nix-team @raitobezarius
-
nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobezarius
-
-
# Nixpkgs documentation
-
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
-
/maintainers/scripts/doc @jtojnar @ryantm
-
-
# Contributor documentation
-
/CONTRIBUTING.md @infinisil
-
/.github/PULL_REQUEST_TEMPLATE.md @infinisil
-
/doc/contributing/ @infinisil
-
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @infinisil
-
/lib/README.md @infinisil
-
/doc/README.md @infinisil
-
/nixos/README.md @infinisil
-
/pkgs/README.md @infinisil
-
/pkgs/by-name/README.md @infinisil
-
/maintainers/README.md @infinisil
-
-
# User-facing development documentation
-
/doc/development.md @infinisil
-
/doc/development @infinisil
-
-
# NixOS Internals
-
/nixos/default.nix @infinisil
-
/nixos/lib/from-env.nix @infinisil
-
/nixos/lib/eval-config.nix @infinisil
-
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
-
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
-
-
# NixOS integration test driver
-
/nixos/lib/test-driver @tfc
-
-
# NixOS QEMU virtualisation
-
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
-
-
# ACME
-
/nixos/modules/security/acme @arianvp @flokli @aanderse @emilazy # no merge permission: @m1cr0man
-
-
# Systemd
-
/nixos/modules/system/boot/systemd.nix @NixOS/systemd
-
/nixos/modules/system/boot/systemd @NixOS/systemd
-
/nixos/lib/systemd-*.nix @NixOS/systemd
-
/pkgs/os-specific/linux/systemd @NixOS/systemd
-
-
# Systemd-boot
-
/nixos/modules/system/boot/loader/systemd-boot @JulienMalka
-
-
# Images and installer media
-
/nixos/modules/profiles/installation-device.nix @ElvishJerricco
-
/nixos/modules/installer/cd-dvd/ @ElvishJerricco
-
/nixos/modules/installer/sd-card/
-
-
# Updaters
-
## update.nix
-
/maintainers/scripts/update.nix @jtojnar
-
/maintainers/scripts/update.py @jtojnar
-
## common-updater-scripts
-
/pkgs/common-updater/scripts/update-source-version @jtojnar
-
-
# Python-related code and docs
-
/doc/languages-frameworks/python.section.md @mweinelt @natsukium
-
/maintainers/scripts/update-python-libraries @natsukium
-
/pkgs/development/interpreters/python @natsukium
-
/pkgs/top-level/python-packages.nix @natsukium
-
/pkgs/top-level/release-python.nix @natsukium
-
-
# Haskell
-
/doc/languages-frameworks/haskell.section.md @sternenseemann @maralorn
-
/maintainers/scripts/haskell @sternenseemann @maralorn
-
/pkgs/development/compilers/ghc @sternenseemann @maralorn
-
/pkgs/development/haskell-modules @sternenseemann @maralorn
-
/pkgs/test/haskell @sternenseemann @maralorn
-
/pkgs/top-level/release-haskell.nix @sternenseemann @maralorn
-
/pkgs/top-level/haskell-packages.nix @sternenseemann @maralorn
-
-
# Perl
-
/pkgs/development/interpreters/perl @stigtsp @zakame @marcusramberg
-
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @marcusramberg
-
/pkgs/development/perl-modules @stigtsp @zakame @marcusramberg
-
-
# R
-
/pkgs/applications/science/math/R @jbedo
-
/pkgs/development/r-modules @jbedo
-
-
# Rust
-
/pkgs/development/compilers/rust @Mic92 @zowoq @winterqt @figsoda
-
/pkgs/build-support/rust @zowoq @winterqt @figsoda
-
/doc/languages-frameworks/rust.section.md @zowoq @winterqt @figsoda
-
-
# C compilers
-
/pkgs/development/compilers/gcc
-
/pkgs/development/compilers/llvm @alyssais @RossComputerGuy
-
/pkgs/development/compilers/emscripten @raitobezarius
-
/doc/languages-frameworks/emscripten.section.md @raitobezarius
-
-
# Audio
-
/nixos/modules/services/audio/botamusique.nix @mweinelt
-
/nixos/modules/services/audio/snapserver.nix @mweinelt
-
/nixos/tests/botamusique.nix @mweinelt
-
/nixos/tests/snapcast.nix @mweinelt
-
-
# Browsers
-
/pkgs/applications/networking/browsers/firefox @mweinelt
-
/pkgs/applications/networking/browsers/chromium @emilylange
-
/nixos/tests/chromium.nix @emilylange
-
-
# Certificate Authorities
-
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
-
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
-
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
-
-
# Jetbrains
-
/pkgs/applications/editors/jetbrains @edwtjo
-
-
# Licenses
-
/lib/licenses.nix @alyssais
-
-
# Qt
-
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
-
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000 @ttuegel
-
-
# KDE / Plasma 5
-
/pkgs/applications/kde @K900 @NickCao @SuperSandro2000 @ttuegel
-
/pkgs/desktops/plasma-5 @K900 @NickCao @SuperSandro2000 @ttuegel
-
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000 @ttuegel
-
-
# KDE / Plasma 6
-
/pkgs/kde @K900 @NickCao @SuperSandro2000 @ttuegel
-
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
-
-
# PostgreSQL and related stuff
-
/pkgs/servers/sql/postgresql @thoughtpolice
-
/nixos/modules/services/databases/postgresql.md @thoughtpolice
-
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
-
/nixos/tests/postgresql.nix @thoughtpolice
-
-
# Hardened profile & related modules
-
/nixos/modules/profiles/hardened.nix @joachifm
-
/nixos/modules/security/lock-kernel-modules.nix @joachifm
-
/nixos/modules/security/misc.nix @joachifm
-
/nixos/tests/hardened.nix @joachifm
-
/pkgs/os-specific/linux/kernel/hardened/config.nix @joachifm
-
-
# Home Automation
-
/nixos/modules/services/home-automation/home-assistant.nix @mweinelt
-
/nixos/modules/services/home-automation/zigbee2mqtt.nix @mweinelt
-
/nixos/tests/home-assistant.nix @mweinelt
-
/nixos/tests/zigbee2mqtt.nix @mweinelt
-
/pkgs/servers/home-assistant @mweinelt
-
/pkgs/tools/misc/esphome @mweinelt
-
-
# Network Time Daemons
-
/pkgs/tools/networking/chrony @thoughtpolice
-
/pkgs/tools/networking/ntp @thoughtpolice
-
/pkgs/tools/networking/openntpd @thoughtpolice
-
/nixos/modules/services/networking/ntp @thoughtpolice
-
-
# Network
-
/pkgs/tools/networking/kea/default.nix @mweinelt
-
/pkgs/tools/networking/babeld/default.nix @mweinelt
-
/nixos/modules/services/networking/babeld.nix @mweinelt
-
/nixos/modules/services/networking/kea.nix @mweinelt
-
/nixos/modules/services/networking/knot.nix @mweinelt
-
/nixos/modules/services/monitoring/prometheus/exporters/kea.nix @mweinelt
-
/nixos/tests/babeld.nix @mweinelt
-
/nixos/tests/kea.nix @mweinelt
-
/nixos/tests/knot.nix @mweinelt
-
-
# Web servers
-
/doc/packages/nginx.section.md @raitobezarius
-
/pkgs/servers/http/nginx/ @raitobezarius
-
/nixos/modules/services/web-servers/nginx/ @raitobezarius
-
-
# Dhall
-
/pkgs/development/dhall-modules @Gabriella439 @Profpatsch @ehmry
-
/pkgs/development/interpreters/dhall @Gabriella439 @Profpatsch @ehmry
-
-
# Idris
-
/pkgs/development/idris-modules @Infinisil
-
/pkgs/development/compilers/idris2 @mattpolzin
-
-
# Bazel
-
/pkgs/development/tools/build-managers/bazel @Profpatsch
-
-
# NixOS modules for e-mail and dns services
-
/nixos/modules/services/mail/mailman.nix @peti
-
/nixos/modules/services/mail/postfix.nix @peti
-
/nixos/modules/services/networking/bind.nix @peti
-
/nixos/modules/services/mail/rspamd.nix @peti
-
-
# Emacs
-
/pkgs/applications/editors/emacs/elisp-packages @adisbladis
-
/pkgs/applications/editors/emacs @adisbladis
-
/pkgs/top-level/emacs-packages.nix @adisbladis
-
-
# Kakoune
-
/pkgs/applications/editors/kakoune @philiptaron
-
-
# Neovim
-
/pkgs/applications/editors/neovim @figsoda @teto
-
-
# VimPlugins
-
/pkgs/applications/editors/vim/plugins @figsoda
-
-
# VsCode Extensions
-
/pkgs/applications/editors/vscode/extensions
-
-
# PHP interpreter, packages, extensions, tests and documentation
-
/doc/languages-frameworks/php.section.md @aanderse @drupol @globin @ma27 @talyz
-
/nixos/tests/php @aanderse @drupol @globin @ma27 @talyz
-
/pkgs/build-support/php/build-pecl.nix @aanderse @drupol @globin @ma27 @talyz
-
/pkgs/build-support/php @drupol
-
/pkgs/development/interpreters/php @jtojnar @aanderse @drupol @globin @ma27 @talyz
-
/pkgs/development/php-packages @aanderse @drupol @globin @ma27 @talyz
-
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @globin @ma27 @talyz
-
-
# Docker tools
-
/pkgs/build-support/docker @roberth
-
/nixos/tests/docker-tools* @roberth
-
/doc/build-helpers/images/dockertools.section.md @roberth
-
-
# Blockchains
-
/pkgs/applications/blockchains @mmahut @RaghavSood
-
-
# Go
-
/doc/languages-frameworks/go.section.md @kalbasit @katexochen @Mic92 @zowoq
-
/pkgs/build-support/go @kalbasit @katexochen @Mic92 @zowoq
-
/pkgs/development/compilers/go @kalbasit @katexochen @Mic92 @zowoq
-
-
# GNOME
-
/pkgs/desktops/gnome @jtojnar
-
/pkgs/desktops/gnome/extensions @jtojnar
-
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
-
-
# Cinnamon
-
/pkgs/by-name/ci/cinnamon-* @mkg20001
-
/pkgs/by-name/cj/cjs @mkg20001
-
/pkgs/by-name/mu/muffin @mkg20001
-
/pkgs/by-name/ne/nemo @mkg20001
-
/pkgs/by-name/ne/nemo-* @mkg20001
-
-
# nim
-
/pkgs/development/compilers/nim @ehmry
-
-
# terraform providers
-
/pkgs/applications/networking/cluster/terraform-providers @zowoq
-
-
# Forgejo
-
nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
-
pkgs/by-name/fo/forgejo/ @adamcstephens @bendlas @emilylange
-
-
# Dotnet
-
/pkgs/build-support/dotnet @corngood
-
/pkgs/development/compilers/dotnet @corngood
-
/pkgs/test/dotnet @corngood
-
/doc/languages-frameworks/dotnet.section.md @corngood
-
-
# Node.js
-
/pkgs/build-support/node/build-npm-package @winterqt
-
/pkgs/build-support/node/fetch-npm-deps @winterqt
-
/doc/languages-frameworks/javascript.section.md @winterqt
-
-
# OCaml
-
/pkgs/build-support/ocaml @ulrikstrid
-
/pkgs/development/compilers/ocaml @ulrikstrid
-
/pkgs/development/ocaml-modules @ulrikstrid
-
-
# ZFS
-
pkgs/os-specific/linux/zfs/2_1.nix @raitobezarius
-
pkgs/os-specific/linux/zfs/generic.nix @raitobezarius
-
nixos/modules/tasks/filesystems/zfs.nix @raitobezarius
-
nixos/tests/zfs.nix @raitobezarius
-
-
# Zig
-
/pkgs/development/compilers/zig @figsoda
-
/doc/hooks/zig.section.md @figsoda
-
-
# Buildbot
-
nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq
-
nixos/tests/buildbot.nix @Mic92 @zowoq
-
pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq
-
-
# Pretix
-
pkgs/by-name/pr/pretix/ @mweinelt
-
pkgs/by-name/pr/pretalx/ @mweinelt
-
nixos/modules/services/web-apps/pretix.nix @mweinelt
-
nixos/modules/services/web-apps/pretalx.nix @mweinelt
-
nixos/tests/web-apps/pretix.nix @mweinelt
-
nixos/tests/web-apps/pretalx.nix @mweinelt
-
-
# incus/lxc
-
nixos/maintainers/scripts/incus/ @adamcstephens
-
nixos/modules/virtualisation/incus.nix @adamcstephens
-
nixos/modules/virtualisation/lxc* @adamcstephens
-
nixos/tests/incus/ @adamcstephens
-
pkgs/by-name/in/incus/ @adamcstephens
-
pkgs/by-name/lx/lxc* @adamcstephens
-
-
# ExpidusOS, Flutter
-
/pkgs/development/compilers/flutter @RossComputerGuy
-
/pkgs/desktops/expidus @RossComputerGuy
-
-
# GNU Tar & Zip
-
/pkgs/tools/archivers/gnutar @RossComputerGuy
-
/pkgs/tools/archivers/zip @RossComputerGuy
-
-
# SELinux
-
/pkgs/os-specific/linux/checkpolicy @RossComputerGuy
-
/pkgs/os-specific/linux/libselinux @RossComputerGuy
-
/pkgs/os-specific/linux/libsepol @RossComputerGuy
-
-
# installShellFiles
-
/pkgs/by-name/in/installShellFiles/* @Ericson2314
-
/pkgs/test/install-shell-files/* @Ericson2314
-
/doc/hooks/installShellFiles.section.md @Ericson2314
+
# This file would be for the native code owner feature of GitHub,
+
# but is not being used because of its problems, see ci/OWNERS
-19
.github/OWNERS
···
-
#
-
# Currently unused! Use CODEOWNERS for now, see workflows/codeowners.yml
-
#
-
####################
-
#
-
# This file is used to describe who owns what in this repository.
-
# Users/teams will get review requests for PRs that change their files.
-
#
-
# This file does not replace `meta.maintainers`
-
# but is instead used for other things than derivations and modules,
-
# like documentation, package sets, and other assets.
-
#
-
# This file uses the same syntax as the natively supported CODEOWNERS file,
-
# see https://help.github.com/articles/about-codeowners/ for documentation.
-
# However it comes with some notable differences:
-
# - There is no need for user/team listed here to have write access.
-
# - No reviews will be requested for PRs that target the wrong base branch.
-
#
-
# Processing of this file is implemented in workflows/codeowners.yml
+3 -8
.github/workflows/codeowners.yml
···
types: [opened, ready_for_review, synchronize, reopened, edited]
env:
-
# TODO: Once confirmed that this works by seeing that the action would request
-
# reviews from the same people (or refuse for wrong base branches),
-
# move all entries from CODEOWNERS to OWNERS, remove these two lines and uncomment the ones below
-
OWNERS_FILE: .github/CODEOWNERS
-
DRY_MODE: 1
-
# OWNERS_FILE: .github/OWNERS
-
# # Don't do anything on draft PRs
-
# DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }}
+
OWNERS_FILE: ci/OWNERS
+
# Don't do anything on draft PRs
+
DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }}
jobs:
# Check that code owners is valid
+3 -40
CONTRIBUTING.md
···
[rebase]: #rebasing-between-branches-ie-from-master-to-staging
From time to time, changes between branches must be rebased, for example, if the
-
number of new rebuilds they would cause is too large for the target branch. When
-
rebasing, care must be taken to include only the intended changes, otherwise
-
many CODEOWNERS will be inadvertently requested for review. To achieve this,
-
rebasing should not be performed directly on the target branch, but on the merge
-
base between the current and target branch. As an additional precautionary measure,
-
you should temporarily mark the PR as draft for the duration of the operation.
-
This reduces the probability of mass-pinging people. (OfBorg might still
-
request a couple of persons for reviews though.)
+
number of new rebuilds they would cause is too large for the target branch.
In the following example, we assume that the current branch, called `feature`,
is based on `master`, and we rebase it onto the merge base between
-
`master` and `staging` so that the PR can eventually be retargeted to
-
`staging` without causing a mess. The example uses `upstream` as the remote for `NixOS/nixpkgs.git`
+
`master` and `staging` so that the PR can be retargeted to
+
`staging`. The example uses `upstream` as the remote for `NixOS/nixpkgs.git`
while `origin` is the remote you are pushing to.
···
git status
# Force push your changes
git push origin feature --force-with-lease
-
```
-
-
#### Something went wrong and a lot of people were pinged
-
-
It happens. Remember to be kind, especially to new contributors.
-
There is no way back, so the pull request should be closed and locked
-
(if possible). The changes should be re-submitted in a new PR, in which the people
-
originally involved in the conversation need to manually be pinged again.
-
No further discussion should happen on the original PR, as a lot of people
-
are now subscribed to it.
-
-
The following message (or a version thereof) might be left when closing to
-
describe the situation, since closing and locking without any explanation
-
is kind of rude:
-
-
```markdown
-
It looks like you accidentally mass-pinged a bunch of people, which are now subscribed
-
and getting notifications for everything in this pull request. Unfortunately, they
-
cannot be automatically unsubscribed from the issue (removing review request does not
-
unsubscribe), therefore development cannot continue in this pull request anymore.
-
-
Please open a new pull request with your changes, link back to this one and ping the
-
people actually involved in here over there.
-
-
In order to avoid this in the future, there are instructions for how to properly
-
rebase between branches in our [contribution guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging).
-
Setting your pull request to draft prior to rebasing is strongly recommended.
-
In draft status, you can preview the list of people that are about to be requested
-
for review, which allows you to sidestep this issue.
-
This is not a bulletproof method though, as OfBorg still does review requests even on draft PRs.
```
## How to backport pull requests
+393
ci/OWNERS
···
+
# This file is used to describe who owns what in this repository.
+
# Users/teams will get review requests for PRs that change their files.
+
#
+
# This file does not replace `meta.maintainers`
+
# but is instead used for other things than derivations and modules,
+
# like documentation, package sets, and other assets.
+
#
+
# This file uses the same syntax as the natively supported CODEOWNERS file,
+
# see https://help.github.com/articles/about-codeowners/ for documentation.
+
# However it comes with some notable differences:
+
# - There is no need for user/team listed here to have write access.
+
# - No reviews will be requested for PRs that target the wrong base branch.
+
#
+
# Processing of this file is implemented in workflows/codeowners.yml
+
+
# CI
+
/.github/workflows @NixOS/Security @Mic92 @zowoq
+
/.github/workflows/check-nix-format.yml @infinisil
+
/.github/workflows/nixpkgs-vet.yml @infinisil @philiptaron
+
/.github/workflows/codeowners.yml @infinisil
+
/ci/OWNERS @infinisil
+
/ci @infinisil @philiptaron @NixOS/Security
+
+
# Development support
+
/.editorconfig @Mic92 @zowoq
+
/shell.nix @infinisil @NixOS/Security
+
+
# Libraries
+
/lib @infinisil
+
/lib/systems @alyssais @ericson2314
+
/lib/generators.nix @infinisil @Profpatsch
+
/lib/cli.nix @infinisil @Profpatsch
+
/lib/debug.nix @infinisil @Profpatsch
+
/lib/asserts.nix @infinisil @Profpatsch
+
/lib/path/* @infinisil
+
/lib/fileset @infinisil
+
## Libraries / Module system
+
/lib/modules.nix @infinisil @roberth
+
/lib/types.nix @infinisil @roberth
+
/lib/options.nix @infinisil @roberth
+
/lib/tests/modules.sh @infinisil @roberth
+
/lib/tests/modules @infinisil @roberth
+
+
# Nixpkgs Internals
+
/default.nix @Ericson2314
+
/pkgs/top-level/default.nix @Ericson2314
+
/pkgs/top-level/impure.nix @Ericson2314
+
/pkgs/top-level/stage.nix @Ericson2314
+
/pkgs/top-level/splice.nix @Ericson2314
+
/pkgs/top-level/release-cross.nix @Ericson2314
+
/pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron
+
/pkgs/stdenv @philiptaron
+
/pkgs/stdenv/generic @Ericson2314
+
/pkgs/stdenv/generic/check-meta.nix @Ericson2314
+
/pkgs/stdenv/cross @Ericson2314
+
/pkgs/build-support @philiptaron
+
/pkgs/build-support/cc-wrapper @Ericson2314
+
/pkgs/build-support/bintools-wrapper @Ericson2314
+
/pkgs/build-support/setup-hooks @Ericson2314
+
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
+
/pkgs/build-support/setup-hooks/auto-patchelf.py @layus
+
/pkgs/pkgs-lib @infinisil
+
## Format generators/serializers
+
/pkgs/pkgs-lib/formats/libconfig @h7x4
+
/pkgs/pkgs-lib/formats/hocon @h7x4
+
+
# Nixpkgs build-support
+
/pkgs/build-support/writers @lassulus @Profpatsch
+
+
# Nixpkgs make-disk-image
+
/doc/build-helpers/images/makediskimage.section.md @raitobezarius
+
/nixos/lib/make-disk-image.nix @raitobezarius
+
+
# Nix, the package manager
+
# @raitobezarius is not "code owner", but is listed here to be notified of changes
+
# pertaining to the Nix package manager.
+
# i.e. no authority over those files.
+
pkgs/tools/package-management/nix/ @NixOS/nix-team @raitobezarius
+
nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobezarius
+
+
# Nixpkgs documentation
+
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm
+
/maintainers/scripts/doc @jtojnar @ryantm
+
+
# Contributor documentation
+
/CONTRIBUTING.md @infinisil
+
/.github/PULL_REQUEST_TEMPLATE.md @infinisil
+
/doc/contributing/ @infinisil
+
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @infinisil
+
/lib/README.md @infinisil
+
/doc/README.md @infinisil
+
/nixos/README.md @infinisil
+
/pkgs/README.md @infinisil
+
/pkgs/by-name/README.md @infinisil
+
/maintainers/README.md @infinisil
+
+
# User-facing development documentation
+
/doc/development.md @infinisil
+
/doc/development @infinisil
+
+
# NixOS Internals
+
/nixos/default.nix @infinisil
+
/nixos/lib/from-env.nix @infinisil
+
/nixos/lib/eval-config.nix @infinisil
+
/nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius
+
/nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius
+
+
# NixOS integration test driver
+
/nixos/lib/test-driver @tfc
+
+
# NixOS QEMU virtualisation
+
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
+
+
# ACME
+
/nixos/modules/security/acme @arianvp @flokli @aanderse @emilazy # no merge permission: @m1cr0man
+
+
# Systemd
+
/nixos/modules/system/boot/systemd.nix @NixOS/systemd
+
/nixos/modules/system/boot/systemd @NixOS/systemd
+
/nixos/lib/systemd-*.nix @NixOS/systemd
+
/pkgs/os-specific/linux/systemd @NixOS/systemd
+
+
# Systemd-boot
+
/nixos/modules/system/boot/loader/systemd-boot @JulienMalka
+
+
# Images and installer media
+
/nixos/modules/profiles/installation-device.nix @ElvishJerricco
+
/nixos/modules/installer/cd-dvd/ @ElvishJerricco
+
/nixos/modules/installer/sd-card/
+
+
# Updaters
+
## update.nix
+
/maintainers/scripts/update.nix @jtojnar
+
/maintainers/scripts/update.py @jtojnar
+
## common-updater-scripts
+
/pkgs/common-updater/scripts/update-source-version @jtojnar
+
+
# Python-related code and docs
+
/doc/languages-frameworks/python.section.md @mweinelt @natsukium
+
/maintainers/scripts/update-python-libraries @natsukium
+
/pkgs/development/interpreters/python @natsukium
+
/pkgs/top-level/python-packages.nix @natsukium
+
/pkgs/top-level/release-python.nix @natsukium
+
+
# Haskell
+
/doc/languages-frameworks/haskell.section.md @sternenseemann @maralorn
+
/maintainers/scripts/haskell @sternenseemann @maralorn
+
/pkgs/development/compilers/ghc @sternenseemann @maralorn
+
/pkgs/development/haskell-modules @sternenseemann @maralorn
+
/pkgs/test/haskell @sternenseemann @maralorn
+
/pkgs/top-level/release-haskell.nix @sternenseemann @maralorn
+
/pkgs/top-level/haskell-packages.nix @sternenseemann @maralorn
+
+
# Perl
+
/pkgs/development/interpreters/perl @stigtsp @zakame @marcusramberg
+
/pkgs/top-level/perl-packages.nix @stigtsp @zakame @marcusramberg
+
/pkgs/development/perl-modules @stigtsp @zakame @marcusramberg
+
+
# R
+
/pkgs/applications/science/math/R @jbedo
+
/pkgs/development/r-modules @jbedo
+
+
# Rust
+
/pkgs/development/compilers/rust @Mic92 @zowoq @winterqt @figsoda
+
/pkgs/build-support/rust @zowoq @winterqt @figsoda
+
/doc/languages-frameworks/rust.section.md @zowoq @winterqt @figsoda
+
+
# C compilers
+
/pkgs/development/compilers/gcc
+
/pkgs/development/compilers/llvm @alyssais @RossComputerGuy
+
/pkgs/development/compilers/emscripten @raitobezarius
+
/doc/languages-frameworks/emscripten.section.md @raitobezarius
+
+
# Audio
+
/nixos/modules/services/audio/botamusique.nix @mweinelt
+
/nixos/modules/services/audio/snapserver.nix @mweinelt
+
/nixos/tests/botamusique.nix @mweinelt
+
/nixos/tests/snapcast.nix @mweinelt
+
+
# Browsers
+
/pkgs/applications/networking/browsers/firefox @mweinelt
+
/pkgs/applications/networking/browsers/chromium @emilylange
+
/nixos/tests/chromium.nix @emilylange
+
+
# Certificate Authorities
+
pkgs/data/misc/cacert/ @ajs124 @lukegb @mweinelt
+
pkgs/development/libraries/nss/ @ajs124 @lukegb @mweinelt
+
pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
+
+
# Jetbrains
+
/pkgs/applications/editors/jetbrains @edwtjo
+
+
# Licenses
+
/lib/licenses.nix @alyssais
+
+
# Qt
+
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
+
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000 @ttuegel
+
+
# KDE / Plasma 5
+
/pkgs/applications/kde @K900 @NickCao @SuperSandro2000 @ttuegel
+
/pkgs/desktops/plasma-5 @K900 @NickCao @SuperSandro2000 @ttuegel
+
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000 @ttuegel
+
+
# KDE / Plasma 6
+
/pkgs/kde @K900 @NickCao @SuperSandro2000 @ttuegel
+
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
+
+
# PostgreSQL and related stuff
+
/pkgs/servers/sql/postgresql @thoughtpolice
+
/nixos/modules/services/databases/postgresql.md @thoughtpolice
+
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
+
/nixos/tests/postgresql.nix @thoughtpolice
+
+
# Hardened profile & related modules
+
/nixos/modules/profiles/hardened.nix @joachifm
+
/nixos/modules/security/lock-kernel-modules.nix @joachifm
+
/nixos/modules/security/misc.nix @joachifm
+
/nixos/tests/hardened.nix @joachifm
+
/pkgs/os-specific/linux/kernel/hardened/config.nix @joachifm
+
+
# Home Automation
+
/nixos/modules/services/home-automation/home-assistant.nix @mweinelt
+
/nixos/modules/services/home-automation/zigbee2mqtt.nix @mweinelt
+
/nixos/tests/home-assistant.nix @mweinelt
+
/nixos/tests/zigbee2mqtt.nix @mweinelt
+
/pkgs/servers/home-assistant @mweinelt
+
/pkgs/tools/misc/esphome @mweinelt
+
+
# Network Time Daemons
+
/pkgs/tools/networking/chrony @thoughtpolice
+
/pkgs/tools/networking/ntp @thoughtpolice
+
/pkgs/tools/networking/openntpd @thoughtpolice
+
/nixos/modules/services/networking/ntp @thoughtpolice
+
+
# Network
+
/pkgs/tools/networking/kea/default.nix @mweinelt
+
/pkgs/tools/networking/babeld/default.nix @mweinelt
+
/nixos/modules/services/networking/babeld.nix @mweinelt
+
/nixos/modules/services/networking/kea.nix @mweinelt
+
/nixos/modules/services/networking/knot.nix @mweinelt
+
/nixos/modules/services/monitoring/prometheus/exporters/kea.nix @mweinelt
+
/nixos/tests/babeld.nix @mweinelt
+
/nixos/tests/kea.nix @mweinelt
+
/nixos/tests/knot.nix @mweinelt
+
+
# Web servers
+
/doc/packages/nginx.section.md @raitobezarius
+
/pkgs/servers/http/nginx/ @raitobezarius
+
/nixos/modules/services/web-servers/nginx/ @raitobezarius
+
+
# Dhall
+
/pkgs/development/dhall-modules @Gabriella439 @Profpatsch @ehmry
+
/pkgs/development/interpreters/dhall @Gabriella439 @Profpatsch @ehmry
+
+
# Idris
+
/pkgs/development/idris-modules @Infinisil
+
/pkgs/development/compilers/idris2 @mattpolzin
+
+
# Bazel
+
/pkgs/development/tools/build-managers/bazel @Profpatsch
+
+
# NixOS modules for e-mail and dns services
+
/nixos/modules/services/mail/mailman.nix @peti
+
/nixos/modules/services/mail/postfix.nix @peti
+
/nixos/modules/services/networking/bind.nix @peti
+
/nixos/modules/services/mail/rspamd.nix @peti
+
+
# Emacs
+
/pkgs/applications/editors/emacs/elisp-packages @adisbladis
+
/pkgs/applications/editors/emacs @adisbladis
+
/pkgs/top-level/emacs-packages.nix @adisbladis
+
+
# Kakoune
+
/pkgs/applications/editors/kakoune @philiptaron
+
+
# Neovim
+
/pkgs/applications/editors/neovim @figsoda @teto
+
+
# VimPlugins
+
/pkgs/applications/editors/vim/plugins @figsoda
+
+
# VsCode Extensions
+
/pkgs/applications/editors/vscode/extensions
+
+
# PHP interpreter, packages, extensions, tests and documentation
+
/doc/languages-frameworks/php.section.md @aanderse @drupol @globin @ma27 @talyz
+
/nixos/tests/php @aanderse @drupol @globin @ma27 @talyz
+
/pkgs/build-support/php/build-pecl.nix @aanderse @drupol @globin @ma27 @talyz
+
/pkgs/build-support/php @drupol
+
/pkgs/development/interpreters/php @jtojnar @aanderse @drupol @globin @ma27 @talyz
+
/pkgs/development/php-packages @aanderse @drupol @globin @ma27 @talyz
+
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @globin @ma27 @talyz
+
+
# Docker tools
+
/pkgs/build-support/docker @roberth
+
/nixos/tests/docker-tools* @roberth
+
/doc/build-helpers/images/dockertools.section.md @roberth
+
+
# Blockchains
+
/pkgs/applications/blockchains @mmahut @RaghavSood
+
+
# Go
+
/doc/languages-frameworks/go.section.md @kalbasit @katexochen @Mic92 @zowoq
+
/pkgs/build-support/go @kalbasit @katexochen @Mic92 @zowoq
+
/pkgs/development/compilers/go @kalbasit @katexochen @Mic92 @zowoq
+
+
# GNOME
+
/pkgs/desktops/gnome @jtojnar
+
/pkgs/desktops/gnome/extensions @jtojnar
+
/pkgs/build-support/make-hardcode-gsettings-patch @jtojnar
+
+
# Cinnamon
+
/pkgs/by-name/ci/cinnamon-* @mkg20001
+
/pkgs/by-name/cj/cjs @mkg20001
+
/pkgs/by-name/mu/muffin @mkg20001
+
/pkgs/by-name/ne/nemo @mkg20001
+
/pkgs/by-name/ne/nemo-* @mkg20001
+
+
# nim
+
/pkgs/development/compilers/nim @ehmry
+
+
# terraform providers
+
/pkgs/applications/networking/cluster/terraform-providers @zowoq
+
+
# Forgejo
+
nixos/modules/services/misc/forgejo.nix @adamcstephens @bendlas @emilylange
+
pkgs/by-name/fo/forgejo/ @adamcstephens @bendlas @emilylange
+
+
# Dotnet
+
/pkgs/build-support/dotnet @corngood
+
/pkgs/development/compilers/dotnet @corngood
+
/pkgs/test/dotnet @corngood
+
/doc/languages-frameworks/dotnet.section.md @corngood
+
+
# Node.js
+
/pkgs/build-support/node/build-npm-package @winterqt
+
/pkgs/build-support/node/fetch-npm-deps @winterqt
+
/doc/languages-frameworks/javascript.section.md @winterqt
+
+
# OCaml
+
/pkgs/build-support/ocaml @ulrikstrid
+
/pkgs/development/compilers/ocaml @ulrikstrid
+
/pkgs/development/ocaml-modules @ulrikstrid
+
+
# ZFS
+
pkgs/os-specific/linux/zfs/2_1.nix @raitobezarius
+
pkgs/os-specific/linux/zfs/generic.nix @raitobezarius
+
nixos/modules/tasks/filesystems/zfs.nix @raitobezarius
+
nixos/tests/zfs.nix @raitobezarius
+
+
# Zig
+
/pkgs/development/compilers/zig @figsoda
+
/doc/hooks/zig.section.md @figsoda
+
+
# Buildbot
+
nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq
+
nixos/tests/buildbot.nix @Mic92 @zowoq
+
pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq
+
+
# Pretix
+
pkgs/by-name/pr/pretix/ @mweinelt
+
pkgs/by-name/pr/pretalx/ @mweinelt
+
nixos/modules/services/web-apps/pretix.nix @mweinelt
+
nixos/modules/services/web-apps/pretalx.nix @mweinelt
+
nixos/tests/web-apps/pretix.nix @mweinelt
+
nixos/tests/web-apps/pretalx.nix @mweinelt
+
+
# incus/lxc
+
nixos/maintainers/scripts/incus/ @adamcstephens
+
nixos/modules/virtualisation/incus.nix @adamcstephens
+
nixos/modules/virtualisation/lxc* @adamcstephens
+
nixos/tests/incus/ @adamcstephens
+
pkgs/by-name/in/incus/ @adamcstephens
+
pkgs/by-name/lx/lxc* @adamcstephens
+
+
# ExpidusOS, Flutter
+
/pkgs/development/compilers/flutter @RossComputerGuy
+
/pkgs/desktops/expidus @RossComputerGuy
+
+
# GNU Tar & Zip
+
/pkgs/tools/archivers/gnutar @RossComputerGuy
+
/pkgs/tools/archivers/zip @RossComputerGuy
+
+
# SELinux
+
/pkgs/os-specific/linux/checkpolicy @RossComputerGuy
+
/pkgs/os-specific/linux/libselinux @RossComputerGuy
+
/pkgs/os-specific/linux/libsepol @RossComputerGuy
+
+
# installShellFiles
+
/pkgs/by-name/in/installShellFiles/* @Ericson2314
+
/pkgs/test/install-shell-files/* @Ericson2314
+
/doc/hooks/installShellFiles.section.md @Ericson2314
+3 -2
ci/request-reviews/verify-base-branch.sh
···
log -e "\e[33m"
echo "The PR's base branch is set to $baseBranch, but $extraCommits commits from the $testBranch branch are included. Make sure you know the [right base branch for your changes](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#branch-conventions), then:"
echo "- If the changes should go to the $testBranch branch, [change the base branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request) to $testBranch"
-
echo "- If the changes should go to the $baseBranch branch, rebase your PR onto the merge base with the $testBranch branch:"
-
echo " \`\`\`"
+
echo "- If the changes should go to the $baseBranch branch, rebase your PR onto the merge base with the $baseBranch branch:"
+
echo " \`\`\`bash"
+
echo " # git rebase --onto \$(git merge-base upstream/$baseBranch HEAD) \$(git merge-base upstream/$testBranch HEAD)"
echo " git rebase --onto $prMergeBase $testMergeBase"
echo " git push --force-with-lease"
echo " \`\`\`"