# 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 @Mic92 @zowoq

# 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

# 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

# Haskell
/pkgs/development/compilers/ghc                       @cdepillabout
/pkgs/development/haskell-modules		      @cdepillabout
/pkgs/development/haskell-modules/default.nix	      @cdepillabout
/pkgs/development/haskell-modules/generic-builder.nix @cdepillabout
/pkgs/development/haskell-modules/hoogle.nix	      @cdepillabout

# 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   @peti
/pkgs/development/r-modules         @peti

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

# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
/pkgs/build-support/rust @andir @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

# Eclipse
/pkgs/applications/editors/eclipse @rycee

# 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
/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
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch

# 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
/pkgs/applications/editors/neovim      @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
/nixos/tests/php                         @NixOS/php
/pkgs/build-support/build-pecl.nix       @NixOS/php
/pkgs/development/interpreters/php       @NixOS/php
/pkgs/development/php-packages           @NixOS/php
/pkgs/top-level/php-packages.nix         @NixOS/php

# 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