State of nixpkgs
Pull request flow from public GitHub data. Aggregates only: no figure names a person. How each number is made · JSON
5695 pull requests, opened since 2026-05-11. Computed 0h. The history walk is still running, so older months are incomplete.
5695
open
789 drafts, 111 from bots, median age 45.7 days
3117
never reviewed
human authors, not drafts, no review by anyone else
52
open security fixes
median age 14.5 days
569
open from first-time contributors
by GitHub's association or the nixpkgs label
891
open with disclosed AI use
Assisted-by trailer or llm-assisted label; a floor
Open now
| open | |
|---|---|
| under a week | 876 |
| under a month | 1279 |
| under three months | 2049 |
| under a year | 1491 |
| base: master | 5163 |
| base: other | 10 |
| base: release | 148 |
| base: staging | 374 |
Who carries the load, last 365 days
| total | people | people for half | people for 80% | |
|---|---|---|---|---|
| merges | 0 | 0 | 0 | 0 |
| reviews | 4388 | 780 | 48 | 215 |
| authored, humans | 5584 | 1758 | 62 | 642 |
Month by month
| month | opened | bots | first-time | AI / other form | merged | closed | open at end | reviews | reviewers | mergers | first review, h (p50) | reviewed in 7 days | days to merge (p50 / p90) | merge rate | first-time merge rate |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10 | 1446 | 17 | 131 | 270 / 10 | 0 | 0 | 5695 | 1081 | 355 | 0 | 15.2 | 23% | – / – | – | – |
| 2026-09 | 1387 | 17 | 135 | 221 / 3 | 0 | 0 | 4249 | 995 | 300 | 0 | 28.3 | 23% | – / – | – | – |
| 2026-08 | 1022 | 19 | 97 | 142 / 0 | 0 | 0 | 2862 | 878 | 227 | 0 | 31.3 | 25% | – / – | – | – |
| 2026-07 | 711 | 18 | 84 | 111 / 2 | 0 | 0 | 1840 | 600 | 198 | 0 | 49 | 24% | – / – | – | – |
| 2026-06 | 643 | 29 | 71 | 89 / 3 | 0 | 0 | 1129 | 616 | 168 | 0 | 19.4 | 32% | – / – | – | – |
| 2026-05 | 486 | 11 | 51 | 40 / 0 | 0 | 0 | 486 | 218 | 77 | 0 | 93.5 | 21% | – / – | – | – |
By area
| area | open | never reviewed | opened, 365 d | merged, 365 d | days to merge (p50) |
|---|---|---|---|---|---|
| ci | 25 | 3 | 25 | 0 | – |
| doc | 117 | 34 | 117 | 0 | – |
| lib | 58 | 26 | 58 | 0 | – |
| maintainers | 516 | 220 | 516 | 0 | – |
| nixos: modules | 640 | 281 | 640 | 0 | – |
| nixos: other | 208 | 82 | 208 | 0 | – |
| nixos: tests | 311 | 138 | 311 | 0 | – |
| other | 10 | 4 | 10 | 0 | – |
| packages: by-name | 3642 | 2003 | 3642 | 0 | – |
| packages: development | 334 | 157 | 334 | 0 | – |
| packages: other | 539 | 258 | 539 | 0 | – |
| packages: python | 951 | 569 | 951 | 0 | – |
| packages: top-level | 447 | 182 | 447 | 0 | – |
| stdenv | 31 | 9 | 31 | 0 | – |
Disclosed AI tools, last 365 days
| tool | pull requests |
|---|---|
| claude-code | 288 |
| disclosed | 100 |
| openai-codex | 74 |
| codex | 58 |
| opencode | 45 |
| claude | 44 |
| nix-init | 19 |
| other-form | 18 |
| claude-sonnet | 15 |
| pi | 15 |
| claude-opus | 12 |
| cursor-composer | 11 |
| chatgpt | 9 |
| claude-code-with-claude-opus-4-8 | 8 |
| claude-opus-5-5 | 8 |
| traecode | 8 |
| antigravity | 7 |
| gemini | 7 |
| cursor | 6 |
| omp | 6 |
| pi-coding-agent-/-mika | 6 |
| claude-code-with-claude-opus-5 | 5 |
| codex,-gpt-6.1-sol-medium | 5 |
| grok-build | 5 |
| z.ai/glm | 5 |
| gemini-pro | 4 |
| claude-fable | 3 |
| crush | 3 |
| goose-+-glm | 3 |
| grok | 3 |
| hermes-agent | 3 |
| kiro-cli | 3 |
| oh-my-pi | 3 |
| pi-coding-agent | 3 |
| claude-haiku | 2 |
| codex-gpt-5.6-sol-xhigh | 2 |
| codex-with-gpt-5.6-sol-high | 2 |
| dsh-/-deepseek-v4-flash | 2 |
| gemini-cli | 2 |
| opencode-big-pickle | 2 |
| zoo-code-+-claude-opus | 2 |
| amp | 1 |
| anthropic-claude-fable | 1 |
| antigravity,-gemini | 1 |
| antigravity-cli-,-gemini | 1 |
| attacca-agent | 1 |
| big-pickle | 1 |
| chatgpt,-automatic-model-selection | 1 |
| chatgpt-6 | 1 |
| claude-claude-sonnet-4-6 | 1 |
| claude-code,-claude-sonnet | 1 |
| claude-code---claude-opus | 1 |
| claude-code-cli | 1 |
| claude-code-opus | 1 |
| claude-code-using-claude-opus | 1 |
| claude-code-with-claude-opus-4-7 | 1 |
| claude-code-with-opus | 1 |
| codex,-gpt-5.6-sol-medium | 1 |
| codex,-gpt-6-sol-medium | 1 |
| codex-/-gpt-6.1-sol | 1 |
| codex-and-gpt-6-astra | 1 |
| codex-cli,-gpt | 1 |
| codex-gpt-5.5 | 1 |
| codex-gpt-5.6-terra | 1 |
| copilot-with-claude-sonnet | 1 |
| copilot-with-kimi-k2.7-code-+-claude-opus | 1 |
| cursor-agent | 1 |
| cursor-grok | 1 |
| deepseek-harness | 1 |
| deepseek-v4-flash-free,-which-figured-out-the-non-breaking | 1 |
| devin | 1 |
| github-copilot | 1 |
| github-copilot-cli,-claude-opus | 1 |
| glm-5.2-in-kilo-code | 1 |
| glm-5.2-in-pi-coding-agent-with-kagi-search-mcp | 1 |
| goose | 1 |
| gpt-5.6-luna-in-pi | 1 |
| gpt-5.6-sol | 1 |
| gpt-6-sol | 1 |
| grok-bot | 1 |
| haskell-agent | 1 |
| mimo-v2.5-free | 1 |
| muse-spark | 1 |
| oh-my-pi-using-openai-codex | 1 |
| omp-/-openai-gpt-6.1-sol | 1 |
| ona-codex | 1 |
| openai-chatgpt | 1 |
| openai-codex,-gpt-6 | 1 |
| openai-gpt-5 | 1 |
| openai/gpt-6-astra | 1 |
| opencode-+-deepseek-v4-flash | 1 |
| opencode-agent-with-glm-5.3 | 1 |
| opencode-using-openai-gpt-5.6-sol | 1 |
| opencode-v2.0.26 | 1 |
| opencode-with-space-bunny-free | 1 |
| opencode/glm-5.2 | 1 |
| ox-alpha | 1 |
| perplexity | 1 |
| pi-agent,-glm | 1 |
| pi-coding-agent-with-glm | 1 |
| prime-agent | 1 |
| querymt | 1 |
| qwen3.8-27b | 1 |
| sisyphus | 1 |
| traecode-/-gpt-5 | 1 |
| z-ai/glm-5.3-flash | 1 |