# CODEOWNERS file
#
# 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.

# This file
/.github/CODEOWNERS @edolstra

# GitHub actions
/.github/workflows @NixOS/Security @Mic92 @zowoq
/.github/workflows/merge-staging @FRidh

# EditorConfig
/.editorconfig @Mic92 @zowoq

# Libraries
/lib                        @edolstra @nbp @infinisil
/lib/systems                @nbp @ericson2314 @matthewbauer
/lib/generators.nix         @edolstra @nbp @Profpatsch
/lib/cli.nix                @edolstra @nbp @Profpatsch
/lib/debug.nix              @edolstra @nbp @Profpatsch
/lib/asserts.nix            @edolstra @nbp @Profpatsch

# Nixpkgs Internals
/default.nix                                     @nbp
/pkgs/top-level/default.nix                      @nbp @Ericson2314
/pkgs/top-level/impure.nix                       @nbp @Ericson2314
/pkgs/top-level/stage.nix                        @nbp @Ericson2314 @matthewbauer
/pkgs/top-level/splice.nix                       @Ericson2314 @matthewbauer
/pkgs/top-level/release-cross.nix                @Ericson2314 @matthewbauer
/pkgs/stdenv/generic                             @Ericson2314 @matthewbauer
/pkgs/stdenv/cross                               @Ericson2314 @matthewbauer
/pkgs/build-support/cc-wrapper                   @Ericson2314 @orivej
/pkgs/build-support/bintools-wrapper             @Ericson2314 @orivej
/pkgs/build-support/setup-hooks                  @Ericson2314
/pkgs/build-support/setup-hooks/auto-patchelf.sh @aszlig

# Nixpkgs build-support
/pkgs/build-support/writers @lassulus @Profpatsch

# NixOS Internals
/nixos/default.nix          @nbp @infinisil
/nixos/lib/from-env.nix     @nbp @infinisil
/nixos/lib/eval-config.nix  @nbp @infinisil
/nixos/doc/manual/configuration/abstractions.xml      @nbp
/nixos/doc/manual/configuration/config-file.xml       @nbp
/nixos/doc/manual/configuration/config-syntax.xml     @nbp
/nixos/doc/manual/configuration/modularity.xml        @nbp
/nixos/doc/manual/development/assertions.xml          @nbp
/nixos/doc/manual/development/meta-attributes.xml     @nbp
/nixos/doc/manual/development/option-declarations.xml @nbp
/nixos/doc/manual/development/option-def.xml          @nbp
/nixos/doc/manual/development/option-types.xml        @nbp
/nixos/doc/manual/development/replace-modules.xml     @nbp
/nixos/doc/manual/development/writing-modules.xml     @nbp
/nixos/doc/manual/man-nixos-option.xml                @nbp
/nixos/modules/installer/tools/nixos-option.sh        @nbp

# NixOS integration test driver
/nixos/lib/test-driver  @tfc

# 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
/maintainers/scripts/update-python-libraries	              @FRidh
/pkgs/top-level/python-packages.nix                         @FRidh @jonringer
/pkgs/development/interpreters/python                       @FRidh
/pkgs/development/python-modules                            @FRidh @jonringer
/doc/languages-frameworks/python.section.md                 @FRidh
/pkgs/development/tools/poetry2nix                          @adisbladis
/pkgs/development/interpreters/python/hooks                 @FRidh @jonringer @DavHau
/pkgs/development/interpreters/python/conda                 @DavHau

# Haskell
/doc/languages-frameworks/haskell.section.md  @cdepillabout @sternenseemann @maralorn @expipiplus1
/maintainers/scripts/haskell                  @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/development/compilers/ghc               @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/development/haskell-modules             @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/test/haskell                            @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/top-level/release-haskell.nix           @cdepillabout @sternenseemann @maralorn @expipiplus1
/pkgs/top-level/haskell-packages.nix          @cdepillabout @sternenseemann @maralorn @expipiplus1

# Perl
/pkgs/development/interpreters/perl @volth @stigtsp
/pkgs/top-level/perl-packages.nix   @volth @stigtsp
/pkgs/development/perl-modules      @volth @stigtsp

# R
/pkgs/applications/science/math/R   @jbedo @bcdarwin
/pkgs/development/r-modules         @jbedo @bcdarwin

# Ruby
/pkgs/development/interpreters/ruby @marsam
/pkgs/development/ruby-modules      @marsam

# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
/pkgs/build-support/rust @andir @danieldk @zowoq

# Darwin-related
/pkgs/stdenv/darwin         @NixOS/darwin-maintainers
/pkgs/os-specific/darwin    @NixOS/darwin-maintainers

# C compilers
/pkgs/development/compilers/gcc @matthewbauer
/pkgs/development/compilers/llvm @matthewbauer

# Compatibility stuff
/pkgs/top-level/unix-tools.nix @matthewbauer
/pkgs/development/tools/xcbuild @matthewbauer

# Beam-related (Erlang, Elixir, LFE, etc)
/pkgs/development/beam-modules                  @gleber
/pkgs/development/interpreters/erlang           @gleber
/pkgs/development/interpreters/lfe              @gleber
/pkgs/development/interpreters/elixir           @gleber
/pkgs/development/tools/build-managers/rebar    @gleber
/pkgs/development/tools/build-managers/rebar3   @gleber
/pkgs/development/tools/erlang                  @gleber

# Jetbrains
/pkgs/applications/editors/jetbrains @edwtjo

# Licenses
/lib/licenses.nix @alyssais

# Qt / KDE
/pkgs/applications/kde @ttuegel
/pkgs/desktops/plasma-5 @ttuegel
/pkgs/development/libraries/kde-frameworks @ttuegel
/pkgs/development/libraries/qt-5 @ttuegel

# PostgreSQL and related stuff
/pkgs/servers/sql/postgresql @thoughtpolice @marsam
/nixos/modules/services/databases/postgresql.xml @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/hidepid.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

# Network Time Daemons
/pkgs/tools/networking/chrony @thoughtpolice
/pkgs/tools/networking/ntp @thoughtpolice
/pkgs/tools/networking/openntpd @thoughtpolice
/nixos/modules/services/networking/ntp @thoughtpolice

# Dhall
/pkgs/development/dhall-modules      @Gabriel439 @Profpatsch @ehmry
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch @ehmry

# Idris
/pkgs/development/idris-modules @Infinisil

# Bazel
/pkgs/development/tools/build-managers/bazel @mboes @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-modes @adisbladis
/pkgs/applications/editors/emacs       @adisbladis
/pkgs/top-level/emacs-packages.nix     @adisbladis

# Neovim
/pkgs/applications/editors/neovim      @jonringer @teto

# VimPlugins
/pkgs/misc/vim-plugins         @jonringer @softinio

# VsCode Extensions
/pkgs/misc/vscode-extensions   @jonringer

# Prometheus exporter modules and tests
/nixos/modules/services/monitoring/prometheus/exporters.nix  @WilliButz
/nixos/modules/services/monitoring/prometheus/exporters.xml  @WilliButz
/nixos/tests/prometheus-exporters.nix                        @WilliButz

# PHP interpreter, packages, extensions, tests and documentation
/doc/languages-frameworks/php.section.md          @NixOS/php @aanderse @etu @globin @ma27 @talyz
/nixos/tests/php                                  @NixOS/php @aanderse @etu @globin @ma27 @talyz
/pkgs/build-support/build-pecl.nix                @NixOS/php @aanderse @etu @globin @ma27 @talyz
/pkgs/development/interpreters/php       @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz
/pkgs/development/php-packages                    @NixOS/php @aanderse @etu @globin @ma27 @talyz
/pkgs/top-level/php-packages.nix         @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz

# Podman, CRI-O modules and related
/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq
/nixos/modules/virtualisation/cri-o.nix      @NixOS/podman @zowoq
/nixos/modules/virtualisation/podman.nix     @NixOS/podman @zowoq
/nixos/tests/cri-o.nix                       @NixOS/podman @zowoq
/nixos/tests/podman.nix                      @NixOS/podman @zowoq

# Docker tools
/pkgs/build-support/docker                   @roberth @utdemir
/nixos/tests/docker-tools-overlay.nix        @roberth
/nixos/tests/docker-tools.nix                @roberth
/doc/builders/images/dockertools.xml         @roberth

# Blockchains
/pkgs/applications/blockchains  @mmahut @RaghavSood

# Go
/pkgs/development/compilers/go @kalbasit @Mic92 @zowoq
/pkgs/development/go-modules   @kalbasit @Mic92 @zowoq
/pkgs/development/go-packages  @kalbasit @Mic92 @zowoq

# Cinnamon
/pkgs/desktops/cinnamon @mkg20001