Compare commits

..

802 Commits

Author SHA1 Message Date
yaya
8c50a710dd Release NixOS 26.05 2026-05-30 14:58:09 +02:00
Jo
ae717416fd [Backport release-26.05] doc/rl-2605: Fix broken links (#525929) 2026-05-30 12:10:37 +00:00
Yt
e63e3510a3 [Backport release-26.05] lnx: unstable-2022-06-25 -> 0.9.0-master (#525914) 2026-05-30 12:07:02 +00:00
Yt
39712f4237 [Backport release-26.05] nixos/stalwart: Allow AF_UNIX address family for journal tracer (#525915) 2026-05-30 12:06:09 +00:00
yaya
c380dc08e6 doc/rl-2605: documentation fixups
(cherry picked from commit d9affaa686)
2026-05-30 11:56:49 +00:00
yaya
82f1b82cd2 doc/rl-2605: Move entries from nixpkgs to nixos doc
(cherry picked from commit 97bc04fb44)
2026-05-30 11:56:49 +00:00
yaya
1a9673de83 doc/rl-2605: Move entries from nixos to nixpkgs doc
(cherry picked from commit 0f48c24eb5)
2026-05-30 11:56:49 +00:00
yaya
f1f0a90e32 doc/rl-2605: Fix broken links
(cherry picked from commit 0264f06d5c)
2026-05-30 11:56:49 +00:00
yaya
32fe9f8cd8 doc/rl-2605: Remove a note about headplane
This is not a backwards incompatible change, as this module is being
introduced with NixOS 26.05.

(cherry picked from commit f154bcae55)
2026-05-30 11:56:49 +00:00
Felix Bargfeldt
2ee7a48270 [Backport release-26.05] olivetin-3k: 3000.12.0 -> 3000.13.0 (#525913) 2026-05-30 11:28:15 +00:00
provokateurin
5df5a25ad5 nixos/stalwart: Allow AF_UNIX address family for journal tracer
(cherry picked from commit 546e8cadac)
2026-05-30 11:02:28 +00:00
Harinn
0565b9bdc5 lnx: unstable-2022-06-25 -> 0.9.0-master
(cherry picked from commit 61ccc33e3b)
2026-05-30 10:58:00 +00:00
Harinn
e93a273b1a lnx: switch to finalAttrs
(cherry picked from commit 69eecf1846)
2026-05-30 10:57:59 +00:00
R. Ryantm
80d5912728 olivetin-3k: 3000.12.0 -> 3000.13.0
(cherry picked from commit 2ca6de6084)
2026-05-30 10:56:47 +00:00
Nikolay Korotkiy
595f093d6b [Backport release-26.05] drawio: update license (#525907) 2026-05-30 10:49:08 +00:00
DarkOnion0
2329cf0c0f drawio: update license
81a267568d
(cherry picked from commit 2c4a507ec6)
2026-05-30 10:43:52 +00:00
Nikolay Korotkiy
198ebc1547 [Backport release-26.05] miniflux: 2.3.0 -> 2.3.1 (#525779) 2026-05-30 10:24:32 +00:00
Martin Weinelt
4c3975adad [Backport release-26.05] teams/python: drop natsukium (#525897) 2026-05-30 10:15:07 +00:00
Rémi NICOLE
72ed9ece4d [Backport release-26.05] gelly: 1.3.0 -> 1.4.0 (#525896) 2026-05-30 10:05:17 +00:00
Martin Weinelt
a9a2f57213 ci/OWNERS: drop natsukium for top-level python files
No active package set maintenance for over a year.

(cherry picked from commit cf8d099cdc)
2026-05-30 10:03:53 +00:00
Martin Weinelt
cc683f249d teams/python: drop natsukium
No active interpreter or core package set maintenance for over a year.

(cherry picked from commit 2687ff42d8)
2026-05-30 10:03:53 +00:00
R. Ryantm
72fd08b93f gelly: 1.3.0 -> 1.4.0
(cherry picked from commit f04f96a2c2)
2026-05-30 09:57:05 +00:00
OTABI Tomoya
a061b460d3 [Backport release-26.05] online-judge-verify-helper: remove from python3Packages (#525880) 2026-05-30 09:38:35 +00:00
nixpkgs-ci[bot]
eddd5cc0a5 [Backport release-26.05] repath-studio: also fetch git dependencies in FOD (#525875) 2026-05-30 09:08:48 +00:00
toyboot4e
7ffc523f69 online-judge-verify-helper: remove from python3Packages
(cherry picked from commit 025dd7a538)
2026-05-30 08:35:53 +00:00
TomaSajt
7587644979 repath-studio: also fetch git dependencies in FOD
(cherry picked from commit d961206948)
2026-05-30 08:22:52 +00:00
nixpkgs-ci[bot]
cc8609d47c [Backport release-26.05] talosctl: 1.13.2 -> 1.13.3 (#525854) 2026-05-30 07:23:37 +00:00
R. Ryantm
2eb01a542f talosctl: 1.13.2 -> 1.13.3
(cherry picked from commit 0b756ed647)
2026-05-30 06:22:51 +00:00
nixpkgs-ci[bot]
b49d8de8ee [Backport release-26.05] asciinema-agg: 1.8.1 -> 1.9.0 (#525826) 2026-05-30 06:16:07 +00:00
R. Ryantm
b381e29a3c asciinema-agg: 1.8.1 -> 1.9.0
(cherry picked from commit 54bf6d7b30)
2026-05-30 03:39:33 +00:00
Michael Daniels
6751dd6836 [Backport release-26.05] .github/labeler.yml: add staging-nixos to workflow backport (#525802) 2026-05-30 01:31:09 +00:00
zowoq
b6583ed594 .github/labeler.yml: add staging-nixos to workflow backport
follow up from 10056dd40d

(cherry picked from commit 420f10510b)
2026-05-30 01:28:14 +00:00
Michael Daniels
6002ccf982 [26.05] sm64baserom: don't build on hydra (#525765) 2026-05-30 01:18:06 +00:00
Austin Horstman
545f264912 [Backport release-26.05] vimPlugins.vim-table-mode: override license to mit (#525794) 2026-05-30 01:10:01 +00:00
0xferrous
b1da8f7266 vimPlugins.vim-table-mode: override license to mit
(cherry picked from commit 262da060ad)
2026-05-30 01:05:18 +00:00
Adam C. Stephens
73b63a1840 [Backport release-26.05] beamPackages.ex_doc: 0.40.1 -> 0.40.3 (#525717) 2026-05-29 23:53:21 +00:00
Sandro
2d110ab9ef [Backport release-26.05] python3Packages.oslo-config: 10.3.0 -> 10.4.0 (#525055) 2026-05-29 23:52:45 +00:00
R. Ryantm
dbca4e84de miniflux: 2.3.0 -> 2.3.1
(cherry picked from commit 45230095f8)
2026-05-29 23:52:28 +00:00
Sandro
8d0c4e117b [Backport release-26.05] subunit: 1.4.5 -> 1.4.6 (#525049) 2026-05-29 23:52:03 +00:00
Sandro
4c9f0c9415 [Backport release-26.05] python3Packages.keystoneauth1: 5.13.1 -> 5.14.0 (#525057) 2026-05-29 23:51:43 +00:00
Adam C. Stephens
51834a0509 [Backport release-26.05] elvis-erlang: 5.0.3 -> 5.0.4 (#525705) 2026-05-29 23:45:40 +00:00
Yohann Boniface
bd154320bf [Backport release-26.05] xautoclick: remove pcre (#525749) 2026-05-29 23:44:51 +00:00
Adam C. Stephens
382d19cbfe [Backport release-26.05] doc/beam: update documentation to reflect tree and recommendations (#525771) 2026-05-29 23:44:21 +00:00
Sandro
36da57041e [Backport release-26.05] python3Packages.nethsm: 2.0.1 -> 2.1.1, python3Packages.pynitrokey: 0.11.4 -> 0.12.2 (#525763) 2026-05-29 23:41:32 +00:00
Toma
dcfab359e1 [Backport release-26.05] stirling-pdf: re-enable additional features, but make them toggleable (#525762) 2026-05-29 23:31:03 +00:00
Adam C. Stephens
87b1a7e6e9 doc/beam: update documentation to reflect tree and recommendations
(cherry picked from commit 1a5492d942)
2026-05-29 23:30:54 +00:00
Tom Hunze
9a32911ada sm64baserom: don't build on hydra
This avoids an unfixable Hydra build failure [1] caused by the file
required by `requireFile` not being present in Hydra's store.

A long-term fix for this and similar issues is already on `master` [2]
but constitutes a breaking change, which is why we cannot backport it.

[1] https://hydra.nixos.org/build/329892892
[2] https://github.com/NixOS/nixpkgs/pull/515536

Not-cherry-picked-because: Different fix on master, not backportable
2026-05-30 01:11:51 +02:00
Nicolas Benes
eca4745b97 python3Packages.pynitrokey: 0.11.4 -> 0.12.2
https://github.com/Nitrokey/pynitrokey/releases/tag/v0.12.0
https://github.com/Nitrokey/pynitrokey/releases/tag/v0.12.1
https://github.com/Nitrokey/pynitrokey/releases/tag/v0.12.2
(cherry picked from commit b1382f9711)
2026-05-29 23:04:39 +00:00
Nicolas Benes
a56b24f8d8 python3Packages.nethsm: 2.0.1 -> 2.1.1
https://github.com/Nitrokey/nethsm-sdk-py/releases/tag/v2.1.0
https://github.com/Nitrokey/nethsm-sdk-py/releases/tag/v2.1.1
(cherry picked from commit d1969fca9e)
2026-05-29 23:04:39 +00:00
nixpkgs-ci[bot]
d36ad44302 [Backport release-26.05] poco: 1.15.2 -> 1.15.3 (#525709) 2026-05-29 23:02:39 +00:00
nixpkgs-ci[bot]
085a72b077 [Backport release-26.05] bambu-studio: make this package functional/usable again (various fixes) (#524870) 2026-05-29 23:02:23 +00:00
TomaSajt
01746262da stirling-pdf: re-enable additional features, but make them toggleable
(cherry picked from commit e001ff1301)
2026-05-29 23:01:12 +00:00
Emily
abc6505905 [Backport release-26.05] forgejo-runner: 12.10.1 -> 12.10.2 (#525757) 2026-05-29 22:50:30 +00:00
Chris Moultrie
846af8382e forgejo-runner: 12.10.1 -> 12.10.2
changelog: https://code.forgejo.org/forgejo/runner/releases/tag/v12.10.2
(cherry picked from commit da7842f1a7)
2026-05-29 22:43:14 +00:00
zowoq
80c79ee3a8 [Backport release-26.05] linux: add stable staging-nixos workflow (#525747) 2026-05-29 22:31:13 +00:00
nixpkgs-ci[bot]
be8020d408 [Backport release-26.05] librewolf-unwrapped: 151.0.1 -> 151.0.2 (#525732) 2026-05-29 22:29:48 +00:00
Sigmanificient
b138336bec xautoclick: remove pcre
(cherry picked from commit f4a52323a1)
2026-05-29 22:28:14 +00:00
zowoq
fcf9006e23 linux: add stable staging-nixos workflow
stable counterpart to d28cc2a2f5

(cherry picked from commit 10056dd40d)
2026-05-29 22:26:23 +00:00
R. Ryantm
5c10ee7158 librewolf-unwrapped: 151.0.1 -> 151.0.2
(cherry picked from commit ce872a603b)
2026-05-29 21:57:16 +00:00
Peder Bergebakken Sundt
47f525d427 [Backport release-26.05] threema-desktop: 1.2.49 -> 1.2.50 (#525568) 2026-05-29 21:52:07 +00:00
Peder Bergebakken Sundt
627e056b6d [Backport release-26.05] spotiflac: fix desktop icon (#525697) 2026-05-29 21:36:05 +00:00
Peder Bergebakken Sundt
4041d4304c [Backport release-26.05] harper: 2.2.1 -> 2.3.0 (#525691) 2026-05-29 21:34:57 +00:00
Peder Bergebakken Sundt
fff9a69a14 [Backport release-26.05] SDL_net: 1.2.8-unstable-2026-03-17 -> 1.2.8-unstable-2026-05-27 (#525706) 2026-05-29 21:34:10 +00:00
Adam C. Stephens
f4f0ce8511 beamPackages.ex_doc: 0.40.1 -> 0.40.3
(cherry picked from commit f1f14a5dc1)
2026-05-29 21:32:13 +00:00
R. Ryantm
5c40e92742 poco: 1.15.2 -> 1.15.3
(cherry picked from commit 5f82f3c151)
2026-05-29 21:12:36 +00:00
R. Ryantm
6038b92f4e SDL_net: 1.2.8-unstable-2026-03-17 -> 1.2.8-unstable-2026-05-27
(cherry picked from commit 375ccaac58)
2026-05-29 21:08:31 +00:00
nixpkgs-ci[bot]
257de32294 [Backport release-26.05] cargo-guppy: 0.17.25 -> 0.17.26 (#525696) 2026-05-29 21:06:34 +00:00
nixpkgs-ci[bot]
f8fda9583d [Backport release-26.05] r2modman: 3.2.16 -> 3.2.17 (#525694) 2026-05-29 21:06:33 +00:00
R. Ryantm
f55b79048f elvis-erlang: 5.0.3 -> 5.0.4
(cherry picked from commit f0ed87f7d8)
2026-05-29 21:04:52 +00:00
Toma
b1608ab20c [Backport release-26.05] stirling-pdf: 2.8.0 -> 2.10.1 (#525682) 2026-05-29 20:44:42 +00:00
Superredstone
489041ceea spotiflac: fix desktop icon
(cherry picked from commit a33e477fba)
2026-05-29 20:25:14 +00:00
R. Ryantm
0027f7f92a cargo-guppy: 0.17.25 -> 0.17.26
(cherry picked from commit ceb865704d)
2026-05-29 20:20:21 +00:00
Hayley Sparham
295cee7871 r2modman: 3.2.16 -> 3.2.17
(cherry picked from commit 741658bdb2)
2026-05-29 20:14:23 +00:00
Jost Alemann
f73301795d harper: 2.2.1 -> 2.3.0
Changelog: https://github.com/Automattic/harper/releases/tag/v2.3.0
Diff: https://github.com/Automattic/harper/compare/v2.2.1...v2.3.0
(cherry picked from commit f66a43c7a9)
2026-05-29 20:08:53 +00:00
Sandro
9b82faa938 [Backport release-26.05] fvs2: init at 0.1.5; bottles-unwrapped: add fvs2 (#524212) 2026-05-29 20:06:22 +00:00
K900
bb6e9ff99d [Backport release-26.05] rusty-path-of-building: 0.2.17 -> 0.2.18 (#525666) 2026-05-29 20:01:57 +00:00
Martin Weinelt
dc4e8b7543 [Backport release-26.05] buildMozillaMach: update MOZ_PKG_FORMAT value for forward compat (#525586) 2026-05-29 19:59:41 +00:00
Peder Bergebakken Sundt
fcd6dd28fc [Backport release-26.05] python3Packages.brax: disable flaky test (#525648) 2026-05-29 19:57:05 +00:00
Peder Bergebakken Sundt
f0629402f7 [Backport release-26.05] librewolf-bin-unwrapped: 150.0.2-1 -> 151.0.1-2 (#525678) 2026-05-29 19:37:15 +00:00
staticdev
75f22aaeaa stirling-pdf: 2.8.0 -> 2.10.1
(cherry picked from commit 8f218eef6a)
2026-05-29 19:10:13 +00:00
Hythera
4e61b81b3e librewolf-bin-unwrapped: 150.0.2-1 -> 151.0.1-2
diff: https://codeberg.org/librewolf/source/compare/150.0.2-1...151.0.1-2

mfsa: https://www.mozilla.org/en-US/security/advisories/mfsa2026-45/
(cherry picked from commit 7c359e5b51)
2026-05-29 18:58:20 +00:00
Nick Cao
571a81dc39 [Backport release-26.05] framework-tool: drop leonas maintainership (#525675) 2026-05-29 18:57:02 +00:00
Leona Maroni
925fc1eda2 framework-tool: drop leonas maintainership
I don't have a working Framework Laptop anymore, so I have no way to
test changes.

(cherry picked from commit 94068096f8)
2026-05-29 18:52:15 +00:00
Nick Cao
6e5a848ad8 [Backport release-26.05] espresso: fix build (#525576) 2026-05-29 18:40:23 +00:00
Nick Cao
d757b5d092 [Backport release-26.05] sope: 5.12.8 -> 5.12.9 (#525641) 2026-05-29 18:16:51 +00:00
Nick Cao
af76a16a02 [Backport release-26.05] sogo: 5.12.8 -> 5.12.9 (#525640) 2026-05-29 18:16:49 +00:00
Christoph Hollizeck
56b4980d8c rusty-path-of-building: 0.2.17 -> 0.2.18
(cherry picked from commit 0531732d3c)
2026-05-29 18:13:09 +00:00
Jo
eb50eae849 [Backport release-26.05] docs: more fixes to release notes (#525659) 2026-05-29 17:43:17 +00:00
NotAShelf
646f3698e1 doc/rl-2605: more typo/grammar fixes; fix Markdown lints
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4244fa38682ec62a19035c7662a7a0e36a6a6964
(cherry picked from commit efc84cdfc4)
2026-05-29 17:38:19 +00:00
NotAShelf
f0af141b32 doc/rl-2511: more typo/grammar fixes; fix Markdown lints
Fixes odd bulletpoints and bare URLs that are prohibited by most
Markdown linters and specs.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iae14dce3d158ac11c59d9117694ccde46a6a6964
(cherry picked from commit b786821e13)
2026-05-29 17:38:19 +00:00
Peder Bergebakken Sundt
54d277eb6b python3Packages.brax: disable flaky test
(cherry picked from commit f01e842256)
2026-05-29 17:00:28 +00:00
dotlambda
38a28556af [Backport release-26.05] nextcloud32: 32.0.9 -> 32.0.10, nextcloud33: 33.0.3 -> 33.0.4 (#525620) 2026-05-29 16:50:11 +00:00
Peder Bergebakken Sundt
5e75a734ac [Backport release-26.05] picoshare: 1.5.1 -> 1.5.2 (#525362) 2026-05-29 16:44:39 +00:00
Jan Christoph Ebersbach
dc4c7d5403 sope: 5.12.8 -> 5.12.9
(cherry picked from commit 3c5295265a)
2026-05-29 16:19:00 +00:00
R. Ryantm
36ba5a16c8 sogo: 5.12.8 -> 5.12.9
(cherry picked from commit ab524c2465)
2026-05-29 16:18:36 +00:00
nixpkgs-ci[bot]
5b63e61da0 [Backport release-26.05] omnissa-horizon-client: 2512->2605 (#525347) 2026-05-29 15:59:00 +00:00
Robert Schütz
168f475676 nextcloud33Packages: update
(cherry picked from commit 0aabcea9df)
2026-05-29 15:30:23 +00:00
Robert Schütz
2b986401be nextcloud33: 33.0.3 -> 33.0.4
Changelog: https://nextcloud.com/changelog/#33-0-4
(cherry picked from commit b5ea2fd1b0)
2026-05-29 15:30:23 +00:00
Robert Schütz
6141debf9a nextcloud32Packages: update
(cherry picked from commit f374778400)
2026-05-29 15:30:23 +00:00
Robert Schütz
898a43b91c nextcloud32: 32.0.9 -> 32.0.10
Changelog: https://nextcloud.com/changelog/#32-0-10
(cherry picked from commit 968ba198fe)
2026-05-29 15:30:23 +00:00
dotlambda
83be6f21f0 [Backport release-26.05] radicale: 3.7.3 -> 3.7.4 (#525601) 2026-05-29 15:24:16 +00:00
Atemu
676cc844a9 [Backport release-26.05] ffmpeg_7: 7.1.3 -> 7.1.4 (#525598) 2026-05-29 15:10:24 +00:00
Adam C. Stephens
9103ffc9e0 [Backport release-26.05] halloy: 2026.6 -> 2026.7 (#525597) 2026-05-29 14:57:25 +00:00
Robert Schütz
0c894a9bdc radicale: 3.7.3 -> 3.7.4
Diff: https://github.com/Kozea/Radicale/compare/v3.7.3...v3.7.4

Changelog: https://github.com/Kozea/Radicale/blob/v3.7.4/CHANGELOG.md
(cherry picked from commit c71cba682d)
2026-05-29 14:35:38 +00:00
Nick Cao
d5c220575c [Backport release-26.05] fosrl-pangolin: 1.18.3 -> 1.18.4 (#525545) 2026-05-29 14:35:25 +00:00
Robert Schütz
fad7d17433 ffmpeg_7: 7.1.3 -> 7.1.4
Changelog: https://github.com/FFmpeg/FFmpeg/blob/n7.1.4/Changelog
(cherry picked from commit 8dc509bf40)
2026-05-29 14:26:06 +00:00
Rina
0306430d28 halloy: 2026.6 -> 2026.7
(cherry picked from commit fbe90a598d)
2026-05-29 14:25:20 +00:00
Gaétan Lepage
662f1e622f [Backport release-26.05] vimPlugins.blink-pairs: 0.4.1 -> 0.5.0 (#525582) 2026-05-29 14:25:02 +00:00
Atemu
5148ff353b [Backport release-26.05] ffmpeg_6: 6.1.4 -> 6.1.5 (#525422) 2026-05-29 14:15:27 +00:00
Martin Weinelt
76575a23ce buildMozillaMach: establish MOZ_PKG_FORMAT forward compat
Lowercae `tar` will throw a KeyError in future mach versions.

(cherry picked from commit cb9090f062)
2026-05-29 13:59:15 +00:00
Florian Klink
0dd3d96623 [Backport release-26.05] mycelium: 0.7.8 -> 0.7.9 (#525550) 2026-05-29 13:50:41 +00:00
isabel
278f82a5d0 vimPlugins.blink-pairs: 0.4.1 -> 0.5.0
Diff: https://github.com/Saghen/blink.pairs/compare/v0.4.1...v0.5.0

Changelog: https://github.com/Saghen/blink.pairs/blob/v0.5.0/CHANGELOG.md
(cherry picked from commit c70c207e6f)
2026-05-29 13:49:20 +00:00
Adam C. Stephens
d25c3202b1 [Backport release-26.05] audiobookshelf: 2.35.0 -> 2.35.1 (#525557) 2026-05-29 13:45:00 +00:00
Sigmanificient
3d2d2e85e3 espresso: fix build
(cherry picked from commit 86126347f9)
2026-05-29 13:39:11 +00:00
Kim Lindberger
e9cd3787ec [Backport release-26.05] nomachine-client: 9.4.14 -> 9.5.7 (#525007) 2026-05-29 13:29:01 +00:00
Nick Cao
966e117bcf [Backport release-26.05] python3Packages.brother-ql: 0.11.2 -> 0.12.0 (#524630) 2026-05-29 13:28:56 +00:00
nixpkgs-ci[bot]
9cae56a1fa [Backport release-26.05] incus: 7.0.0 -> 7.1.0 (#525548) 2026-05-29 13:28:28 +00:00
nixpkgs-ci[bot]
0ad1c04346 [Backport release-26.05] psysh: 0.12.22 -> 0.12.23 (#525149) 2026-05-29 13:28:03 +00:00
Nico Felbinger
2130c97a6c threema-desktop: 1.2.49 -> 1.2.50
(cherry picked from commit ed689a7d5a)
2026-05-29 13:00:27 +00:00
Chris Moultrie
63aec6daef audiobookshelf: 2.35.0 -> 2.35.1
changelog: https://github.com/advplyr/audiobookshelf/releases/tag/v2.35.1
(cherry picked from commit 5cbf28e510)
2026-05-29 12:44:16 +00:00
isabel
282bc8530e [Backport release-26.05] porxie: 0.3.1 -> 0.3.3, nixos/porxie: update options for version (#525552) 2026-05-29 12:39:56 +00:00
Lyna
6f4d835574 nixos/porxie: update options for version
(cherry picked from commit e244279d81)
2026-05-29 12:34:51 +00:00
Lyna
51f30d5560 porxie: 0.3.1 -> 0.3.3
(cherry picked from commit 9bea721ff0)
2026-05-29 12:34:51 +00:00
R. Ryantm
d49bbfdf30 mycelium: 0.7.8 -> 0.7.9
(cherry picked from commit 58dd5d72c4)
2026-05-29 12:30:00 +00:00
nixpkgs-ci[bot]
9f3fbdebc9 [Backport release-26.05] alire: 2.1.0 -> 2.1.1 (#525547) 2026-05-29 12:26:19 +00:00
Tom Herbers
ba22692228 incus: 7.0.0 -> 7.1.0
Changelog: https://github.com/lxc/incus/releases/tag/v7.1.0

Advisories:
- https://github.com/lxc/incus/security/advisories/GHSA-8g7m-96c8-8wwc (Low)
- https://github.com/lxc/incus/security/advisories/GHSA-xhqx-mgh3-3h7q (Low)
- https://github.com/lxc/incus/security/advisories/GHSA-4xg6-52mh-fpw8 (Low)
- https://github.com/lxc/incus/security/advisories/GHSA-ccjc-4qc3-jxqc (Critical)

(cherry picked from commit dd25e36577)
2026-05-29 12:21:03 +00:00
R. Ryantm
dd51397f22 alire: 2.1.0 -> 2.1.1
(cherry picked from commit d5255d6a01)
2026-05-29 12:20:57 +00:00
Kilian Koeltzsch
f6d63cecde fosrl-pangolin: 1.18.3 -> 1.18.4
(cherry picked from commit f5a0531174)
2026-05-29 12:06:50 +00:00
nixpkgs-ci[bot]
bdb1bd6114 [Backport release-26.05] vacuum-tube: 1.7.0 -> 1.7.1 (#525540) 2026-05-29 12:01:47 +00:00
Jo
9c7186464b [Backport release-26.05] docs: fix various typos and grammar errors in release notes (#525537) 2026-05-29 11:44:39 +00:00
R. Ryantm
f4215d1c99 vacuum-tube: 1.7.0 -> 1.7.1
(cherry picked from commit 2c429e37f1)
2026-05-29 11:44:08 +00:00
NotAShelf
70ba751c60 doc/rl-2605: fix various typos and grammar errors in release notes
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5cfb88c6574cadb0a677b2d8003179af6a6a6964
(cherry picked from commit 02dd3281fe)
2026-05-29 11:39:31 +00:00
NotAShelf
02348a6bc2 doc/rl-2511: fix various typos and grammar errors in release notes
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I51346308f175aabf51751cab517173286a6a6964
(cherry picked from commit 30e3206c5f)
2026-05-29 11:39:31 +00:00
Vincent Laporte
8ab24dc538 [Backport release-26.05] ocamlPackages.odoc: 3.1.0 → 3.2.1 (#525522) 2026-05-29 11:24:28 +00:00
Vincent Laporte
2c26f9b9c9 ocamlPackages.odoc: 3.1.0 → 3.2.1
(cherry picked from commit 3300636ab3)
2026-05-29 10:53:36 +00:00
Vladimír Čunát
e8e446a361 [Backport release-26.05] libvisio: 0.1.10 -> 0.1.11 (#525184) 2026-05-29 10:40:19 +00:00
Vladimír Čunát
9c57e8dde2 [Backport release-26.05] python3Packages.vllm: mark insecure (#525146) 2026-05-29 10:33:23 +00:00
Vincent Laporte
e4bd3958f9 [Backport release-26.05] rocqPackages.micromega-plugin: 1.0.0 -> 1.1.0 (#525506) 2026-05-29 10:08:12 +00:00
Pierre Roux
1d84ac4414 rocqPackages.micromega-plugin: 1.0.0 -> 1.1.0
(cherry picked from commit 34725c072b)
2026-05-29 09:35:25 +00:00
Ivan Mincik
a2c881b2fd [Backport release-26.05] nixos/nominatim: make UI optional (#525471) 2026-05-29 09:20:23 +00:00
Thomas Gerbet
c5b3df2ef9 [Backport release-26.05] putty: 0.83 -> 0.84 (#525480) 2026-05-29 09:02:03 +00:00
Hythera
8fdcbe1246 putty: 0.83 -> 0.84
changelog: https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html
(cherry picked from commit 4ea6010b39)
2026-05-29 08:41:49 +00:00
Taeer Bar-Yam
ba2260f4c7 nixos/nominatim: make UI optional
(cherry picked from commit a3d43e3230)
2026-05-29 07:59:34 +00:00
Michele Guerini Rocco
14b2626ea7 [Backport release-26.05] monero-{cli,gui}: 0.18.4.6 -> 0.18.5.0 (#525264) 2026-05-29 07:54:00 +00:00
yaya
4b0db36abd [26.05] clash-rs: fix build with Rust ≥1.95 (#525460) 2026-05-29 07:44:45 +00:00
Aaron Jheng
c01aa2b1bb clash-rs: fix build with Rust ≥1.95
(cherry picked from commit 90f40502b1)
2026-05-29 09:28:03 +02:00
yaya
67b859a1fd [Backport release-26.05] python3Packages.httpx-auth: fix tests with pyjwt 2.11+ (#525453) 2026-05-29 07:18:07 +00:00
Harinn
513eab96e0 python3Packages.httpx-auth: fix tests with pyjwt 2.11+
(cherry picked from commit 92bb21a2e8)
2026-05-29 07:13:16 +00:00
yaya
afaa1e9941 [Backport release-26.05] stereotool: fix build (#525448) 2026-05-29 07:11:25 +00:00
Sigmanificient
11bc4f0115 stereotool: fix build
(cherry picked from commit 9d4033cb3f)
2026-05-29 07:02:21 +00:00
Jonas Heinrich
7808e72111 [Backport release-26.05] waydroid-nftables: 1.6.2 -> 1.6.3 (#525434) 2026-05-29 05:55:54 +00:00
R. Ryantm
b82dc19c10 waydroid-nftables: 1.6.2 -> 1.6.3
(cherry picked from commit 1de6bbe5e7)
2026-05-29 05:49:10 +00:00
yaya
41cc72fd94 [Backport release-26.05] nixos/doc: Update stable channel in upgrading chapter (#525387) 2026-05-29 05:44:57 +00:00
Robert Schütz
23363ea584 ffmpeg_6: 6.1.4 -> 6.1.5
Changelog: https://github.com/FFmpeg/FFmpeg/blob/n6.1.5/Changelog
(cherry picked from commit e6d8fec34c)
2026-05-29 03:28:41 +00:00
nixpkgs-ci[bot]
c85dc29a9b [Backport release-26.05] sub-store-frontend: 2.17.8 -> 2.17.19 (#525417) 2026-05-29 02:03:59 +00:00
R. Ryantm
d669d597f5 sub-store-frontend: 2.17.8 -> 2.17.19
(cherry picked from commit 214e3393e4)
2026-05-29 01:58:06 +00:00
Peder Bergebakken Sundt
8f72f1dec8 [Backport release-26.05] nocturne: 1.1.1 -> 1.2.1 (#525400) 2026-05-29 00:41:06 +00:00
Emily
071b0d8523 [Backport release-26.05] ungoogled-chromium: 148.0.7778.178-1 -> 148.0.7778.215-1 (#525402) 2026-05-29 00:29:00 +00:00
networkException
038d4f43e3 ungoogled-chromium: 148.0.7778.178-1 -> 148.0.7778.215-1
https://chromereleases.googleblog.com/2026/05/stable-channel-update-for-desktop_0877304591.html

This update includes 151 security fixes.

CVEs:
CVE-2026-9872 CVE-2026-9873 CVE-2026-9874 CVE-2026-9875 CVE-2026-9876
CVE-2026-9877 CVE-2026-9878 CVE-2026-9879 CVE-2026-9880 CVE-2026-9881
CVE-2026-9882 CVE-2026-9883 CVE-2026-9884 CVE-2026-9885 CVE-2026-9886
CVE-2026-9887 CVE-2026-9888 CVE-2026-9889 CVE-2026-9890 CVE-2026-9891
CVE-2026-9892 CVE-2026-9893 CVE-2026-9894 CVE-2026-9895 CVE-2026-9896
CVE-2026-9897 CVE-2026-9898 CVE-2026-9899 CVE-2026-9900 CVE-2026-9901
CVE-2026-9902 CVE-2026-9903 CVE-2026-9904 CVE-2026-9905 CVE-2026-9906
CVE-2026-9907 CVE-2026-9908 CVE-2026-9909 CVE-2026-9910 CVE-2026-9911
CVE-2026-9912 CVE-2026-9913 CVE-2026-9914 CVE-2026-9915 CVE-2026-9916
CVE-2026-9917 CVE-2026-9918 CVE-2026-9919 CVE-2026-9920 CVE-2026-9921
CVE-2026-9922 CVE-2026-9923 CVE-2026-9924 CVE-2026-9925 CVE-2026-9926
CVE-2026-9927 CVE-2026-9928 CVE-2026-9929 CVE-2026-9930 CVE-2026-9931
CVE-2026-9932 CVE-2026-9933 CVE-2026-9934 CVE-2026-9935 CVE-2026-9936
CVE-2026-9937 CVE-2026-9938 CVE-2026-9939 CVE-2026-9940 CVE-2026-9941
CVE-2026-9942 CVE-2026-9943 CVE-2026-9944 CVE-2026-9945 CVE-2026-9946
CVE-2026-9947 CVE-2026-9948 CVE-2026-9949 CVE-2026-9950 CVE-2026-9951
CVE-2026-9952 CVE-2026-9953 CVE-2026-9954 CVE-2026-9955 CVE-2026-9956
CVE-2026-9957 CVE-2026-9958 CVE-2026-9959 CVE-2026-9960 CVE-2026-9961
CVE-2026-9962 CVE-2026-9963 CVE-2026-9964 CVE-2026-9965 CVE-2026-9966
CVE-2026-9967 CVE-2026-9968 CVE-2026-9969 CVE-2026-9970 CVE-2026-9971
CVE-2026-9972 CVE-2026-9973 CVE-2026-9974 CVE-2026-9975 CVE-2026-9976
CVE-2026-9977 CVE-2026-9978 CVE-2026-9979 CVE-2026-9980 CVE-2026-9981
CVE-2026-9982 CVE-2026-9983 CVE-2026-9984 CVE-2026-9985 CVE-2026-9986
CVE-2026-9987 CVE-2026-9988 CVE-2026-9989 CVE-2026-9990 CVE-2026-9991
CVE-2026-9992 CVE-2026-9993 CVE-2026-9994 CVE-2026-9995 CVE-2026-9996
CVE-2026-9997 CVE-2026-9998 CVE-2026-9999 CVE-2026-10000 CVE-2026-10001
CVE-2026-10002 CVE-2026-10003 CVE-2026-10004 CVE-2026-10005
CVE-2026-10006 CVE-2026-10007 CVE-2026-10008 CVE-2026-10009
CVE-2026-10010 CVE-2026-10011 CVE-2026-10012 CVE-2026-10013
CVE-2026-10014 CVE-2026-10015 CVE-2026-10016 CVE-2026-10017
CVE-2026-10018 CVE-2026-10019 CVE-2026-10020 CVE-2026-10021
CVE-2026-10022

(cherry picked from commit 86522e097a)
2026-05-29 00:19:29 +00:00
Peder Bergebakken Sundt
045d09d3f4 nocturne: 1.1.1 -> 1.2.1
Diff: https://github.com/Jeffser/Nocturne/compare/1.1.1...1.2.1

Changelog:
https://github.com/Jeffser/Nocturne/releases/tag/1.2.0
https://github.com/Jeffser/Nocturne/releases/tag/1.2.1
(cherry picked from commit 9fd1ea5959)
2026-05-29 00:12:32 +00:00
yaya
cb0ad9e216 nixos/doc: Update stable channel in upgrading chapter
(cherry picked from commit 88d8d2c5d5)
2026-05-28 23:31:52 +00:00
nixpkgs-ci[bot]
4d87331c27 [Backport release-26.05] flaresolverr: 3.4.6 -> 3.5.0 (#525215) 2026-05-28 23:27:07 +00:00
Thomas Gerbet
fa08af56e4 [Backport release-26.05] wireshark{,-cli}: 4.6.5 -> 4.6.6 (#525373) 2026-05-28 23:12:48 +00:00
Ryan Omasta
dc09c1655c wireshark{,-cli}: 4.6.5 -> 4.6.6
https://www.wireshark.org/docs/relnotes/wireshark-4.6.6.html
Diff: https://gitlab.com/wireshark/wireshark/-/compare/v4.6.5...v4.6.6
(cherry picked from commit 1c88add0ef)
2026-05-28 22:15:43 +00:00
Pol Dellaiera
2fd826550f [Backport release-26.05] zotero: fix the checks phase (#525367) 2026-05-28 22:04:14 +00:00
Mynacol
bee22226fb zotero: fix the checks phase
Follow-up to the 9.0.4 update in aa9f3b7824 that broke the (completely
optional) tests, because upstream renamed the already ignored tests (as
they try to access internet resources) in 5ebe8ea15f.

(cherry picked from commit 45185e91bf)
2026-05-28 21:59:27 +00:00
Pol Dellaiera
45d46aef15 [Backport release-26.05] zotero: 9.0.2 -> 9.0.4 (#525357) 2026-05-28 21:54:07 +00:00
blokyk
0a5c99add2 picoshare: 1.5.1 -> 1.5.2
(cherry picked from commit 36f8a3d976)
2026-05-28 21:42:19 +00:00
R. Ryantm
57a58cb97e zotero: 9.0.2 -> 9.0.4
(cherry picked from commit aa9f3b7824)
2026-05-28 21:26:43 +00:00
Jhonas Wernery
33fc755767 [Backport release-26.05] docker: 29.5.1 -> 29.5.2 (#525321) 2026-05-28 20:51:26 +00:00
Domenic Marcelli
2700478faf omnissa-horizon-client: 2512->2605
(cherry picked from commit a118c9f7f4)
2026-05-28 20:48:11 +00:00
Vincent Laporte
a7d993bba7 [Backport release-26.05] ocamlPackages.rpclib: 9.0.0 → 10.2.0 (#525224) 2026-05-28 20:12:49 +00:00
Leona Maroni
08ee4f278e [Backport release-26.05] gitlab: 18.11.3 -> 18.11.4 (#525230) 2026-05-28 20:06:18 +00:00
Gergő Gutyina
bb22b237eb [Backport release-26.05] pnpm_11: 11.3.0 -> 11.4.0 (#525307) 2026-05-28 19:44:56 +00:00
R. Ryantm
5e560b69d5 docker: 29.5.1 -> 29.5.2
(cherry picked from commit e5b4a4fa18)
2026-05-28 18:58:38 +00:00
Jhonas Wernery
0b5e03d43f [Backport release-26.05] penpot-desktop: 0.23.0 -> 0.23.1 (#525162) 2026-05-28 18:44:55 +00:00
Gutyina Gergő
07b2a6cde8 pnpm_11: 11.3.0 -> 11.4.0
(cherry picked from commit 6793768126)
2026-05-28 18:20:00 +00:00
Sefa Eyeoglu
e755565475 [Backport release-26.05] pnpm: 11.1.2 -> 11.3.0 (#525251) 2026-05-28 18:11:43 +00:00
rnhmjoj
f8bb4852b0 monero-{cli,gui}: 0.18.4.6 -> 0.18.5.0
(cherry picked from commit b447e25ce6)
2026-05-28 17:40:44 +00:00
StepBroBD
97852de5fa [Backport release-26.05] ocamlPackages.arp: 4.0.0 → 4.1.0 (#525225) 2026-05-28 17:21:27 +00:00
Sefa Eyeoglu
59f1da01ad pnpm: 11.1.2 -> 11.3.0
https://github.com/pnpm/pnpm/releases/tag/v11.3.0
https://github.com/pnpm/pnpm/releases/tag/v11.2.2
https://github.com/pnpm/pnpm/releases/tag/v11.2.1
https://github.com/pnpm/pnpm/releases/tag/v11.2.0
https://github.com/pnpm/pnpm/releases/tag/v11.1.3

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
(cherry picked from commit 1d74018091)
2026-05-28 16:26:13 +00:00
Sefa Eyeoglu
174f12335a fetchPnpmDeps,pnpmConfigHook: print final config before install
This should help debugging config values. I verified that `pnpm config
list` works across pnpm_8, pnpm_9, pnpm_10, pnpm_10_29_2 and pnpm_11.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
(cherry picked from commit d5cbb9e641)
2026-05-28 16:26:13 +00:00
Sefa Eyeoglu
ea262e4380 pnpmConfigHook: disable lockfile verification against supply-chain policies
These checks are still performed in fetchPnpmDeps. These checks require
access to the registries used in the lockfile, making it infeasible to
run during configurePhase in a sandboxed build.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
(cherry picked from commit 599909067c)
2026-05-28 16:26:12 +00:00
Philip Taron
820ce7d303 [Backport release-26.05] meta.donationPage: add and set for a few projects (#525112) 2026-05-28 15:46:15 +00:00
Emily
805a45fe92 [Backport release-26.05] chromium,chromedriver: 148.0.7778.178 -> 148.0.7778.216 (#525234) 2026-05-28 15:08:40 +00:00
emilylange
b91bd8766d chromium,chromedriver: 148.0.7778.178 -> 148.0.7778.216
https://chromereleases.googleblog.com/2026/05/stable-channel-update-for-desktop_0877304591.html
(cherry picked from commit ffc6db2fe6)
2026-05-28 14:59:40 +00:00
yaya
8420d8d19a gitlab: 18.11.3 -> 18.11.4
https://gitlab.com/gitlab-org/gitlab/-/blob/v18.11.4-ee/CHANGELOG.md
(cherry picked from commit cec4baa1d7)
2026-05-28 14:39:10 +00:00
Vincent Laporte
abb378034d ocamlPackages.arp: 4.0.0 → 4.1.0
(cherry picked from commit 71af050348)
2026-05-28 14:24:51 +00:00
Vincent Laporte
f957fe70cd ocamlPackages.rpclib: 9.0.0 → 10.2.0
(cherry picked from commit f6045c0002)
2026-05-28 14:23:26 +00:00
Florian Klink
0a2f69320b [Backport release-26.05] python3Packages.authlib: 1.7.0 -> 1.7.2 (#525220) 2026-05-28 14:17:45 +00:00
Fabian Affolter
3f554c010f python3Packages.authlib: 1.7.0 -> 1.7.2
Diff: https://github.com/lepture/authlib/compare/v1.7.0...v1.7.2

Changelog: https://github.com/lepture/authlib/blob/v1.7.2/docs/upgrades/changelog.rst
(cherry picked from commit 9f1e6fd49c)
2026-05-28 14:06:17 +00:00
R. Ryantm
f3156ab0a0 flaresolverr: 3.4.6 -> 3.5.0
(cherry picked from commit fee788e2f6)
2026-05-28 13:52:05 +00:00
Vladimír Čunát
ec942ba042 [Backport release-26.05] openldap: skip a problematic test on i686 already (#525201) 2026-05-28 12:39:19 +00:00
Vladimír Čunát
1e8aeb2f77 [Backport release-26.05] python3Packages.diffusers: 0.36.0 -> 0.38.0 (#524942) 2026-05-28 12:38:41 +00:00
Vladimír Čunát
21aa1b5dec openldap: skip a problematic test on i686 already
See 63147b12a5

Apparently on i686-linux the test isn't flaky but failing reliably.
So restarting on Hydra won't help, and waiting for staging*
would take a few weeks.

(cherry picked from commit 664e60aa95)
2026-05-28 12:34:13 +00:00
R. Ryantm
74dd899517 libvisio: 0.1.10 -> 0.1.11
(cherry picked from commit 26021e8db0)
2026-05-28 11:40:27 +00:00
isabel
0e829cfa01 [Backport release-26.05] npins: 0.4.0 -> 0.4.1; add coca to maintainers (#525181) 2026-05-28 11:31:03 +00:00
yaya
94519887cb [Backport release-26.05] liferea: 1.16.9 -> 1.16.10 (#525172) 2026-05-28 11:25:16 +00:00
Coca
90eb6c5540 npins: add coca to maintainers
(cherry picked from commit 973497fcd1)
2026-05-28 11:23:46 +00:00
Coca
02088a3f8b npins: 0.4.0 -> 0.4.1
(cherry picked from commit bf490ae938)
2026-05-28 11:23:45 +00:00
Sergei Trofimovich
7b108a0f7a liferea: 1.16.9 -> 1.16.10
Changes: https://github.com/lwindolf/liferea/releases/tag/v1.16.10
(cherry picked from commit 7a5669f0f2)
2026-05-28 11:03:17 +00:00
nixpkgs-ci[bot]
aa3f0aa551 [Backport release-26.05] sandhole: 0.9.4 -> 0.9.5 (#524913) 2026-05-28 10:59:29 +00:00
Vincent Laporte
c7775ede84 [Backport release-26.05] coqPackages.equations: 1.3.1 -> 1.3.2 (#525160) 2026-05-28 10:55:45 +00:00
yaya
343964b5a1 [Backport release-26.05] activitywatch: pin aw-webui nodejs version (#524739) 2026-05-28 10:53:31 +00:00
yaya
e8db22aee1 [Backport release-26.05] electron-source.electron_39: remove, electron_39-bin: mark as insecure (#525165) 2026-05-28 10:52:50 +00:00
teutat3s
6848e31194 electron_39-bin: mark as insecure
(cherry picked from commit 4e2f3b4904)
2026-05-28 10:48:00 +00:00
teutat3s
f7a7eec83f electron-source.electron_39: remove
(cherry picked from commit 65b67d5ec1)
2026-05-28 10:48:00 +00:00
Vincent Laporte
04281c6fbf [Backport release-26.05] slothy: init at 0.2.0 (#525159) 2026-05-28 10:42:54 +00:00
NTBBloodbath
84460b65f9 penpot-desktop: 0.23.0 -> 0.23.1
(cherry picked from commit 599cef92f5)
2026-05-28 10:28:49 +00:00
Jhonas Wernery
adf1867414 [Backport release-26.05] docker_25: 25.0.13 -> 25.0.16 (#524111) 2026-05-28 10:18:52 +00:00
4ever2
dd689bfc16 coqPackages.equations: 1.3.1 -> 1.3.2
(cherry picked from commit 811493b89b)
2026-05-28 10:15:58 +00:00
Matthias J. Kannwischer
d3c64ecbb5 slothy: init at 0.2.0
(cherry picked from commit ecf8d2a749)
2026-05-28 10:14:47 +00:00
Matthias J. Kannwischer
711735a851 python3Packages.slothy: init at 0.2.0
(cherry picked from commit 774c5a22ff)
2026-05-28 10:14:46 +00:00
Matthias J. Kannwischer
cf4cb9a166 python3Packages.ortools: extract into separate buildPythonPackage
(cherry picked from commit 25390f5536)
2026-05-28 10:14:46 +00:00
Matthias J. Kannwischer
8d4a938401 or-tools: fix darwin install_name
(cherry picked from commit ca06979777)
2026-05-28 10:14:46 +00:00
R. Ryantm
b739a5d6d2 psysh: 0.12.22 -> 0.12.23
(cherry picked from commit 044893a214)
2026-05-28 09:41:15 +00:00
Robert Schütz
d44f5aa98d python3Packages.vllm: mark insecure
(cherry picked from commit 1d8573f85c)
2026-05-28 09:14:06 +00:00
Vladimír Čunát
84e5858728 [Backport release-26.05] gdb: fix mainProgram for cross (#524229) 2026-05-28 08:18:08 +00:00
Vladimír Čunát
cb5b261021 [Backport release-26.05] Blahtexml fixes (#524218) 2026-05-28 08:16:54 +00:00
Ramses
70a8482d86 [Backport release-26.05] karakeep: 0.31.0 -> 0.32.0 (#525041) 2026-05-28 08:14:49 +00:00
Vladimír Čunát
672ef6274b [Backport release-26.05] python3Packages.obspec: skip pytest-mypy-plugins test under sandbox (#523686) 2026-05-28 08:13:18 +00:00
Vladimír Čunát
e85be5731f [Backport release-26.05] python313Packages.eth-utils: fix build (#524203) 2026-05-28 08:11:37 +00:00
Vladimír Čunát
40e812eeea [Backport release-26.05] veila: init at 0.4.0 (#524441) 2026-05-28 08:08:23 +00:00
Vladimír Čunát
30454a5b63 [Backport release-26.05] losslesscut: init at 3.68.0 (#524314) 2026-05-28 08:07:27 +00:00
Vladimír Čunát
0ea771a19d [Backport release-26.05] fence: remove development only tool from bin (#524198) 2026-05-28 08:06:16 +00:00
Vladimír Čunát
b476551b7a [Backport release-26.05] python3Packages.wasmtime: fix darwin shared library path (#523758) 2026-05-28 08:05:25 +00:00
Vladimír Čunát
8d17759d0e [Backport release-26.05] netease-cloud-music-gtk: 2.5.2 -> 2.5.3 (#523618) 2026-05-28 08:03:58 +00:00
Ramses
a5d0c86795 [Backport release-26.05] nixos/immich: fix matplotlib warning in machine-learning; python314Packages.rapidocr: fix compatibility with Immich (#525088) 2026-05-28 07:43:02 +00:00
Ramses
2d32735e59 [Backport release-26.05] ffmpeg_4: 4.4.6 -> 4.4.7 (#525114) 2026-05-28 07:42:25 +00:00
Ramses
d01282e09d [Backport release-26.05] libsolv: 0.7.36 -> 0.7.37 (#523650) 2026-05-28 07:38:56 +00:00
Ramses
b9e4730dee [Backport release-26.05] dropbear: 2025.89 -> 2026.91 (#524217) 2026-05-28 07:36:56 +00:00
Ramses
a0e70a9d91 [Backport release-26.05] acl2-minimal: fix aarch64-linux build (#524232) 2026-05-28 07:36:21 +00:00
Ramses
b831ff6f14 [Backport release-26.05] roundcube: 1.7.0 -> 1.7.1 (#524431) 2026-05-28 07:35:26 +00:00
Ramses
25a37541ef [Backport release-26.05] fastnetmon: 2.0.372 -> 2.0.380 (#524878) 2026-05-28 07:33:50 +00:00
Ramses
7b0c12f420 [Backport release-26.05] thunderbird-esr: 140.7.2esr -> 140.11.1esr (#524921) 2026-05-28 07:31:59 +00:00
Ramses
b534faced5 [Backport release-26.05] github-runner: Disable node20 runtime by default (#524963) 2026-05-28 07:31:20 +00:00
Ramses
a67dc02f03 [Backport release-26.05] gh: 2.92.0 -> 2.93.0 (#525052) 2026-05-28 07:30:35 +00:00
Ramses
4940084bff [Backport release-26.05] limine-full: 12.3.0 -> 12.3.1 (#525107) 2026-05-28 07:29:27 +00:00
nixpkgs-ci[bot]
8d2b13b41c [Backport release-26.05] reaction: 2.3.1 -> 2.4.0 (#525101) 2026-05-28 06:36:21 +00:00
Robert Schütz
40c6436513 ffmpeg_4: 4.4.6 -> 4.4.7
Changelog: https://github.com/FFmpeg/FFmpeg/blob/n4.4.7/Changelog
(cherry picked from commit 2dbc8d9a66)
2026-05-28 05:46:42 +00:00
Ethan Carter Edwards
601732ceb5 neovim-unwrapped: add donationPage
Good software deserves our money.

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
(cherry picked from commit d0b7c0e631)
2026-05-28 05:41:25 +00:00
Ethan Carter Edwards
73b30875cd kdePackages: add donationPage
Good software deserves our money.

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
(cherry picked from commit 142d500318)
2026-05-28 05:41:25 +00:00
Ethan Carter Edwards
e898225914 vlc: add donationPage
Good software deserves our money.

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
(cherry picked from commit 98f712b1ff)
2026-05-28 05:41:25 +00:00
Ethan Carter Edwards
41158df9ab ffmpeg: add donationPage
Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
(cherry picked from commit 7807078906)
2026-05-28 05:41:24 +00:00
Ethan Carter Edwards
6229beed42 doc: add meta.donationPage
This might be a nice way to use our reach to remind users to donate to
FLOSS projects that they use and love.

Signed-off-by: Ethan Carter Edwards <ethan@ethancedwards.com>
(cherry picked from commit 9d2f2d71e4)
2026-05-28 05:41:24 +00:00
R. Ryantm
759f33b6ce limine-full: 12.3.0 -> 12.3.1
(cherry picked from commit b1e9dd7f55)
2026-05-28 04:41:00 +00:00
Martin Weinelt
1878b8943d reaction: port patch for aarch64-linux nftables compat
This patch is merged upstream and can be reverted on the next update.

Fetchpatch does not work against framagit.org, which is why I vendored
the patch instead.

(cherry picked from commit 1a7b7c7ddf)
2026-05-28 03:39:55 +00:00
Martin Weinelt
2d3e3eecc8 reaction: build plugins in passthru
(cherry picked from commit d961402c8f)
2026-05-28 03:39:55 +00:00
Martin Weinelt
1e0f951c2b reaction: 2.3.1 -> 2.4.0
https://framagit.org/ppom/reaction/-/releases/v2.4.0
(cherry picked from commit ff099fc9e9)
2026-05-28 03:39:55 +00:00
Sandro Jäckel
0e11e4ef47 python314Packages.rapidocr: fix compatibility with Immich
(cherry picked from commit 59339c9893)
2026-05-28 02:08:33 +00:00
Sandro Jäckel
c80226c424 nixos/immich: fix matplotlib warning in machine-learning
machine-learning[1920443]: mkdir -p failed for path /var/empty/.config/matplotlib: [Errno 1] Operation not permitted: '/var/empty/.config'
machine-learning[1920443]: Matplotlib created a temporary cache directory at /tmp/matplotlib-uo52wf71 because there was an issue with the default path (/var/empty/.config/matplotlib); it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.

(cherry picked from commit cb2ed10279)
2026-05-28 02:08:33 +00:00
Nick Cao
ea99d29d34 [Backport release-26.05] python3Packages.item-synchronizer: relax bubop bound (#525074) 2026-05-28 00:43:37 +00:00
Philip Taron
1ce38c1d14 [Backport release-26.05] fetchgit: disable git maintenance (#525073) 2026-05-28 00:18:38 +00:00
Harinn
1eb4733f58 python3Packages.item-synchronizer: relax bidict and bubop bounds
(cherry picked from commit 2aabfbbca9)
2026-05-28 00:16:42 +00:00
Adam Dinwoodie
ab35d8b57a fetchgit: disable git maintenance
By default, Git commands will trigger background processes to perform
repository maintenance.  As of Git v2.54.0, and in particular as of
452b12c2e0 (builtin/maintenance: use "geometric" strategy by default,
2026-02-24), Git has changed the strategy it uses to decide whether
maintenance needs performing, and as a result will kick off background
maintenance processes much more often.

These background processes will potentially change the contents of the
`.git` directory while `nix-prefetch-git` is deleting it.  This results in
effectively random failures, when files are added to the `.git`
directory during the `rm -rf` operation (causing it to fail) or after
the operation has completed (causing the `.git` directory to be
recreated and resulting in a FOD hash mismatch).

This also causes problems for the determinism of Git's own tests.
They've resolved this in 09505b1115 (t: fix races caused by background
maintenance, 2026-02-24) by having the maintenance processes run in the
foreground.  The discussion in that commit explains they considered just
disabling maintenance entirely, but opted for the foreground option
because disabling maintenance would mean the tests looked even less like
how most Git users work with Git.

`nix-prefetch-git` is nothing like most Git users.  In almost every
case, the `.git` directory will be deleted during or immediately after
the script is called.  The repositories certainly don't benefit from
ongoing maintenance.  To avoid the non-determinism created by the
background maintenance processes, just disable maintenance entirely.

This is done with `git config` after initialising the repository, rather
than `git config --global` earlier in the script, as `git config
--global` will fail if `fetchgit` was called with a `gitConfig`
argument.

It would be possible to set this option with
`GIT_CONFIG_[COUNT|KEY_<n>|VALUE_<n>]` environment variables; I've opted
against that because (a) they're less familiar to most people who might
want to come to edit this script in future and (b) because if someone is
using those values themselves via `impureEnvVars` or similar, making our
configuration play nicely with someone else's would require some fairly
complex logic.

I haven't made this a configurable option: any use of `nix-prefetch-git`
will run with maintenance disabled, as I cannot think of a use case
where it would be useful.  If there is such a use case, it would be
straightforward to extend `nix-prefetch-git` and `fetchgit` to allow
users to change the behaviour.

Fixes #524215.

(cherry picked from commit 011471c7f2)
2026-05-28 00:13:45 +00:00
Martin Weinelt
68bfb20566 [Backport release-26.05] samba: 4.23.5 -> 4.23.8 (#524924) 2026-05-27 23:30:07 +00:00
Nick Cao
923d852840 [Backport release-26.05] matrix-authentication-service: 1.16.0 -> 1.17.0 (#524995) 2026-05-27 23:29:26 +00:00
Nick Cao
a850fbbc71 [Backport release-26.05] python3Packages.flask-security: 5.8.0 -> 5.8.1 (#524525) 2026-05-27 23:24:21 +00:00
Nick Cao
a1dd22216d [Backport release-26.05] grafanaPlugins.marcusolsson-dynamictext-panel: 6.2.0 -> 6.2.3 (#524565) 2026-05-27 23:23:13 +00:00
Martin Weinelt
9df5c6a2a0 [Backport release-26.05] libredwg: 0.13.4 -> 0.13.4.8200 (#525051) 2026-05-27 23:07:23 +00:00
R. Ryantm
014a311fef python3Packages.keystoneauth1: 5.13.1 -> 5.14.0
(cherry picked from commit aaae6a5e0a)
2026-05-27 22:57:21 +00:00
R. Ryantm
d3425f3bda python3Packages.oslo-config: 10.3.0 -> 10.4.0
(cherry picked from commit feb2e1ae96)
2026-05-27 22:47:28 +00:00
Michael Daniels
0dbe92f4d6 gh: 2.92.0 -> 2.93.0
Diff: https://github.com/cli/cli/compare/v2.92.0...v2.93.0

Changelog: https://github.com/cli/cli/releases/tag/v2.93.0
(cherry picked from commit 3b0e4f9cbd)
2026-05-27 22:43:32 +00:00
Thorsten Weber
26c9e1dd65 libredwg: 0.13.4 -> 0.13.4.8200
Update to latest pre-release to fix multiple security vulnerabilities:

- CVE-2026-9500: heap-buffer-overflow in decode.c (decompress_R2004_section)
- CVE-2026-9501: heap-buffer-overflow in decode.c (read_2004_compressed_section)
- CVE-2026-9502: heap-buffer-overflow in decode.c (decompress_R2004_section)
- CVE-2026-9503: heap-buffer-overflow in decode.c (decompress_R2004_section)
- CVE-2026-9504: null pointer dereference in dwggrep.c (main)
- CVE-2026-9529: heap-buffer-overflow in decode.c (decompress_R2004_section)
- CVE-2026-9530: heap-buffer-overflow in decode.c (decompress_R2004_section)
- CVE-2026-9605: heap-buffer-overflow in decode.c (decompress_R2004_section)

Individual backports were not feasible as the decompressor was significantly
refactored on upstream's main branch between 0.13.4 and the fixes.

(cherry picked from commit b27ee09e7d)
2026-05-27 22:43:22 +00:00
Michael Daniels
157a942887 [Backport release-26.05] google-chrome: 148.0.7778.178 -> 148.0.7778.215 (#525047) 2026-05-27 22:43:14 +00:00
Maevi
4f1742f1bd subunit: 1.4.5 -> 1.4.6
(cherry picked from commit 9f677545c9)
2026-05-27 22:39:48 +00:00
Eric Roberts
6ec76b678a karakeep: 0.31.0 -> 0.32.0
(cherry picked from commit 4dc5ccb246)
2026-05-27 22:24:38 +00:00
Martin Weinelt
d3b41ceaf2 [Backport release-26.05] buildMozillaMach: fix darwin build for 140.x (#524917) 2026-05-27 22:16:13 +00:00
Felix Bargfeldt
b28ed0c87d [Backport release-26.05] chhoto-url: 7.0.4 -> 7.1.5 (#525033) 2026-05-27 22:07:27 +00:00
Michael Daniels
d8b97a63f9 google-chrome: 148.0.7778.178 -> 148.0.7778.215
(cherry picked from commit 2c044ef431)
2026-05-27 22:02:53 +00:00
R. Ryantm
255103898a chhoto-url: 7.0.4 -> 7.1.5
(cherry picked from commit 442080f1fd)
2026-05-27 22:02:32 +00:00
Michael Daniels
8594958d8e [Backport release-26.05] python3Packages.monosat: fix build with cython 3.1 (#524740) 2026-05-27 20:53:12 +00:00
Bad3r
5ede757685 nomachine-client: 9.4.14 -> 9.5.7
The 9.4.14 tarball is no longer hosted at download.nomachine.com; the
old URL now redirects to the vendor homepage and breaks fetchurl. Bump
to the current upstream release. Both x86_64 and i686 release tarballs
use build suffix _2.

Hashes recomputed via nix-prefetch-url against
https://download.nomachine.com/download/9.5/Linux/.

(cherry picked from commit 0f906ee9b4)
2026-05-27 20:45:30 +00:00
R. Ryantm
7a55590207 matrix-authentication-service: 1.16.0 -> 1.17.0
(cherry picked from commit e5d373f0e5)
2026-05-27 20:27:33 +00:00
Martin Weinelt
a0252785ea [Backport release-26.05] pretix: 2026.4.1 -> 2026.4.2 (#524974) 2026-05-27 20:13:17 +00:00
Philip Taron
6fefc7cc19 [Backport release-26.05] rustPlatform.importCargoLock: download crates from static.crates.io (#524989) 2026-05-27 20:09:35 +00:00
Philip Taron
9b7dc789ca rustPlatform.importCargoLock: download crates from static.crates.io
The crates.io API server's 1 req/sec rate limit currently surfaces as
intermittent HTTP 403 errors when vendoring lockfiles. Switch to the CDN
endpoint as recommended by upstream (rust-lang/crates.io#13482), mirroring
the fix already applied to fetchCargoVendor in #512735.

fetchurl is content-addressed by sha256, so the URL change does not affect
any downstream store paths.

Fixes #524979

(cherry picked from commit f830e6112b)
2026-05-27 20:04:32 +00:00
Adam C. Stephens
65f5d22619 [Backport release-26.05] beamMinimal27Packages.erlang: fix build failure from ignored DOC_TARGETS (#524973) 2026-05-27 19:36:21 +00:00
Martin Weinelt
4bff5d284f pretix: 2026.4.1 -> 2026.4.2
https://pretix.eu/about/en/blog/20260527-release-2026-4-2/
https://github.com/pretix/pretix/compare/v2026.4.1...v2026.4.2

Fixes: CVE-2026-9712
(cherry picked from commit 6f917118f8)
2026-05-27 19:32:45 +00:00
Adam C. Stephens
36598bcf49 beamMinimal27Packages.erlang: fix build failure from ignored DOC_TARGETS
Assisted-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
(cherry picked from commit 8a63423119)
2026-05-27 19:26:09 +00:00
Yuriy Taraday
eca36e4374 github-runner: Disable node20 runtime by default
Node.js 20 is now EOL, see https://github.com/NixOS/nixpkgs/issues/515284
Remove it from the default list of runtimes, but keep the support around
as long as upstream supports it.

(cherry picked from commit 505e8321d8)
2026-05-27 18:57:55 +00:00
Ramses
da06ce0147 [Backport release-26.05] authelia: 4.39.19 -> 4.39.20 (#524958) 2026-05-27 18:53:47 +00:00
Alex Epelde
f70c0a4cbb authelia: 4.39.19 -> 4.39.20
(cherry picked from commit 85a19d4995)
2026-05-27 18:47:28 +00:00
nixpkgs-ci[bot]
f2513f069b [Backport release-26.05] html2pdf: add versionCheckHook (#524912) 2026-05-27 18:28:59 +00:00
Robert Schütz
f9928938a6 python3Packages.diffusers: 0.36.0 -> 0.38.0
Diff: https://github.com/huggingface/diffusers/compare/v0.36.0...v0.38.0

Changelog: https://github.com/huggingface/diffusers/releases/tag/v0.38.0
(cherry picked from commit 94a8a565c0)
2026-05-27 17:52:59 +00:00
dotlambda
ba8efbb42b [Backport release-26.05] perlPackages.Imager: 1.025 -> 1.031 (#524898) 2026-05-27 17:12:51 +00:00
dotlambda
60eaa38f4b [Backport release-26.05] python3Packages.tensorboard: set meta.sourceProvenance (#524888) 2026-05-27 17:10:29 +00:00
Martin Weinelt
850d000d00 samba: 4.23.5 -> 4.23.8
https://www.samba.org/samba/history/samba-4.23.6.html
https://www.samba.org/samba/history/samba-4.23.7.html
https://www.samba.org/samba/history/samba-4.23.8.html

Fixes:
CVE-2026-1933, CVE-2026-2340, CVE-2026-3012, CVE-2026-3238,
CVE-2026-4408, CVE-2026-4480

(cherry picked from commit 125ed23f31)
2026-05-27 17:05:59 +00:00
Vladimír Čunát
ee220bf480 thunderbird-esr: 140.7.2esr -> 140.11.1esr
Uh, I'm sorry.  I forgot to keep updating after r-ryantm
stopped doing so unexpectedly (because this upstream bug).
There are basically no changes beyond security improvements.

(further info composed by mweinelt)
https://www.thunderbird.net/en-US/thunderbird/140.8.0esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.8.1esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.9.0esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.9.1esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.10.0esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.10.1esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.10.2esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.11.0esr/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/140.11.1esr/releasenotes/

Fixes:
CVE-2025-59375, CVE-2026-2757, CVE-2026-2758, CVE-2026-2759,
CVE-2026-2760, CVE-2026-2761, CVE-2026-2762, CVE-2026-2763,
CVE-2026-2764, CVE-2026-2765, CVE-2026-2766, CVE-2026-2767,
CVE-2026-2768, CVE-2026-2769, CVE-2026-2770, CVE-2026-2771,
CVE-2026-2772, CVE-2026-2773, CVE-2026-2774, CVE-2026-2775,
CVE-2026-2776, CVE-2026-2777, CVE-2026-2778, CVE-2026-2779,
CVE-2026-2780, CVE-2026-2781, CVE-2026-2782, CVE-2026-2783,
CVE-2026-2784, CVE-2026-2785, CVE-2026-2786, CVE-2026-2787,
CVE-2026-2788, CVE-2026-2789, CVE-2026-2790, CVE-2026-2791,
CVE-2026-2792, CVE-2026-2793, CVE-2026-3889, CVE-2026-4371,
CVE-2026-4684, CVE-2026-4685, CVE-2026-4686, CVE-2026-4687,
CVE-2026-4688, CVE-2026-4689, CVE-2026-4690, CVE-2026-4691,
CVE-2026-4692, CVE-2026-4693, CVE-2026-4694, CVE-2026-4695,
CVE-2026-4696, CVE-2026-4697, CVE-2026-4698, CVE-2026-4699,
CVE-2026-4700, CVE-2026-4701, CVE-2026-4702, CVE-2026-4704,
CVE-2026-4705, CVE-2026-4706, CVE-2026-4707, CVE-2026-4708,
CVE-2026-4709, CVE-2026-4710, CVE-2026-4711, CVE-2026-4712,
CVE-2026-4713, CVE-2026-4714, CVE-2026-4715, CVE-2026-4716,
CVE-2026-4717, CVE-2026-4718, CVE-2026-4719, CVE-2026-4720,
CVE-2026-4721, CVE-2026-5731, CVE-2026-5732, CVE-2026-5734,
CVE-2026-6746, CVE-2026-6747, CVE-2026-6748, CVE-2026-6749,
CVE-2026-6750, CVE-2026-6751, CVE-2026-6752, CVE-2026-6753,
CVE-2026-6754, CVE-2026-6757, CVE-2026-6759, CVE-2026-6761,
CVE-2026-6762, CVE-2026-6763, CVE-2026-6764, CVE-2026-6765,
CVE-2026-6766, CVE-2026-6767, CVE-2026-6769, CVE-2026-6770,
CVE-2026-6771, CVE-2026-6772, CVE-2026-6776, CVE-2026-6785,
CVE-2026-6786, CVE-2026-7320, CVE-2026-7321, CVE-2026-7322,
CVE-2026-7323, CVE-2026-8090, CVE-2026-8091, CVE-2026-8092,
CVE-2026-8094, CVE-2026-8388, CVE-2026-8391, CVE-2026-8401,
CVE-2026-8946, CVE-2026-8947, CVE-2026-8949, CVE-2026-8950,
CVE-2026-8953, CVE-2026-8954, CVE-2026-8955, CVE-2026-8956,
CVE-2026-8957, CVE-2026-8958, CVE-2026-8959, CVE-2026-8961,
CVE-2026-8962, CVE-2026-8968, CVE-2026-8970, CVE-2026-8974,
CVE-2026-8975

(cherry picked from commit ecd827db1f)
2026-05-27 16:47:46 +00:00
Ihar Hrachyshka
2a56605ab1 buildMozillaMach: fix darwin build
Versions before 144 vendor bindgen 0.69, which emits invalid Rust for
libc++ 21's attributed basic_string::__self_view alias on Darwin.

This was exposed by commit 0758fc3add ("darwin.libcxx:
20.1.0+apple-sdk-26.0 -> 21.1.6+apple-sdk-26.4"), where libc++
changed `basic_string::__self_view` from a typedef to an attributed
`using` alias. bindgen then drops the alias template parameter and emits
`basic_string___self_view = ...<_CharT>`.

The solution is to blocklist the unused `string_view` internals for the
profiler Rust API. They are not used in the actual build.

Note: Mozilla 144 updated vendored bindgen via:
https://bugzilla.mozilla.org/show_bug.cgi?id=1985509

Assisted-by: Codex gpt-5.5 xhigh
(cherry picked from commit c19203e06f)
2026-05-27 16:36:15 +00:00
Eric Rodrigues Pires
1bab1397c0 sandhole: 0.9.4 -> 0.9.5
(cherry picked from commit 18ccf74b16)
2026-05-27 16:27:56 +00:00
Kenichi Kamiya
2f3e6779d3 html2pdf: add versionCheckHook
version flag is available in 0.8.3:
4886ded651

(cherry picked from commit 8c7c19f27a)
2026-05-27 16:27:28 +00:00
nixpkgs-ci[bot]
31f8371c17 [Backport release-26.05] speed-cloudflare-cli: 2.0.3-unstable-2024-05-15 -> 2.0.3-unstable-2025-07-31 (#524884) 2026-05-27 16:13:16 +00:00
nixpkgs-ci[bot]
ddfd13ac90 [Backport release-26.05] kicad: 10.0.2 -> 10.0.3 (#523790) 2026-05-27 16:11:54 +00:00
misuzu
d7430ff4f4 [Backport release-26.05] qsv: 19.1.0 -> 20.1.0 (#524687) 2026-05-27 15:54:51 +00:00
Robert Schütz
e0d74c6906 perlPackages.Imager: 1.025 -> 1.031
Changelog: https://metacpan.org/release/TONYC/Imager-1.031/source/Changes
(cherry picked from commit 8c5161adf0)
2026-05-27 15:29:19 +00:00
Robert Schütz
61c6be594b python3Packages.tensorboard: set meta.sourceProvenance
(cherry picked from commit 17b0fa54fe)
2026-05-27 15:16:17 +00:00
Colorman
90381dc2af speed-cloudflare-cli: apply patches to fix broken upstream
(cherry picked from commit 0f56ae0e57)
2026-05-27 15:09:25 +00:00
Colorman
638de81183 speed-cloudflare-cli: switch to buildNpmPackage
(cherry picked from commit cfa6db5411)
2026-05-27 15:09:25 +00:00
Colorman
96187d7d4e speed-cloudflare-cli: 2.0.3-unstable-2024-05-15 -> 2.0.3-unstable-2025-07-31
(cherry picked from commit b9c17f2e4c)
2026-05-27 15:09:25 +00:00
Yureka
a7d9e04f3a nixos/tests/fastnetmon-advanced: adjust gobgp peer up message
(cherry picked from commit 0020162e2e)
2026-05-27 14:56:57 +00:00
Yureka
0ce502e774 nixos/fastnetmon: always define global hostgroup
Fixes nixosTests.fastnetmon-advanced with fastnetmon-advanced 2.0.376+

(cherry picked from commit 334db00fa1)
2026-05-27 14:56:57 +00:00
Yureka
e81d553fd5 fastnetmon-advanced: 2.0.372 -> 2.0.380
https://github.com/FastNetMon/fastnetmon-advanced-releases/releases/tag/v2.0.380

Fixes:
CVE-2026-48691, CVE-2026-48690, CVE-2026-48688, CVE-2026-48683,
CVE-2026-48684, CVE-2026-48689, CVE-2026-48686

(cherry picked from commit f9f9f1be27)
2026-05-27 14:56:56 +00:00
nixpkgs-ci[bot]
70f3f87ca7 [Backport release-26.05] pyright: 1.1.409 -> 1.1.410 (#524690) 2026-05-27 14:44:25 +00:00
Peder Bergebakken Sundt
2b134a8fea [Backport release-26.05] alliance: unbreak (#524228) 2026-05-27 14:40:57 +00:00
Vincent Laporte
e842d5cb7f [Backport release-26.05] ocamlPackages.camlp5: 8.05.00 → 8.05.01 (#524866) 2026-05-27 14:39:50 +00:00
Harinn
13b979d756 bambu-studio: drop unused binutils and pcre
(cherry picked from commit 0fb1e5d791)
2026-05-27 14:34:57 +00:00
Harinn
75436e1d55 bambu-studio: use lib.cmake* helpers in cmakeFlags
(cherry picked from commit c134e4840f)
2026-05-27 14:34:57 +00:00
Harinn
fad42bedaf bambu-studio: fix various issues
- https://github.com/NixOS/nixpkgs/issues/440951
- https://github.com/NixOS/nixpkgs/issues/498307
- https://github.com/NixOS/nixpkgs/issues/498311

(cherry picked from commit 751b80c68c)
2026-05-27 14:34:57 +00:00
Vincent Laporte
e7be25e617 ocamlPackages.camlp5: 8.05.00 → 8.05.01
(cherry picked from commit b5143834f6)
2026-05-27 14:19:21 +00:00
Adam C. Stephens
9ae1c8233e [Backport release-26.05] erlang: 27.3.4.11 -> 27.3.4.12, 28.5 -> 28.5.0.1, 29.0 -> 29.0.1 (#524847) 2026-05-27 13:43:51 +00:00
Vincent Laporte
17afae0268 [Backport release-26.05] ocamlPackages.lua-ml: 0.9.4 → 0.9.5 (#524841) 2026-05-27 13:36:37 +00:00
Adam C. Stephens
3b63ed363b beam29Packages.erlang: 29.0 -> 29.0.1
Changelog: https://github.com/erlang/otp/releases/tag/OTP-29.0.1
(cherry picked from commit 0824a9b88c)
2026-05-27 13:31:24 +00:00
Adam C. Stephens
174b0d0afc beam28Packages.erlang: 28.5 -> 28.5.0.1
Changelog: https://github.com/erlang/otp/releases/tag/OTP-28.5.0.1
(cherry picked from commit 5658d98da4)
2026-05-27 13:31:24 +00:00
Adam C. Stephens
c8a3fa3084 beam27Packages.erlang: 27.3.4.11 -> 27.3.4.12
Changelog: https://github.com/erlang/otp/releases/tag/OTP-27.3.4.12
(cherry picked from commit 69dd41b69e)
2026-05-27 13:31:23 +00:00
Vincent Laporte
ed1fdb4766 [Backport release-26.05] ocamlPackages.tar: 3.3.0 → 3.5.0 (#524840) 2026-05-27 13:26:28 +00:00
Martin Weinelt
99011e674e [Backport release-26.05] bambu-studio: mark license as agpl3Plus + unfree (#524842) 2026-05-27 13:26:14 +00:00
Harinn
4acf48b2b6 bambu-studio: mark license as agpl3Plus + unfree
(cherry picked from commit c1083c5fbf)
2026-05-27 13:21:13 +00:00
Vincent Laporte
35ee486b4f ocamlPackages.lua-ml: 0.9.4 → 0.9.5
(cherry picked from commit bcd7a4e4cb)
2026-05-27 13:18:47 +00:00
Vincent Laporte
899b40ceb0 ocamlPackages.tar: 3.3.0 → 3.5.0
(cherry picked from commit a8d1e46e75)
2026-05-27 13:18:42 +00:00
StepBroBD
a76ae2dcfc [Backport release-26.05] ocamlPackages.mirage-crypto-rng: fix tests on x86_64-darwin (#524755) 2026-05-27 12:56:06 +00:00
Martin Weinelt
64ee1fe246 [Backport release-26.05] firefox/wrapper: better way to disable update checks (#524823) 2026-05-27 12:32:55 +00:00
K900
f426a0a151 firefox/wrapper: better way to disable update checks
See https://bugzilla.mozilla.org/show_bug.cgi?id=2042197

(cherry picked from commit 1da3ca7373)
2026-05-27 12:26:48 +00:00
nixpkgs-ci[bot]
abedc5cdc7 [Backport release-26.05] nezha-agent: 2.0.3 -> 2.0.4 (#524729) 2026-05-27 12:19:16 +00:00
Alyssa Ross
11d823ef22 [Backport release-26.05] seatd: fix broken sd notify (#524811) 2026-05-27 11:25:54 +00:00
sinanmohd
73f7fa84f6 Revert "sdnotify-wrapper: drop"
reverts commit e801953990.
drop deprecated header from sdnotify-wrapper

(cherry picked from commit 09384d7270)
2026-05-27 11:17:16 +00:00
nixpkgs-ci[bot]
05f4885600 [Backport release-26.05] jackett: 0.24.1879 -> 0.24.1954 (#524731) 2026-05-27 11:02:08 +00:00
yaya
b87f577e95 [Backport release-26.05] halide: backport upstream simd_op_check_x86 zen4/zen5 fix (#524754) 2026-05-27 09:37:30 +00:00
Angel J
c686adf961 ocamlPackages.mirage-crypto-rng: fix tests on x86_64-darwin
(cherry picked from commit 1bcf9b24d8)
2026-05-27 09:35:48 +00:00
yaya
9e649b4d77 [Backport release-26.05] gnat16Packages.{gprbuild{,-boot},gnatcoll-core}: fix build (#524753) 2026-05-27 09:35:32 +00:00
Harinn
ff0d179490 halide: fix correctness_simd_op_check_x86 bf16 disagreement
(cherry picked from commit 7513744a7a)
2026-05-27 09:32:32 +00:00
Tom Hunze
0851e70d9c gnat15Packages.gnatprove: fix build on aarch64-linux
Co-Authored-By: sempiternal-aurora <78790545+sempiternal-aurora@users.noreply.github.com>
(cherry picked from commit f1840faeb1)
2026-05-27 09:28:01 +00:00
Tom Hunze
70d7ddf85a gnatPackages.gnatcoll-core: remove redundant gnat 12 patch
We don't ship gnat 12 anymore.

(cherry picked from commit a261d6ec3c)
2026-05-27 09:28:01 +00:00
Tom Hunze
dbfdf9cd0c gnat16Packages.gnatcoll-core: fix build
b266466e0a
(cherry picked from commit 9c940973d4)
2026-05-27 09:28:01 +00:00
Tom Hunze
4481e80f31 gnat16Packages.gprbuild{,-boot}: fix build
6421e35027
6b6be939d6

Hydra: https://hydra.nixos.org/build/329281640
(cherry picked from commit 41b2d01449)
2026-05-27 09:28:01 +00:00
yaya
74fe587af7 [Backport release-26.05] trurl: fix tests with libcurl 8.20.0 uppercase hex (#524751) 2026-05-27 09:25:41 +00:00
yaya
90c54eeb85 [Backport release-26.05] python3Packages.stim: fix build with pybind11 3.0 (#524749) 2026-05-27 09:24:01 +00:00
Harinn
967edda59b trurl: fix tests with libcurl 8.20.0 uppercase hex
(cherry picked from commit 051cb3d9ca)
2026-05-27 09:20:44 +00:00
Harinn
63e3952d1f python3Packages.stim: fix build with pybind11 3.0
(cherry picked from commit f6ce4ceeec)
2026-05-27 09:19:09 +00:00
yaya
8193eb6f3e [Backport release-26.05] python3Packages.pytest-notebook: fix build with pytest 9 (#524745) 2026-05-27 09:16:42 +00:00
Harinn
f66ebcfba1 python3Packages.pytest-notebook: fix build with pytest 9
(cherry picked from commit 81a7ca2c6d)
2026-05-27 09:11:44 +00:00
Harinn
2973d2ebae python3Packages.monosat: fix build with cython 3.1
(cherry picked from commit 50779b6ae8)
2026-05-27 09:10:17 +00:00
Alex Epelde
659c7f088f activitywatch: pin aw-webui nodejs version
I suspect it was commit 0968bb28e2 that
broke the build with nodejs_24, presumably because of npm updating from
11.11.1 to 11.12.1.

(cherry picked from commit 78df8f88a5)
2026-05-27 09:07:28 +00:00
Doron Behar
1a76d54453 [Backport release-26.05] gnomeExtensions.gsconnect: 71 -> 72 (#524732) 2026-05-27 08:30:07 +00:00
Tom Hunze
8bbcfa1b00 gnomeExtensions.gsconnect: add meta.changelog
(cherry picked from commit 3ca26fd785)
2026-05-27 08:25:13 +00:00
Tom Hunze
03a8cf1316 gnomeExtensions.gsconnect: 71 -> 72
Changelog: https://github.com/GSConnect/gnome-shell-extension-gsconnect/releases/tag/v72
Diff: https://github.com/GSConnect/gnome-shell-extension-gsconnect/compare/v71...v72
(cherry picked from commit dbe5b90834)
2026-05-27 08:25:12 +00:00
R. Ryantm
bf7b3158b9 jackett: 0.24.1879 -> 0.24.1954
(cherry picked from commit 629f87d2bd)
2026-05-27 08:23:09 +00:00
R. Ryantm
9c9a58d149 nezha-agent: 2.0.3 -> 2.0.4
(cherry picked from commit 58cce8fabf)
2026-05-27 08:21:58 +00:00
Vladimír Čunát
dad03392cd [Backport release-26.05] jay: 1.12.0 -> 1.13.0 (#524721) 2026-05-27 08:05:44 +00:00
uku
b3fae191b5 jay: add uku3lig to maintainers
(cherry picked from commit f94260b829)
2026-05-27 07:53:52 +00:00
uku
73c771cef2 jay: disable failing io_uring tests
Some tests fail in the Lix sandbox which disables io_uring.

Hydra log: https://hydra.nixos.org/build/326198517

(cherry picked from commit 14d54f4886)
2026-05-27 07:53:52 +00:00
uku
5c5ef4b520 jay: 1.12.0 -> 1.13.0
Release notes: https://github.com/mahkoh/jay/releases/tag/v1.13.0

(cherry picked from commit 1073ba4022)
2026-05-27 07:53:52 +00:00
nixpkgs-ci[bot]
eee7b3e24b [Backport release-26.05] buf: 1.69.0 -> 1.70.0 (#524562) 2026-05-27 06:52:11 +00:00
misuzu
398f17d7c6 [Backport release-26.05] olive-editor: drop (#524688) 2026-05-27 06:19:42 +00:00
R. Ryantm
3f8016807c pyright: 1.1.409 -> 1.1.410
(cherry picked from commit 81a059ee93)
2026-05-27 05:12:18 +00:00
Christoph Heiss
1cd74962e1 olive-editor: drop
Upstream is dead/unmaintained since 12-2024.

The build also has been broken since at least 24-11-2025 [0].

[0] https://hydra.nixos.org/build/314410468

Signed-off-by: Christoph Heiss <christoph@c8h4.io>
(cherry picked from commit 2e48fef4ca)
2026-05-27 04:59:25 +00:00
Chenglun Hu
d28dad7577 qsv: 19.1.0 -> 20.1.0
(cherry picked from commit 2a49571673)
2026-05-27 04:53:22 +00:00
yaya
2f00f9d6f1 [Backport release-26.05] brainflow: 5.22.1 -> 5.22.2 (#524678) 2026-05-27 04:02:19 +00:00
R. Ryantm
3b9599a13d brainflow: 5.22.1 -> 5.22.2
(cherry picked from commit f51d9b7e4f)
2026-05-27 03:56:29 +00:00
Felix Bargfeldt
8d49b1947e [Backport release-26.05] kdlfmt: 0.1.6 -> 0.1.7 (#524637) 2026-05-27 01:37:27 +00:00
nixpkgs-ci[bot]
2a451d74ee [Backport release-26.05] lockbook: 26.4.13 -> 26.5.22 (#524627) 2026-05-27 01:25:29 +00:00
nixpkgs-ci[bot]
1d5b973fe4 [Backport release-26.05] lockbook-desktop: 26.4.13 -> 26.5.22 (#524626) 2026-05-27 01:25:28 +00:00
Austin Horstman
6e6a50bcb1 [Backport release-26.05] treewide: don't accidentally package electron-dist into .asar file (#524529) 2026-05-27 00:44:03 +00:00
Martin Weinelt
7386ebeda4 [Backport release-26.05] Thunderbird: 150.0.2 -> 151.0.1 (#524617) 2026-05-27 00:34:39 +00:00
Vincent Laporte
299e70af76 [Backport release-26.05] hol_light: fix (#524643) 2026-05-27 00:33:56 +00:00
Vincent Laporte
92f4a739a4 hol_light: fix
(cherry picked from commit 823a2a5430)
2026-05-27 00:18:46 +00:00
R. Ryantm
334d1973fa kdlfmt: 0.1.6 -> 0.1.7
(cherry picked from commit dd5e5a35e8)
2026-05-26 23:49:49 +00:00
Sandro Jäckel
c89e4ac282 python3Packages.brother-ql: 0.11.2 -> 0.12.0
(cherry picked from commit d69b3cb45d)
2026-05-26 23:35:11 +00:00
R. Ryantm
6b8a22fb3b lockbook: 26.4.13 -> 26.5.22
(cherry picked from commit 80a62624d8)
2026-05-26 23:22:23 +00:00
R. Ryantm
634627ffcc lockbook-desktop: 26.4.13 -> 26.5.22
(cherry picked from commit ceb5bf53b2)
2026-05-26 23:22:07 +00:00
nixpkgs-ci[bot]
75225ee8c0 [Backport release-26.05] zulip: factor out pinned electron, use electron.dist (#524610) 2026-05-26 22:45:06 +00:00
Martin Weinelt
7c81f43ed4 thunderbird-unwrapped: 150.0.2 -> 151.0.1
https://www.thunderbird.net/en-US/thunderbird/151.0/releasenotes/
https://www.thunderbird.net/en-US/thunderbird/151.0.1/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2026-50/

Fixes:
CVE-2026-8946, CVE-2026-8947, CVE-2026-8948, CVE-2026-8950,
CVE-2026-8952, CVE-2026-8953, CVE-2026-8954, CVE-2026-8955,
CVE-2026-8956, CVE-2026-8957, CVE-2026-8958, CVE-2026-8960,
CVE-2026-8961, CVE-2026-8962, CVE-2026-8963, CVE-2026-8964,
CVE-2026-8965, CVE-2026-8966, CVE-2026-8967, CVE-2026-8968,
CVE-2026-8969, CVE-2026-8970, CVE-2026-8971, CVE-2026-8972,
CVE-2026-8973, CVE-2026-8974, CVE-2026-8975

(cherry picked from commit 6327c29984)
2026-05-26 22:34:17 +00:00
TomaSajt
59c867174a zulip: factor out pinned electron, use electron.dist
(cherry picked from commit 717a72680b)
2026-05-26 22:24:28 +00:00
zowoq
c981866397 [Backport release-26.05] pkgs/stdenv/freebsd: update x86_64-unknown-freebsd bootstrap-files (#524460) 2026-05-26 22:00:43 +00:00
Michele Guerini Rocco
0895daecb6 [Backport release-26.05] ddcutil: 2.2.6 -> 2.2.7 (#524552) 2026-05-26 21:51:31 +00:00
nixpkgs-ci[bot]
959041ceb1 [Backport release-26.05] bird2: 2.18.1 -> 2.19.0; bird3: 3.2.1 -> 3.3.0 (#524569) 2026-05-26 21:29:40 +00:00
nixpkgs-ci[bot]
490fd7f31b [Backport release-26.05] gitoxide: 0.53.0 -> 0.54.0 (#524490) 2026-05-26 21:29:31 +00:00
nixpkgs-ci[bot]
ed6d9c93f3 [Backport release-26.05] libffi_3_3: fix gcc-15 build (#524468) 2026-05-26 20:50:14 +00:00
Ramses
e6cda3ecd0 [Backport release-26.05] command-not-found: don't require lib.mkForce to set dbPath (#524578) 2026-05-26 20:50:02 +00:00
d-r-a-b
8878bfe827 nixos/command-not-found: set enable default with module system
(cherry picked from commit 213f12982d)
2026-05-26 20:37:40 +00:00
d-r-a-b
b4b9c8f6fa nixos/command-not-found: set dbPath default with module system options
(cherry picked from commit 626fddace8)
2026-05-26 20:37:40 +00:00
d-r-a-b
c8b332ba4f nixos/command-not-found: don't require lib.mkForce to set dbPath
(cherry picked from commit f99d745319)
2026-05-26 20:37:40 +00:00
Martin Weinelt
11ada9c063 [Backport release-26.05] gonic: 0.20.1 -> 0.21.0 (#524362) 2026-05-26 20:32:28 +00:00
Tom Herbers
d0b64f5c9e bird3: 3.2.1 -> 3.3.0
Diff: https://gitlab.nic.cz/labs/bird/-/compare/v3.2.1...v3.3.0

Changelog: https://gitlab.nic.cz/labs/bird/-/blob/v3.3.0/NEWS
(cherry picked from commit 2ee9c5f475)
2026-05-26 19:59:03 +00:00
Tom Herbers
04f1170f5e bird2: 2.18.1 -> 2.19.0
Diff: https://gitlab.nic.cz/labs/bird/-/compare/v2.18.1...v2.19.0

Changelog: https://gitlab.nic.cz/labs/bird/-/blob/v2.19.0/NEWS
(cherry picked from commit 197d3402b3)
2026-05-26 19:59:02 +00:00
R. Ryantm
0c2f5e4c31 grafanaPlugins.marcusolsson-dynamictext-panel: 6.2.0 -> 6.2.3
(cherry picked from commit b58bb8e017)
2026-05-26 19:51:01 +00:00
R. Ryantm
101f3b55c5 buf: 1.69.0 -> 1.70.0
(cherry picked from commit cbd08798ce)
2026-05-26 19:45:59 +00:00
Christoffer Lundell
df864ac331 ddcutil: 2.2.6 -> 2.2.7
Add acl and dbus to buildInputs as required by upstream configure script.

(cherry picked from commit ccf5b48c1f)
2026-05-26 19:15:36 +00:00
TomaSajt
ecd15da62e ivpn-ui: don't place electronDist in cwd
(cherry picked from commit 50d308b4a3)
2026-05-26 18:00:07 +00:00
TomaSajt
0601d867a9 repath-studio: don't place electronDist in cwd
(cherry picked from commit ceba9e3044)
2026-05-26 18:00:07 +00:00
TomaSajt
770ec36f45 mqtt-explorer: don't place electronDist in cwd
(cherry picked from commit d9dc678568)
2026-05-26 18:00:07 +00:00
TomaSajt
40b4cb9eeb caprine: don't place electronDist in cwd
(cherry picked from commit c4f908d08e)
2026-05-26 18:00:07 +00:00
TomaSajt
5692452170 teams-for-linux: don't place electronDist in cwd
(cherry picked from commit 6aee68d364)
2026-05-26 18:00:07 +00:00
TomaSajt
eafcb0c234 shogihome: remove workaround
(cherry picked from commit b038c3cd5b)
2026-05-26 18:00:06 +00:00
R. Ryantm
0d052627a4 python3Packages.flask-security: 5.8.0 -> 5.8.1
(cherry picked from commit 579885fa4e)
2026-05-26 17:55:01 +00:00
Felix Bargfeldt
c331fb6f1d [Backport release-26.05] nixos/containers: fix default gateway with privateNetwork (v2) (#524449) 2026-05-26 17:19:20 +00:00
Sandro
a2836c188f [Backport release-26.05] pihole: fix nix-update, 6.4 -> 6.4.2 (#524089) 2026-05-26 16:28:56 +00:00
Austin Horstman
96a72fbaed [Backport release-26.05] vimPlugins.{BufOnly-vim, caw-vim, colorizer, Colour-Sampler-Pack, ...}: override license (#524501) 2026-05-26 16:20:34 +00:00
yaya
60b9e1dc3c [Backport release-26.05] jitsi-meet-electron: 2025.2.0 -> 2026.5.0 (#524492) 2026-05-26 16:19:19 +00:00
Tomas Rivera
1135c0f766 vimPlugins.vim-tmux: override license to mit and publicDomain
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit 0838a16c21)
2026-05-26 16:15:39 +00:00
Tomas Rivera
ab8312e2d5 vimPlugins.clang_complete: override license to bsd3 and ncsa
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit 2ff8b1a9b2)
2026-05-26 16:15:36 +00:00
Tomas Rivera
e7f04f94b4 vimPlugins.psc-ide-vim: override license to mit and wtfpl
(cherry picked from commit d08faf89be)
2026-05-26 16:15:35 +00:00
Tomas Rivera
2bffcb8989 vimPlugins.neotest-foundry: override license to asl20 and mit
(cherry picked from commit a71318b1de)
2026-05-26 16:15:35 +00:00
Tomas Rivera
f5f814139c vimPlugins.vim-sile: override license to bsd0, cc0 and gpl2Plus
(cherry picked from commit 2859715681)
2026-05-26 16:15:35 +00:00
Tomas Rivera
7f0d3a844d vimPlugins.vim-dirdiff: override license to bsd3
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit 19dbf8f8b8)
2026-05-26 16:15:35 +00:00
Tomas Rivera
6ef2dfbb97 vimPlugins.vim-protobuf: override license to bsd3
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit 587b8ec0f7)
2026-05-26 16:15:34 +00:00
Tomas Rivera
232872cf59 vimPlugins.ncm2-utlisnips: override license to mit
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit 7fb4620688)
2026-05-26 16:15:34 +00:00
Tomas Rivera
13bcbeb89d vimPlugins.last256: override license to mit
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit 7004cffa32)
2026-05-26 16:15:34 +00:00
Tomas Rivera
2c8590c277 vimPlugins.vim-watchdogs: override license to artistic1
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit 02bfaa65d2)
2026-05-26 16:15:34 +00:00
Tomas Rivera
9a1524f0a3 vimPlugins.vim-addon-async: override license to vim
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
(cherry picked from commit f0cbe3c5d9)
2026-05-26 16:15:34 +00:00
Tomas Rivera
6876f432c2 vimPlugins.vim-sentence-chopper: override license to wtfpl
(cherry picked from commit 74668db9a0)
2026-05-26 16:15:34 +00:00
Tomas Rivera
5e23ac95f1 vimPlugins.vim-CtrlXA: override license to wtfpl
(cherry picked from commit 01a50a394d)
2026-05-26 16:15:33 +00:00
Tomas Rivera
9c104004c9 vimPlugins.fastfold: override license to wtfpl
(cherry picked from commit adcd15eba6)
2026-05-26 16:15:33 +00:00
Tomas Rivera
1e1294a640 vimPlugins.zeavim-vim: override license to publicDomain
(cherry picked from commit c3690cce4e)
2026-05-26 16:15:33 +00:00
Tomas Rivera
0d1936c8c0 vimPlugins.zoomwintab-vim: override license to vim
(cherry picked from commit 13b3305464)
2026-05-26 16:15:33 +00:00
Tomas Rivera
15bb2dbda5 vimPlugins.whitespace-nvim: override license to mit
(cherry picked from commit b2577b6633)
2026-05-26 16:15:33 +00:00
Tomas Rivera
3aceba606e vimPlugins.vivify-vim: override license to gpl3
(cherry picked from commit 7ef0a988d5)
2026-05-26 16:15:33 +00:00
Tomas Rivera
6723eb42c3 vimPlugins.vissort-vim: override license to vim
(cherry picked from commit f309ce4588)
2026-05-26 16:15:33 +00:00
Tomas Rivera
fd9e0e2a14 vimPlugins.vimshell: override license to mit
(cherry picked from commit 3b40d5becf)
2026-05-26 16:15:32 +00:00
Tomas Rivera
594a718819 vimPlugins.vimproc: override license to mit
(cherry picked from commit 703533c4d0)
2026-05-26 16:15:32 +00:00
Tomas Rivera
221d3819c1 vimPlugins.vim-yapf: override license to mit
(cherry picked from commit ff849b47d7)
2026-05-26 16:15:32 +00:00
Tomas Rivera
327f16f847 vimPlugins.vim-visualstar: override license to zlib
(cherry picked from commit 957df4c1fd)
2026-05-26 16:15:32 +00:00
Tomas Rivera
0e0ca99858 vimPlugins.vim-twiggy: override license to vim
(cherry picked from commit fd7fdb5d60)
2026-05-26 16:15:32 +00:00
Tomas Rivera
4f17aa01c1 vimPlugins.vim-textobj-line: override license to mit
(cherry picked from commit 58a6464a06)
2026-05-26 16:15:30 +00:00
Tomas Rivera
c34b067aa1 vimPlugins.vim-textobj-function: override license to mit
(cherry picked from commit 2c49f42734)
2026-05-26 16:15:30 +00:00
Tomas Rivera
454271cb7d vimPlugins.vim-textobj-entire: override license to mit
(cherry picked from commit e614f45602)
2026-05-26 16:15:30 +00:00
Tomas Rivera
153866bfe2 vimPlugins.vim-textobj-comment: override license to vim
(cherry picked from commit 4a2a31be6b)
2026-05-26 16:15:29 +00:00
Tomas Rivera
0f2774f80a vimPlugins.vim-tabpagecd: override license to mit
(cherry picked from commit f2104cf035)
2026-05-26 16:15:29 +00:00
Tomas Rivera
52ddaa37a1 vimPlugins.vim-smalls: override license to cc-by-30
(cherry picked from commit 6db2e797b3)
2026-05-26 16:15:29 +00:00
Tomas Rivera
3a5811a964 vimPlugins.vim-prosession: override license to vim
(cherry picked from commit 442f053c36)
2026-05-26 16:15:29 +00:00
Tomas Rivera
b3720aa01e vimPlugins.vim-printer: override license to mit
(cherry picked from commit 7da58fee8a)
2026-05-26 16:15:29 +00:00
Tomas Rivera
30dbdee6e3 vimPlugins.vim-prettyprint: override license to zlib
(cherry picked from commit 3a2483f383)
2026-05-26 16:15:29 +00:00
Tomas Rivera
902d19f7e2 vimPlugins.vim-pony: override license to vim
(cherry picked from commit a163063ad8)
2026-05-26 16:15:28 +00:00
Tomas Rivera
1948b0d114 vimPlugins.vim-operator-user: override license to mit
(cherry picked from commit f6d9adccdb)
2026-05-26 16:15:28 +00:00
Tomas Rivera
87070ced98 vimPlugins.vim-operator-replace: override license to mit
(cherry picked from commit 47997d7dcb)
2026-05-26 16:15:28 +00:00
Tomas Rivera
4ac7d8e47e vimPlugins.vim-opencl: override license to gpl3
(cherry picked from commit c8c8d60f48)
2026-05-26 16:15:28 +00:00
Tomas Rivera
36582c3341 vimPlugins.vim-niceblock: override license to mit
(cherry picked from commit 62fa4468e8)
2026-05-26 16:15:28 +00:00
Tomas Rivera
5fa68180ec vimPlugins.vim-merginal: override license to vim
(cherry picked from commit 83bd698316)
2026-05-26 16:15:28 +00:00
Tomas Rivera
fa3884c0e3 vimPlugins.vim-lion: override license to vim
(cherry picked from commit 9fff3287e3)
2026-05-26 16:15:27 +00:00
Tomas Rivera
5aa0e33e6f vimPlugins.vim-hybrid: override license to mit
(cherry picked from commit f4a445fd55)
2026-05-26 16:15:27 +00:00
Tomas Rivera
2ae8f80a7a vimPlugins.vim-hexokinase: override license to vim
(cherry picked from commit 47c7e68783)
2026-05-26 16:15:27 +00:00
Tomas Rivera
53d282aed5 vimPlugins.vim-habamax: override license to vim
(cherry picked from commit 145eb1d9ab)
2026-05-26 16:15:27 +00:00
Tomas Rivera
d54f68253a vimPlugins.vim-ft-diff_fold: override license to zlib
(cherry picked from commit 5cb146875d)
2026-05-26 16:15:27 +00:00
Tomas Rivera
7b304d5b29 vimPlugins.vim-fold-cycle: override license to wtfpl
(cherry picked from commit 2bd1692f73)
2026-05-26 16:15:26 +00:00
Tomas Rivera
a175342a9f vimPlugins.vim-figlet: override license to vim
(cherry picked from commit 64dfacf9d2)
2026-05-26 16:15:26 +00:00
Tomas Rivera
bf51a9c2de vimPlugins.vim-erlang-runtime: override license to vim
(cherry picked from commit 8d64e0c04b)
2026-05-26 16:15:26 +00:00
Tomas Rivera
27a614a5ce vimPlugins.vim-erlang-compiler: override license to vim
(cherry picked from commit c16bac4237)
2026-05-26 16:15:26 +00:00
Tomas Rivera
1b5b4b0404 vimPlugins.vim-emoji: override license to mit
(cherry picked from commit 9ea141de0a)
2026-05-26 16:15:26 +00:00
Tomas Rivera
dda7625e77 vimPlugins.vim-diminactive: override license to publicDomain
(cherry picked from commit 0986bf8b8b)
2026-05-26 16:15:25 +00:00
Tomas Rivera
34bec04d13 vimPlugins.verilog_systemverilog-vim: override license to vim
(cherry picked from commit 837a718f74)
2026-05-26 16:15:25 +00:00
Tomas Rivera
b9f5c1e419 vimPlugins.todo-txt-vim: override license to vim
(cherry picked from commit a26b51d0b5)
2026-05-26 16:15:25 +00:00
Tomas Rivera
31ff1cf723 vimPlugins.timestamp-vim: override license to publicDomain
(cherry picked from commit 29699948ed)
2026-05-26 16:15:25 +00:00
Tomas Rivera
cf7b308a25 vimPlugins.tabpagebuffer-vim: override license to mit
(cherry picked from commit facbb57b41)
2026-05-26 16:15:25 +00:00
Tomas Rivera
b5b6f0ccb0 vimPlugins.tabmerge: override license to vim
(cherry picked from commit 118d5e7dcc)
2026-05-26 16:15:25 +00:00
Tomas Rivera
27bc1e0a1f vimPlugins.starrynight: override license to vim
(cherry picked from commit c017dcacde)
2026-05-26 16:15:24 +00:00
Tomas Rivera
f39f6df443 vimPlugins.vim-snipmate: override license to mit
(cherry picked from commit 5faa6c918f)
2026-05-26 16:15:24 +00:00
Tomas Rivera
deec732956 vimPlugins.readline-vim: override license to vim
(cherry picked from commit 977ca5dbf0)
2026-05-26 16:15:24 +00:00
Tomas Rivera
b9419538ef vimPlugins.quickfixstatus: override license to vim
(cherry picked from commit 4cebc42211)
2026-05-26 16:15:24 +00:00
Tomas Rivera
760ee4df33 vimPlugins.pgsql-vim: override license to vim
(cherry picked from commit 7bb5f4bdb2)
2026-05-26 16:15:24 +00:00
Tomas Rivera
def8ae4d4a vimPlugins.omnisharp-extended-lsp-nvim: override license to mit
(cherry picked from commit 779153e128)
2026-05-26 16:15:23 +00:00
Tomas Rivera
3f06aa825f vimPlugins.neotest-vitest: override license to mit
(cherry picked from commit 691565623e)
2026-05-26 16:15:23 +00:00
Tomas Rivera
836b59c280 vimPlugins.neotest-mocha: override license to mit
(cherry picked from commit 97f2b66930)
2026-05-26 16:15:23 +00:00
Tomas Rivera
39dfa7bc79 vimPlugins.neocomplete-vim: override license to mit
(cherry picked from commit 1efe8904c1)
2026-05-26 16:15:23 +00:00
Tomas Rivera
0e8b8ecf89 vimPlugins.ncm2-dictionary: override license to mit
(cherry picked from commit ad7d3d25f3)
2026-05-26 16:15:23 +00:00
Tomas Rivera
9699ff7370 vimPlugins.moonscript-vim: override license to wtfpl
(cherry picked from commit 6c46f6888e)
2026-05-26 16:15:22 +00:00
Tomas Rivera
bfd65e9a21 vimPlugins.mark-radar-nvim: override license to mit
(cherry picked from commit 8d887b6a5b)
2026-05-26 16:15:22 +00:00
Tomas Rivera
bb0550d2a4 vimPlugins.lsp-rooter-nvim: override license to wtfpl
(cherry picked from commit 5d4f4c0658)
2026-05-26 16:15:22 +00:00
Tomas Rivera
1730cf98dc vimPlugins.litee-nvim: override license to mit
(cherry picked from commit e3e98c2665)
2026-05-26 16:15:22 +00:00
Tomas Rivera
45ce5b1fba vimPlugins.litee-symboltree-nvim: override license to mit
(cherry picked from commit 0d69d3c60c)
2026-05-26 16:15:22 +00:00
Tomas Rivera
bc68793f57 vimPlugins.litee-filetree-nvim: override license to mit
(cherry picked from commit 8bca764646)
2026-05-26 16:15:22 +00:00
Tomas Rivera
0521704373 vimPlugins.litee-calltree-nvim: override license to mit
(cherry picked from commit c5d95d363b)
2026-05-26 16:15:22 +00:00
Tomas Rivera
087e5b630c vimPlugins.lf-vim: override license to mit
(cherry picked from commit 05027049aa)
2026-05-26 16:15:22 +00:00
Tomas Rivera
4e6aad3d71 vimPlugins.lexima-vim: override license to mit
(cherry picked from commit 1a5d93caf8)
2026-05-26 16:15:21 +00:00
Tomas Rivera
80b58151da vimPlugins.jellybeans-vim: override license to mit
(cherry picked from commit 30351ec6da)
2026-05-26 16:15:21 +00:00
Tomas Rivera
6c61841def vimPlugins.jdaddy-vim: override license to vim
(cherry picked from commit fc75d42bfd)
2026-05-26 16:15:21 +00:00
Tomas Rivera
54b9bb7668 vimPlugins.iosvkem: override license to publicDomain
(cherry picked from commit 0ef2a0b1f5)
2026-05-26 16:15:21 +00:00
Tomas Rivera
a34b19c925 vimPlugins.incsearch-easymotion-vim: override license to mit
(cherry picked from commit 386031652e)
2026-05-26 16:15:21 +00:00
Tomas Rivera
d53d306c0a vimPlugins.hoon-vim: override license to publicDomain
(cherry picked from commit 8104ddb8e8)
2026-05-26 16:15:21 +00:00
Tomas Rivera
3a75bdbb4a vimPlugins.gv-vim: override license to mit
(cherry picked from commit 1ac892e186)
2026-05-26 16:15:21 +00:00
Tomas Rivera
140b61c984 vimPlugins.gitv: override license to vim
(cherry picked from commit 648574de41)
2026-05-26 16:15:21 +00:00
Tomas Rivera
66d1276b57 vimPlugins.colorizer: override license to vim
(cherry picked from commit e76e02bb6e)
2026-05-26 16:15:20 +00:00
Tomas Rivera
8e1367a936 vimPlugins.caw-vim: override license to bsd3
(cherry picked from commit cb95e464bd)
2026-05-26 16:15:20 +00:00
Tomas Rivera
845e295cdd vimPlugins.bclose-vim: override license to cc-by-sa-30
(cherry picked from commit bc6284f24b)
2026-05-26 16:15:20 +00:00
Tomas Rivera
682104475a vimPlugins.VimOrganizer: override license to vim
(cherry picked from commit 787f81f741)
2026-05-26 16:15:20 +00:00
Tomas Rivera
c763e2327a vimPlugins.Rename: override license to vim
(cherry picked from commit 5745e286e3)
2026-05-26 16:15:20 +00:00
Tomas Rivera
b1ec51efd8 vimPlugins.QFEnter: override license to mit
(cherry picked from commit 059d94688e)
2026-05-26 16:15:20 +00:00
Tomas Rivera
9b8e0b12cd vimPlugins.PreserveNoEOL: override license to vim
(cherry picked from commit 20207d3425)
2026-05-26 16:15:20 +00:00
Tomas Rivera
e96bdf6ed7 vimPlugins.NotebookNavigator-nvim: override license to mit
(cherry picked from commit b339489e22)
2026-05-26 16:15:20 +00:00
Tomas Rivera
ed88353018 vimPlugins.Improved-AnsiEsc: override license to vim
(cherry picked from commit 6be5e086b4)
2026-05-26 16:15:19 +00:00
Tomas Rivera
21135470b4 vimPlugins.Colour-Sampler-Pack: override license to publicDomain
(cherry picked from commit 5439dad0c7)
2026-05-26 16:15:19 +00:00
Tomas Rivera
b2a1d9207d vimPlugins.BufOnly-vim: override license to vim
(cherry picked from commit ea41e18f56)
2026-05-26 16:15:19 +00:00
TomaSajt
ccba28dd47 jitsi-meet-electron: 2025.2.0 -> 2026.5.0
(cherry picked from commit e4c536d0c7)
2026-05-26 16:00:21 +00:00
Mauricio Collares
323dfd4232 [Backport release-26.05] sage: 10.7 -> 10.9 (#524477) 2026-05-26 15:56:53 +00:00
R. Ryantm
d9ec6a3f24 gitoxide: 0.53.0 -> 0.54.0
(cherry picked from commit 1aac3e5113)
2026-05-26 15:50:19 +00:00
Toma
4b2e906049 [Backport release-26.05] python3Packages.dep-logic: 0.5.2 -> 0.6.0 (#524476) 2026-05-26 15:21:56 +00:00
Mauricio Collares
cbe752c149 sage: 10.7 -> 10.9
(cherry picked from commit a4277219ac)
2026-05-26 15:11:00 +00:00
Mauricio Collares
89692a46b8 python313Packages.cypari2: 2.2.2 -> 2.2.4
(cherry picked from commit 166e16038c)
2026-05-26 15:11:00 +00:00
Mauricio Collares
89f482e666 giac: 1.9.0-993 -> 2.0.0-19
(cherry picked from commit a0b58af6d0)
2026-05-26 15:10:59 +00:00
Mauricio Collares
04de8ffd1d libbraiding: 1.3.1 -> 1.3.2
(cherry picked from commit ed9839c27a)
2026-05-26 15:10:59 +00:00
R. Ryantm
1b0a83cc7d python3Packages.dep-logic: 0.5.2 -> 0.6.0
(cherry picked from commit daed87fd04)
2026-05-26 15:09:53 +00:00
dram
331eb8035d [Backport release-26.05] Revert "nixos/security: warn if wrappers are disabled and wrappers are defined" (#524472) 2026-05-26 15:04:55 +00:00
dram
e9413dda55 Revert "nixos/security: warn if wrappers are disabled and wrappers are defined"
(cherry picked from commit 42de2da71a)
2026-05-26 14:59:37 +00:00
Sergei Trofimovich
a4464ae19c libffi_3_3: fix gcc-15 build
Without the chnage the build fails in `master` as
https://hydra.nixos.org/build/329329821:

```
FAIL: libffi.call/va_struct2.c -W -Wall -Wno-psabi -O0 (test for excess errors)
FAIL: libffi.call/va_struct2.c -W -Wall -Wno-psabi -O2 (test for excess errors)
FAIL: libffi.call/va_struct3.c -W -Wall -Wno-psabi -O0 (test for excess errors)
FAIL: libffi.call/va_struct3.c -W -Wall -Wno-psabi -O2 (test for excess errors)
```

ZHF: #516381
(cherry picked from commit bc58993f99)
2026-05-26 14:52:14 +00:00
yaya
081aca7aeb [Backport release-26.05] gitlab-runner: 18.11.2 -> 18.11.3 (#524433) 2026-05-26 14:50:52 +00:00
yaya
5f775d7ea3 [Backport release-26.05] sieve-editor-gui: Pin nodejs to nodejs22 (#524458) 2026-05-26 14:29:59 +00:00
zowoq
dab389d7b6 pkgs/stdenv/freebsd: update x86_64-unknown-freebsd bootstrap-files
sha256sum of files to be uploaded:

$ sha256sum /nix/store/9hjgqrmhvny7fxg90w8j7d97f7ny8l8w-build/on-server/*
27ed036ed3e7c58cf0637f8f09d1abe986250b3c373afe44328c48d36aecfbd5  /nix/store/9hjgqrmhvny7fxg90w8j7d97f7ny8l8w-build/on-server/bootstrap-tools.tar.xz
89428a0d543e25f14b0529d17309a426d30a312d5f5db512a5218a3ffc18e52f  /nix/store/9hjgqrmhvny7fxg90w8j7d97f7ny8l8w-build/on-server/unpack.nar.xz

Suggested commands to upload files to 'tarballs.nixos.org':

    $ nix-store --realize /nix/store/9hjgqrmhvny7fxg90w8j7d97f7ny8l8w-build
    $ aws s3 cp --recursive --acl public-read /nix/store/9hjgqrmhvny7fxg90w8j7d97f7ny8l8w-build/on-server/ s3://nixpkgs-tarballs/stdenv/x86_64-unknown-freebsd/87c888eedeced2c577b21a86b5bce79b3067ab20
    $ aws s3 cp --recursive s3://nixpkgs-tarballs/stdenv/x86_64-unknown-freebsd/87c888eedeced2c577b21a86b5bce79b3067ab20 ./
    $ sha256sum bootstrap-tools.tar.xz unpack.nar.xz
    $ sha256sum /nix/store/9hjgqrmhvny7fxg90w8j7d97f7ny8l8w-build/on-server/*

(cherry picked from commit 4ed8c15708)
2026-05-26 14:25:53 +00:00
Felix Leitz
b2eada3a05 sieve-editor-gui: Pin nodejs to nodejs22
Co-authored-by: Gergő Gutyina <gutyina.gergo.2@gmail.com>
(cherry picked from commit 2b76436a65)
2026-05-26 14:18:59 +00:00
George Shammas
6a1ecb18ab nixos/containers: fix default gateway with privateNetwork (v2)
The fix in #523016 fixes an issue with the default gateway, however it
does so by unconditionally defining `networking.interfaces.eth0`. This
makes so if you had other methods of defining the addresses for eth0,
those now get blanked out.

Instead, move the logic around so we only define
networking.interfaces.eth0 if we really have to.

(cherry picked from commit 217d834eb9)
2026-05-26 13:27:50 +00:00
nixpkgs-ci[bot]
09d2088fea [Backport release-26.05] vivaldi: 8.0.4033.26 -> 8.0.4033.34 (#524377) 2026-05-26 13:23:11 +00:00
naurissteins
9929c7e9e4 veila: init at 0.4.0
(cherry picked from commit a429079627)
2026-05-26 13:09:44 +00:00
naurissteins
612cc9ae5e maintainers: add naurissteins
(cherry picked from commit 8587780260)
2026-05-26 13:09:44 +00:00
Felix Bargfeldt
d84405d974 [Backport release-26.05] clorinde: 1.4.1 -> 2.0.0 (#524406) 2026-05-26 13:03:38 +00:00
yaya
68a93745d3 gitlab-runner: add meta.changelog
(cherry picked from commit 1309675d1c)
2026-05-26 12:56:44 +00:00
yaya
d0444f46f9 gitlab-runner: 18.11.2 -> 18.11.3
- Changelog: https://gitlab.com/gitlab-org/gitlab-runner/blob/v18.11.3/CHANGELOG.md
- Diff: https://gitlab.com/gitlab-org/gitlab-runner/-/compare/v18.11.2...v18.11.3

(cherry picked from commit 0050e4fdae)
2026-05-26 12:56:44 +00:00
Maximilian Bosch
6aeccf8562 roundcube: 1.7.0 -> 1.7.1
ChangeLog: https://github.com/roundcube/roundcubemail/releases/tag/1.7.1
(cherry picked from commit fde782a9eb)
2026-05-26 12:56:22 +00:00
R. Ryantm
887789e977 clorinde: 1.4.1 -> 2.0.0
(cherry picked from commit 955fec5622)
2026-05-26 10:33:29 +00:00
Felix Bargfeldt
cb6554026c [Backport release-26.05] zipline: 4.6.0 -> 4.6.1 (#524255) 2026-05-26 10:12:26 +00:00
R. Ryantm
149e7fb745 vivaldi: 8.0.4033.26 -> 8.0.4033.34
(cherry picked from commit 522ef4b01c)
2026-05-26 09:34:37 +00:00
nixpkgs-ci[bot]
8b2a452dd5 [Backport release-26.05] gelly: 1.1.2 -> 1.3.0 (#524370) 2026-05-26 09:28:39 +00:00
André Silva
231c6d79dd [Backport release-26.05] qbittorrent-nox: 5.2.0 -> 5.2.1 (#524346) 2026-05-26 09:14:30 +00:00
R. Ryantm
bbb918b1f6 gelly: 1.1.2 -> 1.3.0
(cherry picked from commit 13e00792bc)
2026-05-26 09:04:20 +00:00
Michal Koutenský
5619af9d05 doc/rl-2605: add a note about recommended gonic library rescan
(cherry picked from commit cdb7b3d592)
2026-05-26 08:28:12 +00:00
Michal Koutenský
3c8909d356 gonic: use finalAttrs
(cherry picked from commit 738acf24b8)
2026-05-26 08:28:12 +00:00
Michal Koutenský
9e111f94a8 gonic: 0.20.1 -> 0.21.0
(cherry picked from commit 3b042d8236)
2026-05-26 08:28:12 +00:00
Vincent Laporte
52463989a1 [Backport release-26.05] ocamlPackages.iri: 1.1.0 -> 1.2.0 (#524328) 2026-05-26 08:11:12 +00:00
Vincent Laporte
4d63832378 [Backport release-26.05] cvc5: 1.3.3 → 1.3.4 (#524325) 2026-05-26 08:05:09 +00:00
R. Ryantm
4b19988c94 qbittorrent-nox: 5.2.0 -> 5.2.1
(cherry picked from commit 79d682bd41)
2026-05-26 07:36:13 +00:00
Martin Weinelt
5888ab115d [Backport release-26.05] Firefox: 151.0.1 -> 151.0.2 (#524337) 2026-05-26 06:57:20 +00:00
@mjones
ab905305b5 [Backport release-26.05] mattermost: add .patch files for user limit and banner removal (#524332) 2026-05-26 06:54:20 +00:00
Martin Weinelt
4df567a2f1 firefox-bin-unwrapped: 151.0.1 -> 151.0.2
https://www.firefox.com/en-US/firefox/151.0.2/releasenotes/
(cherry picked from commit a8ec6de44b)
2026-05-26 06:48:43 +00:00
Martin Weinelt
b997463fc2 firefox-unwrapped: 151.0.1 -> 151.0.2
https://www.firefox.com/en-US/firefox/151.0.2/releasenotes/
(cherry picked from commit 1c2cf917ce)
2026-05-26 06:48:43 +00:00
Morgan Jones
11e32c793e nixos/mattermost: add v11 user limit changes to release notes
(cherry picked from commit 9ea1835918)
2026-05-26 06:39:00 +00:00
jose
f009f2d3a9 mattermost: add patches for user limit and banner removal
(cherry picked from commit fc9f1c91b2)
2026-05-26 06:39:00 +00:00
R. Ryantm
7e41cf4173 ocamlPackages.iri: 1.1.0 -> 1.2.0
(cherry picked from commit 365964046e)
2026-05-26 06:12:02 +00:00
Jenny
0c739c2565 [Backport release-26.05] librenms: 26.3.1 -> 26.5.1 (#524209) 2026-05-26 06:05:34 +00:00
Vincent Laporte
c57fe4bc08 cvc5: 1.3.3 → 1.3.4
symfpu: 0-unstable-2019-05-17 → 1.2.0-unstable-2026-05-13
(cherry picked from commit 2748725328)
2026-05-26 05:58:52 +00:00
Vincent Laporte
f7b9110ef4 [Backport release-26.05] ocamlPackages.caqti: 2.2.4 -> 2.3.1 (#524305) 2026-05-26 05:03:52 +00:00
Shelvacu
106b28babf losslesscut: init at 3.68.0
(cherry picked from commit 9812036e85)
2026-05-26 05:01:19 +00:00
nixpkgs-ci[bot]
1941fa2ce5 [Backport release-26.05] shogihome: 1.27.2 -> 1.27.3 (#524294) 2026-05-26 05:00:55 +00:00
nixpkgs-ci[bot]
4ae09cbfdd [Backport release-26.05] fluxcd-operator: 0.48.0 -> 0.49.0 (#524270) 2026-05-26 05:00:49 +00:00
Vincent Laporte
2ad81b95e9 [Backport release-26.05] ocamlPackages.awa: 0.5.2 -> 0.6.0 (#524306) 2026-05-26 04:53:48 +00:00
Vincent Laporte
41d5cd7e7e [Backport release-26.05] gajim: fix spell checking (#524304) 2026-05-26 04:44:45 +00:00
Vincent Laporte
fec5bcf841 ocamlPackages.awa: 0.5.2 → 0.6.0
(cherry picked from commit dd22c1adea)
2026-05-26 04:13:21 +00:00
R. Ryantm
a090168385 ocamlPackages.caqti: 2.2.4 -> 2.3.1
(cherry picked from commit 242ddaf0de)
2026-05-26 04:13:15 +00:00
haansn08
6ecc9c6467 gajim: fix spell checking
Gajim switched from gspell to libspelling for spell checking

(cherry picked from commit 5bba640bac)
2026-05-26 04:11:35 +00:00
R. Ryantm
b3277c7dcc shogihome: 1.27.2 -> 1.27.3
(cherry picked from commit 086e5644a0)
2026-05-26 03:39:12 +00:00
Michael Daniels
9e008ca2a4 [Backport release-26.05] maintainers: remove dsferruzza (#523965) 2026-05-26 01:42:31 +00:00
Michael Daniels
362844e8d7 [Backport release-26.05] maintainers: remove ciil (#523960) 2026-05-26 01:42:00 +00:00
Michael Daniels
5447a68e1c [Backport release-26.05] workflows: migrate from app-id to client-id (#524272) 2026-05-26 01:31:27 +00:00
Martin Weinelt
36d3b814e6 workflows: migrate from app-id to client-id
See https://github.com/actions/create-github-app-token/releases/tag/v3.1.0.

(cherry picked from commit 1cf127e528)
2026-05-26 01:27:20 +00:00
R. Ryantm
a4e57357d6 fluxcd-operator: 0.48.0 -> 0.49.0
(cherry picked from commit c4a8a1cd04)
2026-05-26 01:26:13 +00:00
Michael Daniels
07be792e52 [Backport release-26.05] fwts: link against zlib (#524135) 2026-05-26 01:23:48 +00:00
nixpkgs-ci[bot]
bf8cc53bb8 [Backport release-26.05] fluxcd-operator-mcp: 0.48.0 -> 0.50.0 (#524258) 2026-05-26 01:20:41 +00:00
Martin Weinelt
f587b4798a [Backport release-26.05] radvd: 2.20 -> 2.21 (#524256) 2026-05-26 00:23:36 +00:00
R. Ryantm
11169ea95f fluxcd-operator-mcp: 0.48.0 -> 0.50.0
(cherry picked from commit eadab7eb4e)
2026-05-26 00:23:10 +00:00
Martin Weinelt
e9181fae4e radvd: 2.20 -> 2.21
https://github.com/radvd-project/radvd/blob/refs/tags/v2.21/CHANGES

Fixes: CVE-2026-48715
(cherry picked from commit 161ac6ef6b)
2026-05-26 00:18:49 +00:00
nixpkgs-ci[bot]
26976edf65 [Backport release-26.05] fluxcd: 2.8.7 -> 2.8.8 (#524253) 2026-05-26 00:17:31 +00:00
R. Ryantm
18fc9349b7 zipline: 4.6.0 -> 4.6.1
(cherry picked from commit 7e694d8797)
2026-05-26 00:14:48 +00:00
R. Ryantm
bb58603cf8 fluxcd: 2.8.7 -> 2.8.8
(cherry picked from commit e1ea2e5ee3)
2026-05-26 00:01:24 +00:00
Yohann Boniface
c4d62d97d1 [Backport release-26.05] python3Packages.qtile{,-extras}: 0.35.0 -> 0.36.0 (#524246) 2026-05-25 23:54:53 +00:00
Sigmanificient
c0ff8c5ea5 python3Packages.qtile-extras: 0.35.0 -> 0.36.0
(cherry picked from commit f69ebe0945)
2026-05-25 23:50:09 +00:00
Sigmanificient
e713b4f218 python3Packages.qtile: add meta.changelog
(cherry picked from commit 83b8ff5ad3)
2026-05-25 23:50:08 +00:00
Sigmanificient
e8b485c354 python3Packages.qtile: add pytest-rerunfailures
(cherry picked from commit e25a46d54d)
2026-05-25 23:50:08 +00:00
Sigmanificient
27c6fb79cf python3Packages.qtile: 0.35.0 -> 0.36.0
(cherry picked from commit 6caca57e47)
2026-05-25 23:50:08 +00:00
@mjones
14bd57aedd [Backport release-26.05] dfhack: move env variables into env for structuredAttrs (#524238) 2026-05-25 23:30:05 +00:00
@mjones
c14d877ac6 [Backport release-26.05] androidStudioPackages.beta: 2025.3.4.5 -> 2026.1.1.6 (#524239) 2026-05-25 23:29:42 +00:00
Martin Weinelt
7f7385c363 [Backport release-26.05] nixos/lix: load tun kmod for pasta (#524227) 2026-05-25 23:27:26 +00:00
R. Ryantm
c1b5ed33c8 androidStudioPackages.beta: 2025.3.4.5 -> 2026.1.1.6
(cherry picked from commit d3cb5d71c2)
2026-05-25 23:17:06 +00:00
Morgan Jones
cbe69277cf dfhack: fix hash
The provided hash was for -r1, not -r2, which didn't work if you didn't
have a FOD cached.

(cherry picked from commit 12272aedde)
2026-05-25 23:17:04 +00:00
Stefan Frijters
55f0fdf30b dfhack: move env variables into env for structuredAttrs
(cherry picked from commit b58a49e4e4)
2026-05-25 23:17:03 +00:00
Sam Estep
8897ef8dfb acl2-minimal: fix aarch64-linux build
Assisted-by: Codex:gpt-5.5
(cherry picked from commit 2eb11ad6be)
2026-05-25 22:57:27 +00:00
Sandro
636542dce1 [Backport release-26.05] nextcloud-notify_push: 1.3.1 -> 1.3.3 (#523944) 2026-05-25 22:51:28 +00:00
Ryan Burns
cec5ecbe39 gdb: fix mainProgram for cross
This fixes the versionCheckHook, allowing
us to build for non-native target arches.

(cherry picked from commit 3e2c7006a7)
2026-05-25 22:51:27 +00:00
Thomas Butter
ca57ca7d33 alliance: unbreak
(cherry picked from commit a2e94ff957)
2026-05-25 22:47:20 +00:00
Martin Weinelt
abae498e43 nixos/lix: load tun kmod for pasta
With kernel lockdown the tun kmod is not necessarily available in stage2,
but Lix dependes on it through pasta.

nix-daemon[682677]: remote pid 682659 is user build (trusted)
nix-daemon[682711]: Failed to open() /dev/net/tun: No such device
nix-daemon[682702]: Failed to set up tap device in namespace

(cherry picked from commit 34fbf0285a)
2026-05-25 22:47:20 +00:00
Sandro
f0ddca605d [Backport release-26.05] python3Packages.openrazer: 3.12.2 -> 3.12.3 (#524105) 2026-05-25 22:28:29 +00:00
Martin Weinelt
b85031e3b9 [Backport release-26.05] python3Packages.voluptuous-stubs: migrate to pyproject (#524216) 2026-05-25 22:18:08 +00:00
Vincenzo Mantova
e25f81495e blahtexml: change --replace into --replace-fail
(cherry picked from commit 72b5b9ee5c)
2026-05-25 22:16:28 +00:00
Vincenzo Mantova
093a53d7ad blahtexml: build with texliveBasic instead of texliveFull
(cherry picked from commit 8a3fcf9c9e)
2026-05-25 22:16:28 +00:00
Vincenzo Mantova
14e686e1c3 blahtexml: ensure xsltproc is available during build
(cherry picked from commit 0370b27ebb)
2026-05-25 22:16:28 +00:00
R. Ryantm
7aa3948eab dropbear: 2025.89 -> 2026.91
(cherry picked from commit 3befc22a1f)
2026-05-25 22:05:35 +00:00
SkohTV
f8290a6360 python3Packages.voluptuous-stubs: modernize
(cherry picked from commit 36b5a88fc0)
2026-05-25 22:03:37 +00:00
SkohTV
1bfa2844d7 python3Packages.voluptuous-stubs: migrate to pyproject
(cherry picked from commit 9994343799)
2026-05-25 22:03:37 +00:00
Gliczy
8a727e5615 python3Packages.fvs: drop
(cherry picked from commit 450da25909)
2026-05-25 21:48:38 +00:00
Gliczy
b74795eb8c bottles-unwrapped: add fvs2
(cherry picked from commit b528953e93)
2026-05-25 21:48:38 +00:00
Gliczy
1713d3aa03 fvs2: init at 0.1.5
(cherry picked from commit ac41d890a9)
2026-05-25 21:48:38 +00:00
Jennifer Graul
06faf434dd librenms: 26.3.1 -> 26.5.1
(cherry picked from commit 8af543b74b)
2026-05-25 21:41:33 +00:00
hellwolf
94e656c187 python313Packages.eth-utils: fix build
- tests/core/functional-utils/test_type_inference.py

(cherry picked from commit 69a1cd8199)
2026-05-25 21:18:24 +00:00
Pol Dellaiera
3bf9dfe2ea [Backport release-26.05] mago: 1.23.0 -> 1.29.0 (#524187) 2026-05-25 21:14:36 +00:00
Martin Häcker
dde36afcea fence: remove development only tool from bin
(cherry picked from commit a5c63ea729)
2026-05-25 21:02:20 +00:00
R. Ryantm
89f35aab25 mago: 1.23.0 -> 1.29.0
(cherry picked from commit a2f0aea9bd)
2026-05-25 20:41:49 +00:00
Michael Daniels
5ee9ad1b7c [Backport release-26.05] rlottie: fix build on darwin (#524176) 2026-05-25 20:31:49 +00:00
Mathis Antony
a778ae0abd rlottie: fix build on darwin
(cherry picked from commit 890d046e97)
2026-05-25 20:24:28 +00:00
Michael Daniels
4d9189447a [Backport release-26.05] simgrid: fix build with pybind11 3.x (#524165) 2026-05-25 20:23:38 +00:00
Michael Daniels
65ab15fdd5 [Backport release-26.05] nixos/tests/vsftpd: enable vsftpd pam service (#524171) 2026-05-25 20:23:22 +00:00
Peder Bergebakken Sundt
196fe731e7 [Backport release-26.05] cccc: unbreak on GCC 15, 3.1.4 -> 3.2.0 (#524045) 2026-05-25 20:21:14 +00:00
Philippe Hürlimann
f6ebec3edc nixos/tests/vsftpd: enable vsftpd pam service to fix/workaround 5aa9012 regression
(cherry picked from commit 4fc18e6255)
2026-05-25 20:17:02 +00:00
Michael Daniels
0936562f09 [Backport release-26.05] nixos/vsftpd: release note PAM regression (#524166) 2026-05-25 19:58:10 +00:00
Adam Dinwoodie
612a2e73cf nixos/vsftpd: release note PAM regression
Commit 5aa9012bb3 (nixos: replace 'text' with structured PAM rules
(#420889), 2026-04-14) resulted in the vsftpd module no longer creating
a PAM module, and therefore configurations relying on `cfg.localUsers`
stopped permitting logins unless the PAM module was being set up by
other configuration.

In the absence of a better fix, document this change of behaviour as a
regression. Per the discussion at [0], provide a mechanims to restore
the previous behaviour, but with the caveat that this may be insecure.
I'd prefer more useful advice, but if I had a better understanding of
NixOS's PAM configuration and how it interacts with vsftpd, I'd just be
providing the better fix in the first place.

[0]: https://github.com/NixOS/nixpkgs/issues/515531#issuecomment-4367747991

(cherry picked from commit 93699b88a5)
2026-05-25 19:53:27 +00:00
Harinn
04e78b4065 simgrid: fix build with pybind11 3.x
(cherry picked from commit e1467260b6)
2026-05-25 19:51:47 +00:00
Michael Daniels
8e5c732a6c [Backport release-26.05] rubyPackages.glib2: 4.3.3 -> 4.3.6 (#524148) 2026-05-25 19:37:36 +00:00
Michael Daniels
49943a6043 [Backport release-26.05] python3Packages.eth-utils: disable failing typing tests (#524147) 2026-05-25 19:37:25 +00:00
Michael Daniels
375a836bdb [Backport release-26.05] python3Packages.sqlalchemy-continuum: drop sqlalchemy-{i18n,utils} removed in 1.5.x (#524155) 2026-05-25 19:30:49 +00:00
Michael Daniels
da778ea3df [Backport release-26.05] applgrid: fix Linux build (#524149) 2026-05-25 19:30:24 +00:00
Marc Jakobi
88e7af78ca [Backport release-26.05] luaPackages.lgi: Backport fix for GLib 2.88 (#524145) 2026-05-25 19:27:45 +00:00
Michael Daniels
91ff8d91dc [Backport release-26.05] corkscrew: fix build on Darwin (#524140) 2026-05-25 19:11:58 +00:00
Michael Daniels
763d6e189a [Backport release-26.05] shim-unsigned: fix build with binutils 2.46 (#524154) 2026-05-25 19:11:33 +00:00
Michael Daniels
6204830f7b [Backport release-26.05] git-run: regenerate package-lock.json for npm 11 (#524151) 2026-05-25 19:11:15 +00:00
Michael Daniels
db933900f0 [Backport release-26.05] python3Packages.sphinx-toolbox: relax ruamel.yaml and sphinx-tabs (#524142) 2026-05-25 19:11:06 +00:00
Michael Daniels
1d207fc18d [Backport release-26.05] python313Packages.coq-tools: fix build, modernize; python313Packages.subprocess4: init at 0.1.1 (#524141) 2026-05-25 19:10:46 +00:00
Michael Daniels
f06baa4b12 [Backport release-26.05] fauna-shell: fix build (#524134) 2026-05-25 19:03:36 +00:00
Michael Daniels
6a131d5e10 [Backport release-26.05] python3Packages.aspy-refactor-imports: drop (#524136) 2026-05-25 19:02:53 +00:00
Harinn
b7f6ae77f4 python3Packages.sqlalchemy-continuum: drop sqlalchemy-{i18n,utils} removed in 1.5.x
(cherry picked from commit 0c5ae31676)
2026-05-25 19:02:26 +00:00
Michael Daniels
b85bf0189f [Backport release-26.05] aw-notify: fix Darwin build (#524128) 2026-05-25 19:02:23 +00:00
Harinn
3ecffaa913 shim-unsigned: fix build with binutils 2.46
(cherry picked from commit 0ffae4a1de)
2026-05-25 19:02:13 +00:00
Michael Daniels
edb670c9a4 [Backport release-26.05] foonathan-memory: add patch to fix build on Darwin (#524132) 2026-05-25 19:00:57 +00:00
Michael Daniels
746bf9e72e [Backport release-26.05] nixosTests.pam-zfs-key: fix dataset mounting (#524130) 2026-05-25 19:00:34 +00:00
Michael Daniels
7141e726cf [Backport release-26.05] python3Packages.docstr-coverage: disable failing tests with click 8.3 (#524131) 2026-05-25 19:00:05 +00:00
Harinn
f352236954 git-run: regenerate package-lock.json for npm 11
(cherry picked from commit ffeed7553e)
2026-05-25 18:58:22 +00:00
Sam Estep
4c323a3a09 applgrid: fix aarch64-linux build
Assisted-by: Claude:opus-4.7
(cherry picked from commit bc93fb2af4)
2026-05-25 18:58:08 +00:00
Sam Estep
40b20ce2fe applgrid: fix build after root update
Assisted-by: Claude:opus-4.7
(cherry picked from commit 2977d737de)
2026-05-25 18:58:08 +00:00
Sam Estep
548109cb5c rubyPackages.glib2: 4.3.3 -> 4.3.6
Assisted-by: Claude:opus-4.7
(cherry picked from commit 4a4c0f5b9e)
2026-05-25 18:57:30 +00:00
Tom Hunze
5892eeb5c6 python3Packages.eth-utils: disable failing typing tests
Matching on mypy output is brittle.

Hydra: https://hydra.nixos.org/build/329150192
(cherry picked from commit d6c392b6f1)
2026-05-25 18:57:11 +00:00
benaryorg
7b47888eed luaPackages.lgi: Backport fix for GLib 2.88
This replaces the earlier 2.86 patch.
One may consider bumping the source to something newer than the 8 year old release, but that's out of scope for this fix.

Signed-off-by: benaryorg <binary@benary.org>
(cherry picked from commit 79f6dec101)
2026-05-25 18:54:08 +00:00
Robert Schaffar-Taurok
bfa198d3cb python3Packages.sphinx-toolbox: relax ruamel.yaml and sphinx-tabs
Assisted-by: OpenAI GPT 5.4
(cherry picked from commit a244258567)
2026-05-25 18:49:52 +00:00
Moraxyc
3ed77f6be2 python313Packages.coq-tools: 0.0.42 -> 0.0.44
(cherry picked from commit 0884eb6bab)
2026-05-25 18:49:24 +00:00
Moraxyc
efae21db94 python313Packages.coq-tools: switch to finalAttrs
(cherry picked from commit afa949fd3b)
2026-05-25 18:49:24 +00:00
Moraxyc
c7813fbe8c python313Packages.coq-tools: fix build
(cherry picked from commit a996ee27d5)
2026-05-25 18:49:24 +00:00
Moraxyc
161b8c8d92 python313Packages.subprocess4: init at 0.1.1
(cherry picked from commit a4b372b5f8)
2026-05-25 18:49:24 +00:00
Georgy Charkseliani
0cb195e653 corkscrew: fix build on Darwin
Define ANSI_FUNC so corkscrew uses ANSI C function definitions instead of legacy K&R definitions rejected by modern Clang/C23.

Assisted-by: OpenCode (openai/gpt-5.5)
(cherry picked from commit 47eb5f6f4d)
2026-05-25 18:49:22 +00:00
Michael Daniels
aac45e7c5d [Backport release-26.05] python3Packages.ipv8-rust-tunnels: enable pyo3 abi3 forward compat for python 3.14 (#524118) 2026-05-25 18:41:37 +00:00
Willy Hille
1f84a84fd8 python3Packages.aspy-refactor-imports: drop
upstream repo was renamed to classify-imports, which is already packaged in nixpkgs

(cherry picked from commit d59900aa17)
2026-05-25 18:41:33 +00:00
Harinn
50e9abd4d5 fwts: link against zlib
(cherry picked from commit e78b4e7f91)
2026-05-25 18:39:55 +00:00
Harinn
4ea4af20af fauna-shell: fix build
(cherry picked from commit 8b3e7a03b4)
2026-05-25 18:39:45 +00:00
Nicolas Benes
29824d0819 foonathan-memory: add patch to fix build on Darwin
(cherry picked from commit 1e0281f611)
2026-05-25 18:36:36 +00:00
Harinn
4e926c69c2 python3Packages.docstr-coverage: disable failing tests with click 8.3
(cherry picked from commit fe2096ee4b)
2026-05-25 18:34:50 +00:00
Shogo Takata
9ce5dd3a61 nixosTests.pam-zfs-key: fix dataset mounting
The test created ZFS datasets with canmount=noauto, but pam_zfs_key's
mount_dataset() now checks canmount == ZFS_CANMOUNT_ON and skips
mounting otherwise (added in
https://github.com/openzfs/zfs/commit/387ed5ca41). Use the default
canmount=on and unmount before unloading the key to compensate for
the auto-mount that happens when the key is loaded during creation.
This also silences the warning for forceImportRoot.

Assisted-by: opencode with DeepSeek V4 Flash Free
(cherry picked from commit 3fdfb983c7)
2026-05-25 18:34:49 +00:00
Sam Estep
61ea2bb237 aw-notify: fix Darwin build
Assisted-by: Codex:gpt-5.5
(cherry picked from commit f403883c2d)
2026-05-25 18:33:11 +00:00
Michael Daniels
71698205b8 [Backport release-26.05] python3Packages.psycopg2cffi: disable test_notify on python 3.13+ (#524117) 2026-05-25 18:30:58 +00:00
Florian Klink
9dde6d6888 [Backport release-26.05] lensfun: update lens database (#524109) 2026-05-25 18:07:39 +00:00
Harinn
1675be7358 python3Packages.ipv8-rust-tunnels: enable pyo3 abi3 forward compat for python 3.14
(cherry picked from commit 6674230b24)
2026-05-25 18:03:42 +00:00
Harinn
e35e0188ba python3Packages.psycopg2cffi: disable test_notify on python 3.13+
(cherry picked from commit b6a14fbf9f)
2026-05-25 18:00:56 +00:00
Michael Daniels
e94c35b322 [Backport release-26.05] monophony: drop quadradical from maintainers (#524113) 2026-05-25 17:46:39 +00:00
Michael Daniels
ec9eeb85c3 [Backport release-26.05] python3Packages.pytest-pylint: fix tests with newer pytest (#523868) 2026-05-25 17:45:28 +00:00
nixpkgs-ci[bot]
085b1395e9 [Backport release-26.05] adguardhome: 0.107.74 -> 0.107.76 (#524102) 2026-05-25 17:43:19 +00:00
Henry-Hiles
8d4f54dc55 monophony: drop quadradical from maintainers
(cherry picked from commit cb714a85ad)
2026-05-25 17:41:56 +00:00
teutat3s
7b5f224cf8 docker_25: 25.0.13 -> 25.0.16
https://github.com/moby/moby/milestone/212?closed=1
https://github.com/moby/moby/milestone/215?closed=1
https://github.com/moby/moby/milestone/237?closed=1

Upstream did not tag a new release for docker/cli, and there are no new
commits in the 25.0 branch:
43987fca48...25.0

https://github.com/moby/moby/compare/v25.0.13...v25.0.16
(cherry picked from commit ff2f4a4013)
2026-05-25 17:34:57 +00:00
James Connolly
6a5409cb98 lensfun: update lens database
also switches to the new `generate_db.py` script
this was done because the old `lensfun_convert_db_v2_to_v1.py` script has been
removed upstream and this is the new preferred method

additionally, this adds the optional `lensfunDatabases` argument which can be
used to override the lens database used when building the package

(cherry picked from commit f652ee5019)
2026-05-25 17:34:04 +00:00
arch-fan
8072d62389 python3Packages.openrazer: 3.12.2 -> 3.12.3
(cherry picked from commit 99643def59)
2026-05-25 17:13:27 +00:00
Alyssa Ross
82065d16f0 [Backport release-26.05] llvmPackages_git: 23.0.0-unstable-2026-05-17 -> 23.0.0-unstable-2026-… (#524086) 2026-05-25 17:13:15 +00:00
Michael Daniels
7fcb458a06 [Backport release-26.05] age-plugin-fido2prf: fix darwin build by patching hardcoded Homebrew paths (#523860) 2026-05-25 17:08:53 +00:00
R. Ryantm
a0d03c9ddc adguardhome: 0.107.74 -> 0.107.76
(cherry picked from commit 49b3abff50)
2026-05-25 17:05:24 +00:00
Michael Daniels
ee3f02e689 [Backport release-26.05] armTrustedFirmwareTools: include dtc and gcc in nativeBuildInputs to fix darwin build (#523866) 2026-05-25 16:45:50 +00:00
Michael Daniels
8d3fb58c90 [Backport release-26.05] python3Packages.bezier: unbreak on Darwin (#524087) 2026-05-25 16:45:01 +00:00
Michael Daniels
8f84d93eea [Backport release-26.05] akkoma-admin-fe: use cctools libtool on darwin to fix node-sass build (#523864) 2026-05-25 16:39:32 +00:00
Sandro Jäckel
4d87df77fe pihole: 6.4 -> 6.4.2
Changelog: https://github.com/pi-hole/pi-hole/releases/tag/v6.4.2
(cherry picked from commit e34409871f)
2026-05-25 16:21:20 +00:00
Sandro Jäckel
8ed0934a96 pihole: fix nix-update, move meta before passhtru
(cherry picked from commit 09594b5d07)
2026-05-25 16:21:20 +00:00
Michael Daniels
8d2eaa762a python3Packages.bezier: unbreak on Darwin
(cherry picked from commit 3bb9a2d4e5)
2026-05-25 16:16:05 +00:00
Tristan Ross
45aa6e3456 llvmPackages_git: 23.0.0-unstable-2026-05-17 -> 23.0.0-unstable-2026-05-24
(cherry picked from commit cf95967217)
2026-05-25 16:15:56 +00:00
Gaétan Lepage
88aeab524d [Backport release-26.05] invidious: unpin crystal version (#524053) 2026-05-25 16:00:03 +00:00
Alex Epelde
5cc04113ec invidious: unpin crystal version
(cherry picked from commit 85ff4f4eb1)
2026-05-25 14:58:14 +00:00
Adam C. Stephens
b8d260dd14 [Backport release-26.05] sabnzbd: 5.0.1 -> 5.0.3 (#524035) 2026-05-25 14:50:04 +00:00
André Silva
9b87281b89 [Backport release-26.05] easyeffects: 8.2.2 -> 8.2.4 (#524043) 2026-05-25 14:45:48 +00:00
Thomas Butter
29598a7627 cccc: 3.1.4 -> 3.2.0
(cherry picked from commit ddf6f37d4f)
2026-05-25 14:45:47 +00:00
André Silva
97b4b665f9 easyeffects: 8.2.2 -> 8.2.4
(cherry picked from commit 20680deac9)
2026-05-25 14:40:03 +00:00
R. Ryantm
59e94373e8 sabnzbd: 5.0.1 -> 5.0.3
(cherry picked from commit 28dae30fee)
2026-05-25 14:14:37 +00:00
nixpkgs-ci[bot]
67de202206 [Backport release-26.05] mystmd: 1.9.0 -> 1.9.1 (#523946) 2026-05-25 13:59:09 +00:00
André Silva
34bf125ce3 [Backport release-26.05] easyeffects: hide x42-plugins behind isx86 (#524022) 2026-05-25 13:48:46 +00:00
Sandro
01ba43d795 [Backport release-26.05] podofo{_1_0,}: remove wrong version from name (#520658) 2026-05-25 13:43:09 +00:00
Ingo Reitz
15e630ca35 easyeffects: hide x42-plugins behind isx86
(cherry picked from commit 820de37604)
2026-05-25 13:41:20 +00:00
Martin Weinelt
d8fb34e72f [Backport release-26.05] evcc: 0.307.0 -> 0.307.1 (#524018) 2026-05-25 13:39:05 +00:00
Martin Weinelt
944a00877a evcc: 0.307.0 -> 0.307.1
https://github.com/evcc-io/evcc/releases/tag/0.307.1
(cherry picked from commit b766c1fe3a)
2026-05-25 13:30:55 +00:00
nixpkgs-ci[bot]
99cbef2888 [Backport release-26.05] garnet: 1.1.6 -> 1.1.9 (#523976) 2026-05-25 12:48:19 +00:00
nixpkgs-ci[bot]
19b722db14 [Backport release-26.05] pipeline: 4.0.2 -> 4.0.3 (#523971) 2026-05-25 12:48:16 +00:00
R. Ryantm
3c2cac77ea garnet: 1.1.6 -> 1.1.9
(cherry picked from commit 0deb8382a8)
2026-05-25 11:45:25 +00:00
Gaétan Lepage
dc6361e63e [Backport release-26.05] python3Packages.numpy: fix riscv64-linux build (#523685) 2026-05-25 11:44:33 +00:00
nixpkgs-ci[bot]
3dc9d7878d [Backport release-26.05] authentik: 2025.12.4 -> 2025.12.5 (#523942) 2026-05-25 11:33:51 +00:00
nixpkgs-ci[bot]
e7680378ae [Backport release-26.05] kimai: 2.56.0 -> 2.57.0 (#523941) 2026-05-25 11:33:48 +00:00
R. Ryantm
f336998635 pipeline: 4.0.2 -> 4.0.3
(cherry picked from commit 64c21a0dd8)
2026-05-25 11:31:31 +00:00
Ryan Omasta
1b60b62749 maintainers: remove dsferruzza
(cherry picked from commit 15ee393152)
2026-05-25 11:08:09 +00:00
Ryan Omasta
8f4f8924be maintainers: remove ciil
(cherry picked from commit ec5e8f914c)
2026-05-25 11:03:24 +00:00
Thomas Butter
3eb2a1b52a mystmd: 1.9.0 -> 1.9.1
(cherry picked from commit 609f02dc37)
2026-05-25 10:27:17 +00:00
Sandro Jäckel
cf143940f9 nextcloud-notify_push: 1.3.1 -> 1.3.3
Diff: https://github.com/nextcloud/notify_push/compare/v1.3.1...v1.3.3

Changelog: https://github.com/nextcloud/notify_push/releases/tag/v1.3.3
(cherry picked from commit 9b24328fda)
2026-05-25 10:22:56 +00:00
Robert Schütz
221ecd7001 authentik: 2025.12.4 -> 2025.12.5
Diff: https://github.com/goauthentik/authentik/compare/version/2025.12.4...version/2025.12.5

Changelog: https://github.com/goauthentik/authentik/releases/tag/version%2F2025.12.5
(cherry picked from commit 37249a0a29)
2026-05-25 10:07:37 +00:00
R. Ryantm
182cfbd047 kimai: 2.56.0 -> 2.57.0
(cherry picked from commit 39c9142f83)
2026-05-25 10:06:55 +00:00
André Silva
632e240fd5 [Backport release-26.05] jellyfin{,-web}: 10.11.8 -> 10.11.10 (#523927) 2026-05-25 09:20:11 +00:00
Victor Jacobs
aec8047ca6 jellyfin: 10.11.8 -> 10.11.10
(cherry picked from commit de7a08e42e)
2026-05-25 09:14:17 +00:00
Wolfgang Walther
1aa63e4f5f [Backport release-26.05] workflows/periodic-merge: update haskell-updates PR's base branch (#523918) 2026-05-25 08:09:20 +00:00
Wolfgang Walther
b1619a4ef0 workflows/periodic-merge: update haskell-updates PR's base branch
This gives us better UI in the PR by hiding the commits that are already
on the base branch (mostly staging) after the periodic merge. Without
this, the PR has 100s of commits listed after a few days.

(cherry picked from commit 5439176950)
2026-05-25 08:06:03 +00:00
Wolfgang Walther
3dc0105541 workflows/periodic-merge: allow testing in forks
Manually dispatching in your fork should still trigger the workflow to
test.

(cherry picked from commit fe5cea9c90)
2026-05-25 08:06:03 +00:00
@mjones
f6ebb8c223 [Backport release-26.05] dwarf-fortress: 53.11 -> 53.14 (#523905) 2026-05-25 07:10:22 +00:00
Morgan Jones
7596362959 dwarf-fortress: 53.11 -> 53.14
(cherry picked from commit be347c722d)
2026-05-25 06:55:15 +00:00
@mjones
4af760ff20 [Backport release-26.05] androidStudioPackages.canary: 2026.1.1.5 -> 2026.1.2.2 (#523891) 2026-05-25 05:34:52 +00:00
R. Ryantm
ab0df422bd androidStudioPackages.canary: 2026.1.1.5 -> 2026.1.2.2
(cherry picked from commit 86664a0f9d)
2026-05-25 05:29:19 +00:00
@mjones
b968491899 [Backport release-26.05] tpm2-pkcs11: 1.9.2 -> 1.10.0 (#523884) 2026-05-25 05:24:44 +00:00
@mjones
953cc572a3 [Backport release-26.05] lmstudio: 0.4.13.1 -> 0.4.14.4 (#523882) 2026-05-25 05:24:38 +00:00
nixpkgs-ci[bot]
50aea46f4f [Backport release-26.05] field-monitor: 50.0 -> 50.1 (#523870) 2026-05-25 05:17:19 +00:00
Morgan Jones
a909cc52ed tpm2-pkcs11: 1.9.2 -> 1.10.0
(cherry picked from commit 4b9ac442e4)
2026-05-25 04:51:27 +00:00
crertel
571318a88f lmstudio: 0.4.13.1 -> 0.4.14.4
(cherry picked from commit 1609924c67)
2026-05-25 04:43:52 +00:00
R. Ryantm
00e44259f4 field-monitor: 50.0 -> 50.1
(cherry picked from commit f533f85387)
2026-05-25 03:49:47 +00:00
Harinn
95521573a4 python3Packages.pytest-pylint: fix tests with newer pytest
(cherry picked from commit c514b3f9d1)
2026-05-25 03:40:04 +00:00
Thierry Delafontaine
a81e27cbbd armTrustedFirmwareTools: include dtc and gcc in nativeBuildInputs to fix darwin build
(cherry picked from commit 538fb9d3df)
2026-05-25 03:37:58 +00:00
Thierry Delafontaine
d5ca66cf88 akkoma-admin-fe: use cctools libtool on darwin to fix node-sass build
(cherry picked from commit 6e7e69cc25)
2026-05-25 03:34:52 +00:00
Michael Daniels
955b98c8eb [Backport release-26.05] python3Packages.libarcus: drop (#523859) 2026-05-25 03:29:58 +00:00
Thierry Delafontaine
0496d850d3 age-plugin-fido2prf: fix darwin build by patching hardcoded Homebrew paths
(cherry picked from commit 91aac5dc91)
2026-05-25 03:14:22 +00:00
Sam Estep
864d6f3032 python3Packages.libarcus: drop
Assisted-by: Codex:gpt-5.5
Assisted-by: Claude:opus-4.7
(cherry picked from commit 2436990329)
2026-05-25 03:13:07 +00:00
Michael Daniels
df3a038f6d [Backport release-26.05] python3Packages.irc: fix tests on python 3.14 (#523833) 2026-05-25 03:03:18 +00:00
Michael Daniels
44e4222a59 [Backport release-26.05] python3packages.braintree: 4.41.0 -> 4.43.0 (#523837) 2026-05-25 02:37:07 +00:00
Michael Daniels
6eac63c88a [Backport release-26.05] perlPackages.SessionToken: fix build with gcc15 (#523831) 2026-05-25 02:29:42 +00:00
Michael Daniels
3c0ec23127 [Backport release-26.05] python3Packages.aiotarfile: skip tests on python 3.14 (#523836) 2026-05-25 02:29:10 +00:00
Michael Daniels
50e5328693 [Backport release-26.05] mini-httpd: fix build with boost 1.89 (#523832) 2026-05-25 02:25:34 +00:00
Michael Daniels
cfd88eaba1 [Backport release-26.05] python3Packages.bezier: fix executable stack import error on linux (#523834) 2026-05-25 02:23:42 +00:00
Martin Weinelt
86a3bb014d [Backport release-26.05] esphome: 2026.5.0 -> 2026.5.1 (#523830) 2026-05-25 01:54:50 +00:00
Conor
bbde42c80f python3Packages.braintree: 4.41.0 -> 4.43.0
(cherry picked from commit fab38f96a8)
2026-05-25 01:50:20 +00:00
Harinn
0d3b353aaf python3Packages.aiotarfile: skip tests on python 3.14
(cherry picked from commit 1bb8e5da7c)
2026-05-25 01:49:05 +00:00
Harinn
7d28e0e202 python3Packages.bezier: fix executable stack import error
(cherry picked from commit ac828aaf0f)
2026-05-25 01:47:40 +00:00
Harinn
5009939ae3 python3Packages.irc: fix tests on python 3.14
(cherry picked from commit 435f8d720c)
2026-05-25 01:45:54 +00:00
Xiangyan Sun
94a342c366 perlPackages.SessionToken: fix build with gcc15
(cherry picked from commit 4d8b678ec6)
2026-05-25 01:45:44 +00:00
Xiangyan Sun
3f913b77ef mini-httpd: fix build with boost 1.89
(cherry picked from commit 94eb7e93f2)
2026-05-25 01:45:44 +00:00
Martin Weinelt
24797747de esphome: 2026.5.0 -> 2026.5.1
https://github.com/esphome/esphome/releases/tag/2026.5.1
(cherry picked from commit e69efbba69)
2026-05-25 01:43:39 +00:00
Felix Bargfeldt
810dae540a [Backport release-26.05] python314Packages.django-valkey: fix python version conditions in optional dependencies, cleanup; python314Packages.django-vcache: 1.0.0 -> 2.1.1; python314Packages.django-vtasks: 1.0.3 -> 2.1.1 (#523799) 2026-05-25 00:37:03 +00:00
kuflierl
95f9aff0d9 podofo{_1_0,}: remove wrong version from name 2026-05-25 02:33:36 +02:00
nixpkgs-ci[bot]
f3d2476517 [Backport release-26.05] tlrc: 1.13.0 -> 1.13.1 (#523807) 2026-05-24 23:09:46 +00:00
Lena Pastwa
69f605171d tlrc: 1.13.0 -> 1.13.1
(cherry picked from commit 23b2162124)
2026-05-24 22:57:39 +00:00
zowoq
c345638ec7 [Backport release-26.05] linuxKernel.kernels.linux_zen: 7.0.9-zen2 -> 7.0.10-zen1 (#523804) 2026-05-24 22:48:05 +00:00
Linus Karl
79b46bcf71 linuxKernel.kernels.linux_zen: 7.0.9-zen2 -> 7.0.10-zen1
(cherry picked from commit 619e382a1d)
2026-05-24 22:43:20 +00:00
Sandro Jäckel
fd04332791 python314Packages.django-vtasks: 1.0.3 -> 2.1.1
Diff: https://gitlab.com/glitchtip/django-vtasks/-/compare/v1.0.3...v2.1.1
(cherry picked from commit f8c8dab2ae)
2026-05-24 22:33:04 +00:00
Sandro Jäckel
d6db5aabf7 python314Packages.django-vcache: 1.0.0 -> 2.1.1
Changelog: https://gitlab.com/glitchtip/django-vcache/-/blob/v2.1.1/CHANGELOG.md
Diff: https://gitlab.com/glitchtip/django-vcache/-/compare/v1.0.0...v2.1.1
(cherry picked from commit 677fd63287)
2026-05-24 22:33:04 +00:00
Sandro Jäckel
f20c9d6a13 python314Packages.django-valkey: fix python version conditions in optional dependencies, cleanup
(cherry picked from commit 415b61226a)
2026-05-24 22:33:04 +00:00
zowoq
cf73e8d78d [Backport release-26.05] kernel updates for 2026-05-23 (part 2) (#523798) 2026-05-24 22:27:33 +00:00
zowoq
8c25e6bdc0 linux_5_10: 5.10.256 -> 5.10.257
(cherry picked from commit fdee877a17)
2026-05-24 22:22:51 +00:00
zowoq
f851b430ce linux_5_15: 5.15.207 -> 5.15.208
(cherry picked from commit be8e6fc62c)
2026-05-24 22:22:51 +00:00
zowoq
22bff227a1 linux_6_1: 6.1.173 -> 6.1.174
(cherry picked from commit a217e612d1)
2026-05-24 22:22:51 +00:00
Niklas Korz
9e308aa8c0 [Backport release-26.05] gram: 2.1.0 -> 2.1.2 (#523792) 2026-05-24 22:00:49 +00:00
R. Ryantm
4bffbfab77 gram: 2.1.0 -> 2.1.2
(cherry picked from commit 4a598a0ca7)
2026-05-24 21:56:11 +00:00
Makuru
d5797cb22d kicad: 10.0.2 -> 10.0.3
(cherry picked from commit 25dd50acb7)
2026-05-24 21:46:11 +00:00
Niklas Korz
36dd490504 [Backport release-26.05] wesnoth-devel: 1.19.23 -> 1.19.24 (#523785) 2026-05-24 21:43:59 +00:00
R. Ryantm
7acb2d19b5 wesnoth-devel: 1.19.23 -> 1.19.24
(cherry picked from commit 2378e087dc)
2026-05-24 21:39:19 +00:00
nixpkgs-ci[bot]
297b2d795b [Backport release-26.05] simplex-chat-desktop: fix updates for aarch64-linux (#523775) 2026-05-24 20:56:54 +00:00
Terry Garcia
a820ef2699 simplex-chat-desktop: fix updates for aarch64-linux
Replace gitUpdater with a shell script that invokes
update-source-version once per system using
--source-key, so both per-arch AppImage hashes are
refreshed on each version bump.

(cherry picked from commit ec5d28b85b)
2026-05-24 20:51:46 +00:00
Matt Sturgeon
31e79603d1 [Backport release-26.05] python3Packages.otter-grader: init at 6.1.6; python3Packages.fica: init at 0.4.1 (#523764) 2026-05-24 20:49:52 +00:00
HHR2020
bb48016b3b python3Packages.otter-grader: init at 6.1.6
(cherry picked from commit 72e2be4cfb)
2026-05-24 20:39:10 +00:00
HHR2020
08544ba5cb python3Packages.fica: init at 0.4.1
(cherry picked from commit dde7586eb4)
2026-05-24 20:39:10 +00:00
winston
2bb3bae9d6 python3Packages.wasmtime: fix meta, changelog url typo & refine license
(cherry picked from commit b4b7b6c9d1)
2026-05-24 20:30:33 +00:00
winston
287ff70762 python3Packages.wasmtime: fix darwin shared library path
(cherry picked from commit 587a3ef79a)
2026-05-24 20:30:33 +00:00
nixpkgs-ci[bot]
88ce442adc [Backport release-26.05] qbz: wrap pactl and pw-metadata into PATH (#523630) 2026-05-24 19:50:33 +00:00
Marcus Ramberg
981e7ce009 [Backport release-26.05] texlive: merge withDocs, tlDeps updates and remove texlive.combine from the documentation (#523671) 2026-05-24 18:05:11 +00:00
nixpkgs-ci[bot]
38e2454f01 [Backport release-26.05] fluffychat: 2.5.1 -> 2.6.0 (#523656) 2026-05-24 17:46:27 +00:00
Harinn
9545cb0146 python3Packages.obspec: fix pytest-mypy-plugins under sandbox
(cherry picked from commit 83d906581b)
2026-05-24 17:11:49 +00:00
liberodark
3930a2c1cc python3Packages.numpy: fix riscv64-linux build
(cherry picked from commit 65ae5aabf4)
2026-05-24 17:08:14 +00:00
nixpkgs-ci[bot]
77d41323e7 [Backport release-26.05] cargo-codspeed: 4.6.0 -> 4.7.0 (#523648) 2026-05-24 16:46:35 +00:00
Martin Weinelt
9a0a0c0d8b [Backport release-26.05] nixos/music-assistant: disable MemoryDenyWriteExecute (#523670) 2026-05-24 16:37:37 +00:00
Vincenzo Mantova
6081b0320c doc: remove texlive.combine from the TeX Live documentation
(cherry picked from commit 022d9ebeeb)
2026-05-24 16:33:09 +00:00
Vincenzo Mantova
614cdd7b0e R: make tlDeps a function
(cherry picked from commit af229eadca)
2026-05-24 16:33:09 +00:00
Vincenzo Mantova
4f5a6cb074 R: remove legacy tlType, pkgs attributes
(cherry picked from commit f53f80a757)
2026-05-24 16:33:09 +00:00
Vincenzo Mantova
fd3e3d317f perlPackages.LaTeXML: remove legacy tlType, pkgs attributes
(cherry picked from commit 9dd731c4bf)
2026-05-24 16:33:09 +00:00
Vincenzo Mantova
fadc6cb95d noweb: remove legacy tlType, pkgs attributes
(cherry picked from commit 539315b6fc)
2026-05-24 16:33:09 +00:00
Vincenzo Mantova
1b741c8b22 mftrace: make tlDeps a function
(cherry picked from commit 089f87d34b)
2026-05-24 16:33:09 +00:00
Vincenzo Mantova
b8b34804b5 junicode: make tlDeps a function
(cherry picked from commit deedb05a23)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
ebd63f6886 eukleides: make tlDeps a function
(cherry picked from commit 7751dd9cbe)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
978486f839 eukleides: remove legacy tlType, pkgs attributes
(cherry picked from commit 27f106cf12)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
5909aede31 auto-multiple-choice: remove legacy tlType, pkgs attributes
(cherry picked from commit aaf6a1e1f4)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
2df4274007 auctex: remove legacy tlType, pkgs attributes
(cherry picked from commit dbeafe9461)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
891d109b27 texlive.withPackages: allow tlDeps to be a function, drop unused requiredTeXPackages
(cherry picked from commit 3a6bafbdf5)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
4b682b2ce7 texlive.withPackages: replace force-output.sh with preHook
(cherry picked from commit c8b6540469)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
51cbf2738d texlive.withPackages: add withDocs, withSources to default attributes
(cherry picked from commit 27da8a3737)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
56adf3a77f texlive.withPackages: enable strictDeps
(cherry picked from commit d40578e2b1)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
be4b75107f tests.texlive.texdoc: use withDocs to add the doc containers
(cherry picked from commit 96c9b622de)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
995debc65c texliveFullWithDocs: init at 2025-r78234-final
(cherry picked from commit 38a19e2d2f)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
321284d69f texlive.withPackages: move withDocs, withSources from passthru to derivation arguments
(cherry picked from commit 41d265c82a)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
622109b905 texlive.withPackages: use buildenv (finalAttrs: ...)
(cherry picked from commit 62b7051f28)
2026-05-24 16:33:08 +00:00
Vincenzo Mantova
4bd0192e93 texlive.withPackages: remove unused arguments
(cherry picked from commit f5804647d9)
2026-05-24 16:33:08 +00:00
Marie Ramlow
621d246e27 nixos/music-assistant: disable MemoryDenyWriteExecute
MemoryDenyWriteExecute=true breaks pyopenssl's cffi calls, used in the remote access feature.

```
2026-05-24 17:32:58.344 ERROR (MainThread) [music_assistant] Error doing task: Task exception was never retrieved
Traceback (most recent call last):
  File "/nix/store/mmv9717wjskv3q5v4768dq0fq5hf4jry-python3.13-aiortc-1.14.0/lib/python3.13/site-packages/aiortc/rtcpeerconnection.py", line 1084, in __connect
    await dtlsTransport.start(self.__remoteDtls[self.__sctp])
  File "/nix/store/mmv9717wjskv3q5v4768dq0fq5hf4jry-python3.13-aiortc-1.14.0/lib/python3.13/site-packages/aiortc/rtcdtlstransport.py", line 518, in start
    self.__local_certificate._create_ssl_context(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        srtp_profiles=self._srtp_profiles
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/nix/store/mmv9717wjskv3q5v4768dq0fq5hf4jry-python3.13-aiortc-1.14.0/lib/python3.13/site-packages/aiortc/rtcdtlstransport.py", line 198, in _create_ssl_context
    ctx.set_verify(
    ~~~~~~~~~~~~~~^
        SSL.VERIFY_PEER | SSL.VERIFY_FAIL_IF_NO_PEER_CERT, lambda *args: True
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/nix/store/5kwsndvbzfj3dv4fwpdlgin42mgbd4xk-python3.13-pyopenssl-26.0.0/lib/python3.13/site-packages/OpenSSL/SSL.py", line 867, in inner
    return f(self, *args, **kwargs)
  File "/nix/store/5kwsndvbzfj3dv4fwpdlgin42mgbd4xk-python3.13-pyopenssl-26.0.0/lib/python3.13/site-packages/OpenSSL/SSL.py", line 1390, in set_verify
    self._verify_helper = _VerifyHelper(callback)
                          ~~~~~~~~~~~~~^^^^^^^^^^
  File "/nix/store/5kwsndvbzfj3dv4fwpdlgin42mgbd4xk-python3.13-pyopenssl-26.0.0/lib/python3.13/site-packages/OpenSSL/SSL.py", line 527, in __init__
    self.callback = _ffi.callback(
                    ~~~~~~~~~~~~~^
        "int (*)(int, X509_STORE_CTX *)", wrapper
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
MemoryError: Cannot allocate write+execute memory for ffi.callback(). You might be running on a system that prevents this. For more information, see https://cffi.readthedocs.io/en/latest/using.html#callbacks
```

(cherry picked from commit 6b53fc13e3)
2026-05-24 16:33:03 +00:00
Matt Sturgeon
f32d36ae38 [Backport release-26.05] .github: Add release-26.05 CI config (#523662) 2026-05-24 16:09:15 +00:00
yaya
353aa7f888 .github: Add release-26.05 CI config
(cherry picked from commit 41a5348c15)
2026-05-24 16:03:14 +00:00
Peder Bergebakken Sundt
ebdb5acac5 [Backport release-26.05] manifold: 3.4.1 -> 3.5.0 (#523640) 2026-05-24 16:02:00 +00:00
twoneis
40cd680020 fluffychat: 2.5.1 -> 2.6.0
(cherry picked from commit e9ea113abd)
2026-05-24 15:57:46 +00:00
nixpkgs-ci[bot]
5c1be16756 [Backport release-26.05] librewolf-unwrapped: 150.0.3-1 -> 151.0.1-2 (#523628) 2026-05-24 15:49:24 +00:00
Peder Bergebakken Sundt
239fd9e7ad [Backport release-26.05] nocturne: init at 1.1.1 (#523642) 2026-05-24 17:34:24 +02:00
Peder Bergebakken Sundt
3d68ffd154 [Backport release-26.05] python3Packages.hdf5plugin: parametrize cpu features (#523644) 2026-05-24 17:33:31 +02:00
Peder Bergebakken Sundt
f8e3d3bd26 [Backport release-26.05] goperf: 0-unstable-2026-04-09 -> 0-unstable-2026-05-12 (#523643) 2026-05-24 17:33:07 +02:00
Hythera
7c24763f98 libsolv: 0.7.36 -> 0.7.37
changelog: https://github.com/openSUSE/libsolv/blob/0.7.37/NEWS

diff: https://github.com/openSUSE/libsolv/compare/0.7.36...0.7.37
(cherry picked from commit 82679a6d3f)
2026-05-24 15:26:28 +00:00
R. Ryantm
3ad8c3222d cargo-codspeed: 4.6.0 -> 4.7.0
(cherry picked from commit 8487ffb9d7)
2026-05-24 15:24:58 +00:00
isabel
148c1057f2 [Backport release-26.05] metadata: fix build with ffmpeg 8.1 (#523639) 2026-05-24 16:14:16 +01:00
isabel
9f9c38223a [Backport release-26.05] larswm: drop (#523636) 2026-05-24 16:13:57 +01:00
Peder Bergebakken Sundt
15c6cd83d5 python3Packages.hdf5plugin: parametrize cpu features
Co-Authored-By: Grimmauld <Grimmauld@grimmauld.de>
Co-Authored-By: Sam Estep <sam@samestep.com>
(cherry picked from commit 5fd9b32603)
2026-05-24 15:09:18 +00:00
R. Ryantm
9c1ff69fc2 goperf: 0-unstable-2026-04-09 -> 0-unstable-2026-05-12
(cherry picked from commit 1e61ab15a6)
2026-05-24 15:08:27 +00:00
Peder Bergebakken Sundt
9eb740507b nocturne: init at 1.1.1
Assisted-by: nix-init
(cherry picked from commit 0de7dbe165)
2026-05-24 15:07:11 +00:00
Peder Bergebakken Sundt
f48e2500ce python3Packages.mpris-server: adopt, fixup
I assume quadradical doesn't want to re-assume maintainership simply because I reverted the package drop for my own purposes.

(cherry picked from commit 261eac2ed0)
2026-05-24 15:07:11 +00:00
Peder Bergebakken Sundt
a57d3837bb Revert "python3Packages.mpris-server: drop"
This commit reverts d698f37523

(cherry picked from commit 481a260d76)
2026-05-24 15:07:11 +00:00
R. Ryantm
4c0cad3482 manifold: 3.4.1 -> 3.5.0
(cherry picked from commit 8499fe1164)
2026-05-24 14:59:23 +00:00
Harinn
d1319eeba0 metadata: fix build with ffmpeg 8.1
(cherry picked from commit cbb314acf6)
2026-05-24 14:59:15 +00:00
Harinn
9ffe8b6b6e larswm: drop
(cherry picked from commit aef777d2cb)
2026-05-24 14:54:01 +00:00
William Weiskopf
0d1aeb93c0 qbz: wrap pactl and pw-metadata into PATH
qbz uses pactl for PipeWire device enumeration and sink routing, and
pw-metadata for bit-perfect sample rate queries. Without these on PATH,
audio playback fails with "Failed to run pactl: No such file or directory".

(cherry picked from commit feafc3f846)
2026-05-24 14:25:35 +00:00
Hythera
1fa88c7c27 librewolf-unwrapped: 150.0.3-1 -> 151.0.1-2
diff: https://codeberg.org/librewolf/source/compare/150.0.3-1...151.0.1-2

mfsa: https://www.mozilla.org/en-US/security/advisories/mfsa2026-46/
(cherry picked from commit 9e94033741)
2026-05-24 14:23:40 +00:00
Martin Weinelt
ef21843689 [Backport release-26.05] Migrate variouis test to nspawn container (#523620) 2026-05-24 15:58:17 +02:00
Martin Weinelt
ff6703771d nixosTests.postfix-tlspol: use nspawn container
(cherry picked from commit fbc588f146)
2026-05-24 13:50:25 +00:00
Martin Weinelt
688915f6e4 nixosTests.pinnwand: use nspawn container
(cherry picked from commit 27c670ba57)
2026-05-24 13:50:25 +00:00
Martin Weinelt
bd507c09ea nixosTests.evcc: use nspawn container
(cherry picked from commit 043c78f155)
2026-05-24 13:50:24 +00:00
Martin Weinelt
679a8a401e nixosTests.zigbee2mqtt: use nspawn container
(cherry picked from commit 9b4eefdf38)
2026-05-24 13:50:24 +00:00
Michael Daniels
c4413a5097 netease-cloud-music-gtk: 2.5.2 -> 2.5.3
Changelog: https://github.com/gmg137/netease-cloud-music-gtk/releases/tag/2.5.3
Diff: https://github.com/gmg137/netease-cloud-music-gtk/compare/2.5.2...2.5.3
(cherry picked from commit 902b89a52a)
2026-05-24 13:40:48 +00:00
yaya
705e992991 26.05 beta release 2026-05-24 13:32:15 +02:00
14778 changed files with 220345 additions and 377432 deletions

6
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,6 @@
<!--
Please note: This blank issue template is meant for extraordinary issues
that do not fit the templates. Unless you know your issue is relevant to
Nixpkgs and requires the free-form blank issue, please use the issue
templates instead.
-->

View File

@@ -35,8 +35,8 @@ body:
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Stable (26.05)"
- "- Unstable (26.05)"
- "- Stable (25.11)"
default: 0
validations:
required: true

View File

@@ -35,8 +35,8 @@ body:
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Stable (26.05)"
- "- Unstable (26.05)"
- "- Stable (25.11)"
default: 0
validations:
required: true
@@ -99,7 +99,7 @@ body:
attributes:
label: "Are you using nix-darwin?"
description: |
[`nix-darwin`](https://github.com/nix-darwin/nix-darwin) is a set of NixOS-like modules for macOS systems. Depending on your issue, this information may be relevant.
[`nix-darwin`](https://github.com/LnL7/nix-darwin) is a set of NixOS-like modules for macOS systems. Depending on your issue, this information may be relevant.
options:
- "Yes, I am using nix-darwin."
- "No, I am not using nix-darwin."

View File

@@ -35,8 +35,8 @@ body:
If you are using an older version, please update to the latest stable version and check if the issue persists before continuing this bug report.
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Stable (26.05)"
- "- Unstable (26.05)"
- "- Stable (25.11)"
default: 0
validations:
required: true

View File

@@ -37,8 +37,8 @@ body:
If you are purposefully trying to build an ancient version of a package in an older Nixpkgs, please coordinate with the [NixOS Archivists](https://matrix.to/#/#archivists:nixos.org).
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Stable (26.05)"
- "- Unstable (26.05)"
- "- Stable (25.11)"
default: 0
validations:
required: true
@@ -56,12 +56,12 @@ body:
description: |
Can [Hydra](https://hydra.nixos.org), Nixpkgs' Continuous Integration system, reproduce this build failure?
Please use the search function in the header bar to locate the last build job for the package in question.
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/subprojects/hydra/root/static/images/emojione-red-x-274c.svg" width="20px" align="top" alt="Red X"> icon near the package entry, say '**Yes, Hydra can reproduce this build failure.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/subprojects/hydra/root/static/images/emojione-gray-x-2716.svg" width="20px" align="top" alt="Dark Gray X"> icon near the package entry, then the build failure occurs with another package, and you need to track the original failing package by going down the chain of 'Cached failures' until you reach the final package in the failing dependency chain. Once you locate the failing package, re-write this report against that package and say '**Yes, Hydra can reproduce this build failure.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/subprojects/hydra/root/static/images/emojione-check-2714.svg" width="20px" align="top" alt="Green Check Mark"> icon near the package entry, then it most likely means it's a local issue with your system. (Maybe you ran out of space?)
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-red-x-274c.svg" width="20px" align="top" alt="Red X"> icon near the package entry, say '**Yes, Hydra can reproduce this build failure.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-gray-x-2716.svg" width="20px" align="top" alt="Dark Gray X"> icon near the package entry, then the build failure occurs with another package, and you need to track the original failing package by going down the chain of 'Cached failures' until you reach the final package in the failing dependency chain. Once you locate the failing package, re-write this report against that package and say '**Yes, Hydra can reproduce this build failure.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-check-2714.svg" width="20px" align="top" alt="Green Check Mark"> icon near the package entry, then it most likely means it's a local issue with your system. (Maybe you ran out of space?)
You can still open a build failure report, but please say '**No, Hydra cannot reproduce this build failure.**' below.
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/subprojects/hydra/root/static/images/emojione-question-2754.svg" width="20px" align="top" alt="Gray Question Mark"> icon near the package entry, say '**Hydra is currently rebuilding this package.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/subprojects/hydra/root/static/images/emojione-stopsign-1f6d1.svg" width="20px" align="top" alt="Red Stop Sign"> icon near the package entry, then the build job was stopped manually. If this occurs, please coordinate with the [Infrastructure Team](https://matrix.to/#/#infra:nixos.org), and say '**The last build job was manually cancelled.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-question-2754.svg" width="20px" align="top" alt="Gray Question Mark"> icon near the package entry, say '**Hydra is currently rebuilding this package.**'
- If there's a <img src="https://raw.githubusercontent.com/NixOS/hydra/refs/heads/master/src/root/static/images/emojione-stopsign-1f6d1.svg" width="20px" align="top" alt="Red Stop Sign"> icon near the package entry, then the build job was stopped manually. If this occurs, please coordinate with the [Infrastructure Team](https://matrix.to/#/#infra:nixos.org), and say '**The last build job was manually cancelled.**'
- If Hydra isn't supposed to build the package at all, say '**Hydra doesnt try to build the package.**'
options:
- "Please select the Hydra Status."

View File

@@ -37,8 +37,8 @@ body:
If the package has been updated in unstable, but you believe the update should be backported to the stable release of Nixpkgs, please file the '**Request: backport to stable**' form instead.
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Stable (26.05)"
- "- Unstable (26.05)"
- "- Stable (25.11)"
default: 0
validations:
required: true

View File

@@ -35,8 +35,8 @@ body:
If you are using an older or stable version, please update to the latest **unstable** version and check if the module still does not exist before continuing this request.
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Stable (26.05)"
- "- Unstable (26.05)"
- "- Stable (25.11)"
default: 0
validations:
required: true

View File

@@ -13,6 +13,7 @@ For new packages please briefly describe the package or provide a link to its ho
- Built on platform:
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [ ] aarch64-darwin
- Tested, as applicable:
- [ ] [NixOS tests] in [nixos/tests].

View File

@@ -19,7 +19,6 @@ runs:
TARGET_SHA: ${{ inputs.target-as-trusted-at }}
PIN_BUMP_SHA: ${{ inputs.untrusted-pin-bump }}
with:
retries: 3
script: |
const { rm, writeFile } = require('node:fs/promises')
const { spawn } = require('node:child_process')

View File

@@ -22,6 +22,17 @@
- doc/**/*
- nixos/doc/**/*
"backport release-25.11":
- all:
- changed-files:
- any-glob-to-any-file:
- .github/actions/**/*
- .github/workflows/*
- .github/labeler*.yml
- ci/**/*.*
- maintainers/github-teams.json
- base-branch: ['master']
"backport release-26.05":
- all:
- changed-files:

View File

@@ -36,7 +36,7 @@ jobs:
permission-pull-requests: write
permission-workflows: write
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.pull_request.head.sha }}
token: ${{ steps.app-token.outputs.token }}
@@ -49,7 +49,7 @@ jobs:
- name: Create backport PRs
id: backport
uses: korthout/backport-action@2e830a1d0b8269505846ddd407a70876913ad1f8 # v4.6.0
uses: korthout/backport-action@66065406958f46e82238fd59546f5a99e69e22aa # v4.5.2
with:
# Config README: https://github.com/korthout/backport-action#backport-action
add_author_as_reviewer: true

View File

@@ -41,16 +41,19 @@ jobs:
run:
runs-on: ubuntu-slim
if: github.event_name != 'schedule' || github.repository_owner == 'NixOS'
env:
# TODO: Remove after 2026-03-04, when Node 24 becomes the default.
# https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: |
ci/github-script
- name: Install dependencies
run: npm ci --package-lock-only=false @actions/artifact bottleneck
working-directory: ci/github-script
run: npm install @actions/artifact@6.2.1 bottleneck@2.19.5
# Use a GitHub App, because it has much higher rate limits: 12,500 instead of 5,000 req / hour.
- uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
@@ -88,7 +91,7 @@ jobs:
GH_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
run: gh api /rate_limit | jq
- uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
name: Labels from touched files
if: |
github.event_name == 'pull_request_target' &&
@@ -98,7 +101,7 @@ jobs:
configuration-path: .github/labeler.yml # default
sync-labels: true
- uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
name: Labels from touched files (no sync)
if: |
github.event_name == 'pull_request_target' &&
@@ -108,7 +111,7 @@ jobs:
configuration-path: .github/labeler-no-sync.yml
sync-labels: false
- uses: actions/labeler@bf12e9b00b37c5c0ca2b87b79b2daf7891dbda13 # v7.0.0
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
name: Labels from touched files (development branches)
# Development branches like staging-next, haskell-updates and python-updates get special labels.
# This is to avoid the mass of labels there, which is mostly useless - and really annoying for

View File

@@ -34,22 +34,25 @@ jobs:
matrix:
include:
- runner: ubuntu-24.04
system: x86_64-linux
name: x86_64-linux
systems: x86_64-linux
builds: [shell, manual-nixos, lib-tests, tarball]
desc: shell, docs, lib, tarball
- runner: ubuntu-24.04-arm
system: aarch64-linux
name: aarch64-linux
systems: aarch64-linux
builds: [shell, manual-nixos, manual-nixpkgs]
desc: shell, docs
- runner: macos-14
system: aarch64-darwin
name: darwin
systems: aarch64-darwin x86_64-darwin
builds: [shell]
desc: shell
name: '${{ matrix.system }}: ${{ matrix.desc }}'
name: '${{ matrix.name }}: ${{ matrix.desc }}'
runs-on: ${{ matrix.runner }}
timeout-minutes: 60
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -59,7 +62,7 @@ jobs:
merged-as-untrusted-at: ${{ inputs.mergedSha }}
target-as-trusted-at: ${{ inputs.targetSha }}
- uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
with:
# Sandbox is disabled on MacOS by default.
extra_nix_config: sandbox = true
@@ -77,9 +80,7 @@ jobs:
- name: Build shell
if: contains(matrix.builds, 'shell')
env:
system: ${{ matrix.system }}
run: nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system "$system"
run: echo "${{ matrix.systems }}" | xargs -n1 nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system
- name: Build NixOS manual
if: |
@@ -107,5 +108,5 @@ jobs:
contains(fromJSON(inputs.baseBranch).type, 'primary')
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.system }}
name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.name }}
path: nixos-manual

View File

@@ -43,7 +43,7 @@ jobs:
runs-on: ubuntu-slim
timeout-minutes: 3
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: trusted
@@ -51,8 +51,7 @@ jobs:
ci/github-script
- name: Install dependencies
run: npm ci --package-lock-only=false bottleneck
working-directory: trusted/ci/github-script
run: npm install bottleneck@2.19.5
- uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
if: github.event_name != 'pull_request' && vars.NIXPKGS_COMMIT_CHECK_CLIENT_ID
@@ -93,10 +92,10 @@ jobs:
if: inputs.baseBranch && inputs.headBranch
permissions:
pull-requests: write
runs-on: ubuntu-24.04-arm
timeout-minutes: 8
runs-on: ubuntu-slim
timeout-minutes: 3
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: trusted
@@ -138,7 +137,7 @@ jobs:
runs-on: ubuntu-24.04-arm
timeout-minutes: 5
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -148,7 +147,7 @@ jobs:
merged-as-untrusted-at: ${{ inputs.mergedSha }}
target-as-trusted-at: ${{ inputs.targetSha }}
- uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
- uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
continue-on-error: true

View File

@@ -23,7 +23,7 @@ jobs:
timeout-minutes: 2
if: contains(github.event.comment.body, '@NixOS/nixpkgs-merge-bot merge')
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: |

View File

@@ -15,9 +15,6 @@ on:
targetSha:
required: true
type: string
baseBranch:
required: true
type: string
systems:
required: true
type: string
@@ -50,7 +47,7 @@ jobs:
ciPinBumpCommit: ${{ steps.find-pinned-commit.outputs.ciPinBumpCommit }}
ciPinBumpCommitShort: ${{ steps.find-pinned-commit.outputs.ciPinBumpCommitShort }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: trusted
@@ -58,7 +55,7 @@ jobs:
ci/supportedVersions.nix
- name: Check out the PR at the test merge commit
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
ref: ${{ inputs.mergedSha }}
@@ -139,7 +136,7 @@ jobs:
core.info(`Found pinned.json commit: ${ciPinBumpCommit}`)
- name: Install Nix
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
- name: Load supported versions
id: versions
@@ -174,7 +171,7 @@ jobs:
sudo mkswap /swap
sudo swapon /swap
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -187,7 +184,7 @@ jobs:
target-as-trusted-at: ${{ inputs.targetSha }}
- name: Install Nix
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
- uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
continue-on-error: true
@@ -259,7 +256,7 @@ jobs:
statuses: write # creating 'Eval Summary' commit statuses
timeout-minutes: 5
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -277,7 +274,7 @@ jobs:
merge-multiple: true
- name: Install Nix
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
- name: Combine all output paths and eval stats
run: |
@@ -294,7 +291,6 @@ jobs:
- name: Compare against the target branch
env:
TARGET_SHA: ${{ inputs.mergedSha }}
BASE_BRANCH: ${{ fromJSON(inputs.baseBranch).branch }}
run: |
git -C nixpkgs/trusted diff --name-only "$TARGET_SHA" \
| jq --raw-input --slurp 'split("\n")[:-1]' > touched-files.json
@@ -303,7 +299,6 @@ jobs:
nix-build nixpkgs/trusted/ci --arg nixpkgs ./nixpkgs/trusted-pinned -A eval.compare \
--arg combinedDir ./combined \
--arg touchedFilesJson ./touched-files.json \
--argstr baseBranch "$BASE_BRANCH" \
--out-link comparison
cat comparison/step-summary.md >> "$GITHUB_STEP_SUMMARY"
@@ -476,7 +471,7 @@ jobs:
runs-on: ubuntu-24.04-arm
timeout-minutes: 10
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -486,7 +481,7 @@ jobs:
merged-as-untrusted-at: ${{ inputs.mergedSha }}
- name: Install Nix
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
- name: Ensure flake outputs on all systems still evaluate
run: nix flake check --all-systems --no-build './nixpkgs/untrusted?shallow=1'

View File

@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-24.04-arm
timeout-minutes: 10
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -35,7 +35,7 @@ jobs:
with:
merged-as-untrusted-at: ${{ inputs.mergedSha }}
- uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
# TODO: Figure out how to best enable caching for the treefmt job. Cachix won't work well,
# because the cache would be invalidated on every commit - treefmt checks every file.
@@ -61,7 +61,7 @@ jobs:
runs-on: ubuntu-24.04-arm
timeout-minutes: 10
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -70,7 +70,7 @@ jobs:
with:
merged-as-untrusted-at: ${{ inputs.mergedSha }}
- uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
- uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
continue-on-error: true
@@ -90,7 +90,7 @@ jobs:
runs-on: ubuntu-24.04-arm
timeout-minutes: 10
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: .github/actions
@@ -100,7 +100,7 @@ jobs:
merged-as-untrusted-at: ${{ inputs.mergedSha }}
target-as-trusted-at: ${{ inputs.targetSha }}
- uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
- uses: cachix/install-nix-action@8aa03977d8d733052d78f4e008a241fd1dbf36b3 # v31.10.6
- uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
continue-on-error: true
@@ -131,10 +131,10 @@ jobs:
# Luckily there's no need to lint commit messages in the Merge Queue, because
# changes to the target branch can't change commit messages on the base branch.
if: ${{ github.event.pull_request.number }}
runs-on: ubuntu-24.04-arm
timeout-minutes: 8
runs-on: ubuntu-slim
timeout-minutes: 5
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: true # Needed to run git fetch for large PRs.
path: trusted

View File

@@ -25,7 +25,7 @@ jobs:
targetSha: ${{ steps.prepare.outputs.targetSha }}
systems: ${{ steps.prepare.outputs.systems }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: |
@@ -97,7 +97,6 @@ jobs:
artifact-prefix: ${{ inputs.artifact-prefix }}
mergedSha: ${{ needs.prepare.outputs.mergedSha }}
targetSha: ${{ needs.prepare.outputs.targetSha }}
baseBranch: ${{ needs.prepare.outputs.baseBranch }}
systems: ${{ needs.prepare.outputs.systems }}
build:

View File

@@ -31,6 +31,12 @@ jobs:
max-parallel: 1
matrix:
pairs:
- from: release-25.11
into: staging-next-25.11
- from: staging-next-25.11
into: staging-25.11
- from: release-25.11
into: staging-nixos-25.11
- from: release-26.05
into: staging-next-26.05
- from: staging-next-26.05

View File

@@ -34,7 +34,7 @@ jobs:
permission-contents: write
permission-pull-requests: write
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false

View File

@@ -36,7 +36,7 @@ jobs:
systems: ${{ steps.prepare.outputs.systems }}
touched: ${{ steps.prepare.outputs.touched }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout-cone-mode: true # default, for clarity
@@ -110,7 +110,6 @@ jobs:
mergedSha: ${{ needs.prepare.outputs.mergedSha }}
headSha: ${{ github.event.pull_request.head.sha }}
targetSha: ${{ needs.prepare.outputs.targetSha }}
baseBranch: ${{ needs.prepare.outputs.baseBranch }}
systems: ${{ needs.prepare.outputs.systems }}
testVersions: ${{ contains(fromJSON(needs.prepare.outputs.touched), 'pinned') && !contains(fromJSON(needs.prepare.outputs.headBranch).type, 'development') }}

View File

@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-slim
timeout-minutes: 2
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: |

View File

@@ -2,7 +2,7 @@ name: Teams
on:
schedule:
# Every Monday at 19:42 (randomly chosen)
# Every Tuesday at 19:42 (randomly chosen)
- cron: '42 19 * * 1'
workflow_dispatch:
@@ -30,7 +30,7 @@ jobs:
permission-pull-requests: write
- name: Fetch source
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout: |
@@ -38,8 +38,7 @@ jobs:
maintainers/github-teams.json
- name: Install dependencies
run: npm ci --package-lock-only=false bottleneck
working-directory: ci/github-script
run: npm install bottleneck@2.19.5
- name: Synchronise teams
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0

View File

@@ -19,7 +19,7 @@ jobs:
push: ${{ steps.files.outputs.push }}
targetSha: ${{ steps.prepare.outputs.targetSha }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
sparse-checkout-cone-mode: true # default, for clarity
@@ -64,7 +64,6 @@ jobs:
'ci/github-script/supportedSystems.js',
'ci/pinned.json',
'ci/supportedBranches.js',
'pkgs/top-level/release-supported-systems.json',
].includes(file))) core.setOutput('merge-group', true)
if (files.some(file => [
@@ -89,7 +88,6 @@ jobs:
'ci/github-script/withRateLimit.js',
'ci/pinned.json',
'ci/supportedBranches.js',
'pkgs/top-level/release-supported-systems.json',
].includes(file))) core.setOutput('pr', true)
merge-group:

3
.gitignore vendored
View File

@@ -27,9 +27,6 @@ tags
.mypy_cache
__pycache__
/AGENTS.md
/CLAUDE.md
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/kde-5/*/tmp/
/pkgs/development/mobile/androidenv/xml/*

View File

@@ -17,7 +17,6 @@ jopejoe1 <nixpkgs@missing.ninja> <34899572+jopejoe1@users.noreply.github.com>
jopejoe1 <nixpkgs@missing.ninja> <jopejoe1@missing.ninja>
jopejoe1 <nixpkgs@missing.ninja> <jopejoe1>
Jörg Thalheim <joerg@thalheim.io> <Mic92@users.noreply.github.com>
Katalin Rebhan <me@dblsaiko.net>
Lin Jian <me@linj.tech> <linj.dev@outlook.com>
Lin Jian <me@linj.tech> <75130626+jian-lin@users.noreply.github.com>
Martin Weinelt <hexa@darmstadt.ccc.de> <mweinelt@users.noreply.github.com>

View File

@@ -1,9 +1,9 @@
<p align="center">
<a href="https://nixos.org">
<picture>
<source media="(prefers-color-scheme: light)" srcset="https://brand.nixos.org/logos/nixos-logo-rainbow-gradient-black-regular-horizontal-minimal.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://brand.nixos.org/logos/nixos-logo-rainbow-gradient-white-regular-horizontal-minimal.svg">
<img src="https://brand.nixos.org/logos/nixos-logo-rainbow-gradient-black-regular-horizontal-minimal.svg" width="500px" alt="NixOS logo">
<source media="(prefers-color-scheme: light)" srcset="https://brand.nixos.org/logos/nixos-logo-default-gradient-black-regular-horizontal-minimal.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://brand.nixos.org/logos/nixos-logo-default-gradient-white-regular-horizontal-minimal.svg">
<img src="https://brand.nixos.org/logos/nixos-logo-default-gradient-black-regular-horizontal-minimal.svg" width="500px" alt="NixOS logo">
</picture>
</a>
</p>
@@ -13,7 +13,7 @@
<a href="https://opencollective.com/nixos"><img src="https://opencollective.com/nixos/tiers/supporter/badge.svg?label=supporters&color=brightgreen" alt="Open Collective supporters" /></a>
</p>
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over 140,000 software packages that can be installed with the [Nix](https://nixos.org/nix/) package manager.
[Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over 120,000 software packages that can be installed with the [Nix](https://nixos.org/nix/) package manager.
It also implements [NixOS](https://nixos.org/nixos/), a purely-functional Linux distribution.
# Manuals
@@ -47,9 +47,9 @@ Here are some of the main ones:
Nixpkgs and NixOS are built and tested by our continuous integration system, [Hydra](https://hydra.nixos.org/).
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for the NixOS 26.05 release](https://hydra.nixos.org/jobset/nixos/release-26.05)
* [Continuous package builds for the NixOS 25.11 release](https://hydra.nixos.org/jobset/nixos/release-25.11)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for the NixOS 26.05 release](https://hydra.nixos.org/job/nixos/release-26.05/tested#tabs-constituents)
* [Tests for the NixOS 25.11 release](https://hydra.nixos.org/job/nixos/release-25.11/tested#tabs-constituents)
Artifacts successfully built with Hydra are published to cache at https://cache.nixos.org/.
When successful build and test criteria are met, the Nixpkgs expressions are distributed via [Nix channels](https://nix.dev/manual/nix/stable/command-ref/nix-channel.html).

138
ci/OWNERS
View File

@@ -25,27 +25,26 @@
/shell.nix @infinisil @NixOS/Security
# Libraries
/lib @infinisil @hsjobeki @llakala
/lib/generators.nix @infinisil @hsjobeki @llakala
/lib/cli.nix @infinisil @hsjobeki @llakala
/lib/debug.nix @infinisil @hsjobeki @llakala
/lib/asserts.nix @infinisil @hsjobeki @llakala
/lib/path/* @infinisil @hsjobeki @llakala
/lib/fileset @infinisil @hsjobeki @llakala
/maintainers/github-teams.json @infinisil @llakala
/maintainers/computed-team-list.nix @infinisil @llakala
/lib @infinisil @hsjobeki
/lib/generators.nix @infinisil @hsjobeki
/lib/cli.nix @infinisil @hsjobeki
/lib/debug.nix @infinisil @hsjobeki
/lib/asserts.nix @infinisil @hsjobeki
/lib/path/* @infinisil @hsjobeki
/lib/fileset @infinisil @hsjobeki
/maintainers/github-teams.json @infinisil
/maintainers/computed-team-list.nix @infinisil
## Standard environmentrelated libraries
/lib/customisation.nix @alyssais @NixOS/stdenv @llakala
/lib/derivations.nix @NixOS/stdenv @llakala
/lib/fetchers.nix @alyssais @NixOS/stdenv @llakala
/lib/meta.nix @alyssais @NixOS/stdenv @llakala
/lib/meta-types.nix @infinisil @adisbladis @NixOS/stdenv @llakala
/lib/source-types.nix @alyssais @NixOS/stdenv @llakala
/lib/customisation.nix @alyssais @NixOS/stdenv
/lib/derivations.nix @NixOS/stdenv
/lib/fetchers.nix @alyssais @NixOS/stdenv
/lib/meta.nix @alyssais @NixOS/stdenv
/lib/source-types.nix @alyssais @NixOS/stdenv
/lib/systems @alyssais @NixOS/stdenv
## Libraries / Module system
/lib/modules.nix @infinisil @roberth @hsjobeki @llakala
/lib/types.nix @infinisil @roberth @hsjobeki @llakala
/lib/options.nix @infinisil @roberth @hsjobeki @llakala
/lib/modules.nix @infinisil @roberth @hsjobeki
/lib/types.nix @infinisil @roberth @hsjobeki
/lib/options.nix @infinisil @roberth @hsjobeki
/lib/tests/modules.sh @infinisil @roberth @hsjobeki
/lib/tests/modules @infinisil @roberth @hsjobeki
@@ -57,31 +56,31 @@
/pkgs/top-level/splice.nix @Ericson2314
/pkgs/top-level/release-cross.nix @Ericson2314
/pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron
/pkgs/top-level/config.nix @jopejoe1
/pkgs/top-level/make-tarball.nix @jopejoe1
/pkgs/top-level/packages-config.nix @jopejoe1
/pkgs/top-level/packages-info.nix @jopejoe1
/pkgs/top-level/release-lib.nix @jopejoe1
/pkgs/top-level/release.nix @jopejoe1
/pkgs/stdenv @philiptaron @NixOS/stdenv @llakala
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv @llakala
/pkgs/stdenv/generic/problems.nix @infinisil @llakala
/pkgs/stdenv @philiptaron @NixOS/stdenv
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv
/pkgs/stdenv/generic/problems.nix @infinisil
/pkgs/test/problems @infinisil
/pkgs/stdenv/generic/check-meta.nix @infinisil @Ericson2314 @adisbladis @NixOS/stdenv @llakala
/pkgs/stdenv/generic/check-meta.nix @infinisil @Ericson2314 @adisbladis @NixOS/stdenv
/pkgs/stdenv/generic/meta-types.nix @infinisil @adisbladis @NixOS/stdenv
/pkgs/stdenv/cross @Ericson2314 @NixOS/stdenv
/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/arrayUtilities @ConnorBaker
/pkgs/build-support/setup-hooks/auto-patchelf.sh @layus
/pkgs/by-name/au/auto-patchelf @layus
## Format generators/serializers
/pkgs/pkgs-lib @Stunkymonkey @h7x4
/pkgs/pkgs-lib/formats/json2x @Stunkymonkey @h7x4 @figsoda
# Nixpkgs build-support
/pkgs/build-support/writers @lassulus
# 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.
@@ -95,16 +94,16 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
/maintainers/scripts/doc @jtojnar @ryantm
# Contributor documentation
/CONTRIBUTING.md
/.github/PULL_REQUEST_TEMPLATE.md
/doc/contributing/
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar
/lib/README.md
/doc/README.md
/nixos/README.md
/pkgs/README.md
/pkgs/by-name/README.md
/maintainers/README.md
/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
@@ -123,6 +122,9 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
/doc/redirects.json @GetPsyched
/nixos/doc/manual/redirects.json @GetPsyched
# NixOS integration test driver
/nixos/lib/test-driver @tfc
# NixOS QEMU virtualisation
/nixos/modules/virtualisation/qemu-vm.nix @raitobezarius
/nixos/modules/services/backup/libvirtd-autosnapshot.nix @6543
@@ -182,10 +184,10 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
/pkgs/by-name/an/android* @NixOS/android
# Python-related code and docs
/doc/languages-frameworks/python.section.md @mweinelt
/maintainers/scripts/update-python-libraries @mweinelt
/pkgs/by-name/up/update-python-libraries @mweinelt
/pkgs/development/interpreters/python @mweinelt
/doc/languages-frameworks/python.section.md @mweinelt @natsukium
/maintainers/scripts/update-python-libraries @mweinelt @natsukium
/pkgs/by-name/up/update-python-libraries @mweinelt @natsukium
/pkgs/development/interpreters/python @mweinelt @natsukium
# CUDA
/pkgs/top-level/cuda-packages.nix @NixOS/cuda-maintainers
@@ -215,10 +217,10 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
/pkgs/development/r-modules @jbedo
# Rust
/pkgs/development/compilers/rust @NixOS/rust @alyssais
/pkgs/build-support/rust @NixOS/rust
/pkgs/development/compilers/rust @alyssais @Mic92 @winterqt
/pkgs/build-support/rust @winterqt
/pkgs/build-support/rust/fetch-cargo-vendor* @TomaSajt
/doc/languages-frameworks/rust.section.md @NixOS/rust
/doc/languages-frameworks/rust.section.md @winterqt
# Tcl
/pkgs/development/interpreters/tcl @fgaz
@@ -230,10 +232,14 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @Artturin @Ericson2314 @lo
# C compilers
/pkgs/development/compilers/gcc
/pkgs/development/compilers/llvm @NixOS/llvm
/pkgs/development/compilers/emscripten @raitobezarius
/doc/toolchains/llvm.chapter.md @NixOS/llvm
/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
@@ -263,15 +269,15 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/lib/licenses @alyssais @emilazy @jopejoe1
# Qt
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE Frameworks 5
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000 @ttuegel
# KDE / Plasma 6
/pkgs/kde @K900 @NickCao @SuperSandro2000
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000
/pkgs/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
# PostgreSQL and related stuff
/pkgs/by-name/po/postgresqlTestHook @NixOS/postgres
@@ -322,9 +328,9 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/tests/knot.nix @mweinelt
# Web servers
/doc/packages/nginx.section.md @leona-ya @Ma27
/pkgs/servers/http/nginx/ @helsinki-Jo @leona-ya @Ma27
/nixos/modules/services/web-servers/nginx/ @leona-ya @Ma27
/doc/packages/nginx.section.md @raitobezarius
/pkgs/servers/http/nginx/ @raitobezarius
/nixos/modules/services/web-servers/nginx/ @raitobezarius
# D
/pkgs/build-support/dlang @jtbx @TomaSajt
@@ -364,8 +370,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/development/lua-modules @NixOS/lua
# Neovim
/pkgs/applications/editors/neovim @NixOS/neovim
/doc/languages-frameworks/neovim.section.md @NixOS/neovim
/pkgs/applications/editors/neovim @NixOS/neovim
# VimPlugins
/pkgs/applications/editors/vim/plugins @NixOS/neovim
@@ -389,15 +394,18 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/tests/docker-tools* @roberth @jhol
/doc/build-helpers/images/dockertools.section.md @roberth @jhol
# Blockchains
/pkgs/applications/blockchains @mmahut @RaghavSood
# Go
/doc/languages-frameworks/go.section.md @kalbasit @katexochen @Mic92
/pkgs/build-support/go @kalbasit @katexochen @Mic92
/pkgs/development/compilers/go @kalbasit @katexochen @Mic92
# GNOME
/pkgs/desktops/gnome @NixOS/gnome
/pkgs/desktops/gnome/extensions @NixOS/gnome
/pkgs/build-support/make-hardcode-gsettings-patch @NixOS/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
@@ -429,7 +437,6 @@ nixos/tests/forgejo.nix @adamcstephens @bendlas @christoph-heiss @
/doc/languages-frameworks/javascript.section.md @winterqt
/pkgs/development/tools/pnpm @Scrumplex @gepbird
/pkgs/build-support/node/fetch-pnpm-deps @Scrumplex @gepbird
/pkgs/test/pnpm @Scrumplex @gepbird
# OCaml
/pkgs/build-support/ocaml @ulrikstrid
@@ -506,7 +513,7 @@ pkgs/by-name/oc/octodns/ @anthonyroussel
pkgs/by-name/te/teleport* @arianvp @justinas @sigma @tomberek @techknowlogick @JuliusFreudenberger
# Warp-terminal
pkgs/by-name/wa/warp-terminal/ @emilytrau @imadnyc @4evy @johnrtitor
pkgs/by-name/wa/warp-terminal/ @emilytrau @imadnyc @FlameFlag @johnrtitor
# Nim
/doc/languages-frameworks/nim.section.md @NixOS/nim
@@ -517,12 +524,3 @@ pkgs/by-name/wa/warp-terminal/ @emilytrau @imadnyc @4evy @johnrtitor
# Radicle
/pkgs/build-support/fetchradicle/ @NixOS/radicle
/pkgs/build-support/fetchradiclepatch/ @NixOS/radicle
# Zellij plugins
/pkgs/by-name/ze/zellij/plugins/ @PerchunPak
# Test-driver
/nixos/lib/test-driver @NixOS/test-driver
/nixos/lib/testing @NixOS/test-driver
/nixos/tests/nixos-test-driver @NixOS/test-driver
/nixos/modules/virtualisation/nspawn-container/run-nspawn @NixOS/test-driver

View File

@@ -51,16 +51,6 @@ To ensure security and a focused utility, the bot adheres to specific limitation
- opened by [@r-ryantm](https://nix-community.github.io/nixpkgs-update/r-ryantm/).
- The user attempting to merge is a member of [@NixOS/nixpkgs-maintainers].
- The user attempting to merge is a maintainer of all packages touched by the PR.
- No [committer][@NixOS/nixpkgs-committers] has an outstanding "changes requested" review.
These block both the merge queue and auto-merge, so the bot refuses to merge until the review is addressed or dismissed.
Once these constraints are met, the bot picks a merge strategy based on the `no PR failures` commit status:
- CI passing: the PR is added to the merge queue.
- CI unfinished (pending or missing status): the bot enables [Auto Merge], which queues the PR once required checks succeed.
Note that if CI later fails, nothing happens until it is fixed and passes.
- CI already failing (`error`/`failure` status): the bot does not enable Auto Merge, because it would never trigger, and fixing CI requires a new push that invalidates the merge command.
A fresh `@NixOS/nixpkgs-merge-bot merge` comment is needed once CI is green again.
### Approving merge bot changes
@@ -114,4 +104,3 @@ This script can also be run locally to print basic test cases.
[@NixOS/nixpkgs-ci]: https://github.com/orgs/NixOS/teams/nixpkgs-ci
[@NixOS/nixpkgs-core]: https://github.com/orgs/NixOS/teams/nixpkgs-core
[RFC 172]: https://github.com/NixOS/rfcs/pull/172
[Auto Merge]: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request

View File

@@ -26,7 +26,132 @@ let
fmt =
let
treefmt = pkgs.treefmt.withConfig ./treefmt.nix;
treefmtNixSrc = fetchTarball {
inherit (pinned.treefmt-nix) url;
sha256 = pinned.treefmt-nix.hash;
};
treefmtEval = (import treefmtNixSrc).evalModule pkgs {
# Important: The auto-rebase script uses `git filter-branch --tree-filter`,
# which creates trees within the Git repository under `.git-rewrite/t`,
# notably without having a `.git` themselves.
# So if this projectRootFile were the default `.git/config`,
# having the auto-rebase script use treefmt on such a tree would make it
# format all files in the _parent_ Git tree as well.
projectRootFile = ".git-blame-ignore-revs";
# Be a bit more verbose by default, so we can see progress happening
settings.verbose = 1;
# By default it's info, which is too noisy since we have many unmatched files
settings.on-unmatched = "debug";
programs.actionlint.enable = true;
programs.biome = {
enable = true;
# Disable settings validation because its inputs are liable to hash mismatch
validate.enable = false;
settings.formatter = {
useEditorconfig = true;
};
settings.javascript.formatter = {
quoteStyle = "single";
semicolons = "asNeeded";
};
settings.json.formatter.enabled = false;
};
settings.formatter.biome.excludes = [
"*.min.js"
"pkgs/*"
];
programs.keep-sorted.enable = true;
# This uses nixfmt underneath, the default formatter for Nix code.
# See https://github.com/NixOS/nixfmt
programs.nixfmt = {
enable = true;
package = pkgs.nixfmt;
};
programs.yamlfmt = {
enable = true;
settings.formatter = {
retain_line_breaks = true;
};
};
settings.formatter.yamlfmt.excludes = [
# Aligns comments with whitespace
"pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml"
# TODO: Fix formatting for auto-generated file
"pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml"
];
programs.nixf-diagnose = {
enable = true;
ignore = [
# Rule names can currently be looked up here:
# https://github.com/nix-community/nixd/blob/main/libnixf/src/Basic/diagnostic.py
# TODO: Remove the following and fix things.
"sema-unused-def-lambda-noarg-formal"
"sema-unused-def-lambda-witharg-arg"
"sema-unused-def-lambda-witharg-formal"
"sema-unused-def-let"
# Keep this rule, because we have `lib.or`.
"or-identifier"
# TODO: remove after outstanding prelude diagnostics issues are fixed:
# https://github.com/nix-community/nixd/issues/761
# https://github.com/nix-community/nixd/issues/762
"sema-primop-removed-prefix"
"sema-primop-overridden"
"sema-constant-overridden"
"sema-primop-unknown"
];
};
settings.formatter.nixf-diagnose = {
# Ensure nixfmt cleans up after nixf-diagnose.
priority = -1;
excludes = [
# Auto-generated; violates sema-extra-with
# Can only sensibly be removed when --auto-fix supports multiple fixes at once:
# https://github.com/inclyc/nixf-diagnose/issues/13
"pkgs/servers/home-assistant/component-packages.nix"
# https://github.com/nix-community/nixd/issues/708
"nixos/maintainers/scripts/azure-new/examples/basic/system.nix"
];
};
settings.formatter.editorconfig-checker = {
command = "${pkgs.lib.getExe pkgs.editorconfig-checker}";
options = [
"-disable-indent-size"
# TODO: Remove this once this upstream issue is fixed:
# https://github.com/editorconfig-checker/editorconfig-checker/issues/505
"-disable-charset"
];
includes = [ "*" ];
priority = 1;
};
# TODO: Upstream this into treefmt-nix eventually:
# https://github.com/numtide/treefmt-nix/issues/387
settings.formatter.markdown-code-runner = {
command = pkgs.lib.getExe pkgs.markdown-code-runner;
options =
let
config = pkgs.writers.writeTOML "markdown-code-runner-config" {
presets.nixfmt = {
language = "nix";
command = [ (pkgs.lib.getExe pkgs.nixfmt) ];
};
};
in
[ "--config=${config}" ];
includes = [ "*.md" ];
};
programs.zizmor.enable = true;
};
fs = pkgs.lib.fileset;
nixFilesSrc = fs.toSource {
root = ../.;
@@ -34,24 +159,14 @@ let
};
in
{
pkg = treefmt;
check = treefmt.check nixFilesSrc;
shell = treefmtEval.config.build.devShell;
pkg = treefmtEval.config.build.wrapper;
check = treefmtEval.config.build.check nixFilesSrc;
};
# nixos-render-docs and nixos-render-docs-redirects
# Should be used from tree to build the matching in-tree documentation
docPkgs = pkgs.extend (
final: prev: {
nixos-render-docs = final.callPackage ../pkgs/by-name/ni/nixos-render-docs/package.nix { };
nixos-render-docs-redirects =
final.callPackage ../pkgs/by-name/ni/nixos-render-docs-redirects/package.nix
{ };
}
);
in
rec {
inherit pkgs docPkgs fmt;
inherit pkgs fmt;
codeownersValidator = pkgs.callPackage ./codeowners-validator { };
# FIXME(lf-): it might be useful to test other Nix implementations
@@ -64,13 +179,13 @@ rec {
# CI jobs
lib-tests = import ../lib/tests/release.nix { inherit pkgs; };
manual-nixos = (import ../nixos/release.nix { }).manual.${system} or null;
manual-nixpkgs = (import ../doc { pkgs = docPkgs; });
manual-nixpkgs = (import ../doc { inherit pkgs; });
nixpkgs-vet = pkgs.callPackage ./nixpkgs-vet.nix {
nix = pkgs.nixVersions.latest;
};
parse = pkgs.lib.recurseIntoAttrs {
nix_latest = pkgs.callPackage ./parse.nix { nix = pkgs.nixVersions.latest; };
stable = pkgs.callPackage ./parse.nix { nix = pkgs.nixVersions.stable; };
nix_2_28 = pkgs.callPackage ./parse.nix { nix = pkgs.nixVersions.nix_2_28; };
lix = pkgs.callPackage ./parse.nix { nix = pkgs.lix; };
lix_latest = pkgs.callPackage ./parse.nix { nix = pkgs.lixPackageSets.latest.lix; };
};

85
ci/eval/attrpaths.nix Normal file
View File

@@ -0,0 +1,85 @@
# This expression will, as efficiently as possible, dump a
# *superset* of all attrpaths of derivations which might be
# part of a release on *any* platform.
#
# This expression runs single-threaded under all current Nix
# implementations, but much faster and with much less memory
# used than ./outpaths.nix itself.
#
# Once you have the list of attrnames you can split it up into
# $NUM_CORES batches and evaluate the outpaths separately for each
# batch, in parallel.
#
# To dump the attrnames:
#
# nix-instantiate --eval --strict --json ci/eval/attrpaths.nix -A names
#
{
lib ? import (path + "/lib"),
trace ? false,
path ? ./../..,
extraNixpkgsConfigJson ? "{}",
}:
let
# TODO: Use mapAttrsToListRecursiveCond when this PR lands:
# https://github.com/NixOS/nixpkgs/pull/395160
justAttrNames =
path: value:
let
result =
if path == [ "AAAAAASomeThingsFailToEvaluate" ] || !(lib.isAttrs value) then
[ ]
else if lib.isDerivation value then
[ path ]
else
lib.pipe value [
(lib.mapAttrsToList (
name: value:
lib.addErrorContext "while evaluating package set attribute path '${
lib.showAttrPath (path ++ [ name ])
}'" (justAttrNames (path ++ [ name ]) value)
))
lib.concatLists
];
in
lib.traceIf trace "** ${lib.showAttrPath path}" result;
outpaths = import ./outpaths.nix {
inherit path;
extraNixpkgsConfig = builtins.fromJSON extraNixpkgsConfigJson;
attrNamesOnly = true;
};
paths = [
# Some of the following are based on variants, which are disabled with `attrNamesOnly = true`.
# Until these have been removed from release.nix / hydra, we manually add them to the list.
[
"pkgsLLVM"
"stdenv"
]
[
"pkgsArocc"
"stdenv"
]
[
"pkgsZig"
"stdenv"
]
[
"pkgsStatic"
"stdenv"
]
[
"pkgsMusl"
"stdenv"
]
]
++ justAttrNames [ ] outpaths;
names = map lib.showAttrPath paths;
in
{
inherit paths names;
}

View File

@@ -2,8 +2,8 @@
{
lib ? import ../../lib,
path ? ../..,
# The file containing the preEval result
preEvalFile,
# The file containing all available attribute paths, which are split into chunks here
attrpathFile,
chunkSize,
myChunk,
includeBroken,
@@ -12,13 +12,12 @@
}:
let
preEvalResult = lib.importJSON preEvalFile;
myAttrpaths = lib.sublist (chunkSize * myChunk) chunkSize preEvalResult.paths;
attrpaths = lib.importJSON attrpathFile;
myAttrpaths = lib.sublist (chunkSize * myChunk) chunkSize attrpaths;
unfiltered = import ./outpaths.nix {
inherit path;
inherit includeBroken systems;
inherit (preEvalResult) attrPathsDisallowedForInternalUse;
extraNixpkgsConfig = builtins.fromJSON extraNixpkgsConfigJson;
};

View File

@@ -49,7 +49,6 @@ in
{
combinedDir,
touchedFilesJson,
baseBranch,
ownersFile ? ../../OWNERS,
}:
let
@@ -239,33 +238,34 @@ runCommand "compare"
jq -r -f ${./generate-step-summary.jq} < ${changed-paths}
} >> $out/step-summary.md
{
echo
echo "# Performance comparison"
echo
echo "This compares the performance of this branch against the \`${baseBranch}\` branch."
echo
} >> $out/step-summary.md
# cmp-stats only compares the stats chunks present in both revisions, so the
# comparison is still produced when packages were added/removed. The paired
# chunks may cover different attrs in that case, so caveat the figures.
if ! jq -e '(.attrdiff.added | length == 0) and (.attrdiff.removed | length == 0)' "${changed-paths}" > /dev/null; then
if jq -e '(.attrdiff.added | length == 0) and (.attrdiff.removed | length == 0)' "${changed-paths}" > /dev/null; then
# Chunks have changed between revisions
# We cannot generate a performance comparison
{
echo "> [!NOTE]"
echo "> The package sets differ between the two revisions. This comparison only"
echo "> covers packages evaluated in both, so treat the figures as approximate."
echo
echo "# Performance comparison"
echo
echo "This compares the performance of this branch against its pull request base branch (e.g., 'master')"
echo
echo "For further help please refer to: [ci/README.md](https://github.com/NixOS/nixpkgs/blob/master/ci/README.md)"
echo
} >> $out/step-summary.md
cmp-stats --explain ${combined}/before/stats ${combined}/after/stats >> $out/step-summary.md
else
# Package chunks are the same in both revisions
# We can use the to generate a performance comparison
{
echo
echo "# Performance Comparison"
echo
echo "Performance stats were skipped because the package sets differ between the two revisions."
echo
echo "For further help please refer to: [ci/README.md](https://github.com/NixOS/nixpkgs/blob/master/ci/README.md)"
} >> $out/step-summary.md
fi
{
echo "For further help please refer to: [ci/README.md](https://github.com/NixOS/nixpkgs/blob/master/ci/README.md)"
echo
} >> $out/step-summary.md
cmp-stats --explain ${combined}/before/stats ${combined}/after/stats >> $out/step-summary.md
jq -r '.[]' "${touchedFilesJson}" > ./touched-files
readarray -t touchedFiles < ./touched-files
echo "This PR touches ''${#touchedFiles[@]} files"

View File

@@ -17,7 +17,6 @@
busybox,
jq,
nix,
perf,
}:
{
@@ -39,7 +38,7 @@ let
fileset = unions (
map (lib.path.append ../..) [
".version"
"ci/eval/pre-eval.nix"
"ci/eval/attrpaths.nix"
"ci/eval/chunk.nix"
"ci/eval/outpaths.nix"
"default.nix"
@@ -57,11 +56,11 @@ let
builtins.readFile ../../pkgs/top-level/release-supported-systems.json
);
preEval =
attrpathsSuperset =
{
evalSystem,
}:
runCommand "pre-eval"
runCommand "attrpaths-superset.json"
{
src = nixpkgs;
# Don't depend on -dev outputs to reduce closure size for CI.
@@ -74,15 +73,15 @@ let
export NIX_STATE_DIR=$(mktemp -d)
mkdir $out
export GC_INITIAL_HEAP_SIZE=4g
command time -f "Pre-eval done [%MKB max resident, %Es elapsed] %C" \
command time -f "Attribute eval done [%MKB max resident, %Es elapsed] %C" \
nix-instantiate --eval --strict --json --show-trace \
"$src/ci/eval/pre-eval.nix" \
-A result \
"$src/ci/eval/attrpaths.nix" \
-A paths \
-I "$src" \
--argstr extraNixpkgsConfigJson ${lib.escapeShellArg (builtins.toJSON extraNixpkgsConfig)} \
--option restrict-eval true \
--option allow-import-from-derivation false \
--option eval-system "${evalSystem}" > $out/result.json
--option eval-system "${evalSystem}" > $out/paths.json
'';
singleSystem =
@@ -91,10 +90,8 @@ let
# Note that this is intentionally not called `system`,
# because `--argstr system` would only be passed to the ci/default.nix file!
evalSystem ? builtins.currentSystem,
# The path to the `result.json` file from `preEval`
preEvalFile ? "${preEval { inherit evalSystem; }}/result.json",
# Output the number of assembly instructions executed during evaluation
countInstructions ? false,
# The path to the `paths.json` file from `attrpathsSuperset`
attrpathFile ? "${attrpathsSuperset { inherit evalSystem; }}/paths.json",
}:
let
singleChunk = writeShellScript "single-chunk" ''
@@ -103,7 +100,6 @@ let
myChunk=$2
system=$3
outputDir=$4
preEvalFile=$5
# Default is 5, higher values effectively disable the warning.
# This randomly breaks Eval.
@@ -125,12 +121,12 @@ let
--show-trace \
--arg chunkSize "$chunkSize" \
--arg myChunk "$myChunk" \
--arg preEvalFile "$preEvalFile" \
--arg attrpathFile "${attrpathFile}" \
--arg systems "[ \"$system\" ]" \
--arg includeBroken ${lib.boolToString includeBroken} \
--argstr extraNixpkgsConfigJson ${lib.escapeShellArg (builtins.toJSON extraNixpkgsConfig)} \
-I ${nixpkgs} \
-I "$preEvalFile" \
-I ${attrpathFile} \
> "$outputDir/result/$myChunk" \
2> "$outputDir/stderr/$myChunk"
exitCode=$?
@@ -150,16 +146,13 @@ let
runCommand "nixpkgs-eval-${evalSystem}"
{
# Don't depend on -dev outputs to reduce closure size for CI.
nativeBuildInputs = map lib.getBin (
[
busybox
jq
nix
]
++ lib.optionals countInstructions [ perf ]
);
nativeBuildInputs = map lib.getBin [
busybox
jq
nix
];
env = {
inherit evalSystem chunkSize countInstructions;
inherit evalSystem chunkSize;
};
__structuredAttrs = true;
unsafeDiscardReferences.out = true;
@@ -171,6 +164,12 @@ let
echo "System: $evalSystem"
cores=$NIX_BUILD_CORES
echo "Cores: $cores"
attrCount=$(jq length "${attrpathFile}")
echo "Attribute count: $attrCount"
echo "Chunk size: $chunkSize"
# Same as `attrCount / chunkSize` but rounded up
chunkCount=$(( (attrCount - 1) / chunkSize + 1 ))
echo "Chunk count: $chunkCount"
mkdir -p $out/${evalSystem}
@@ -191,78 +190,29 @@ let
done
) &
chunkedEval() {
local chunkOutputDir=$1
local preEvalFile=$2
seq_end=$(( chunkCount - 1 ))
local attrCount=$(jq '.paths | length' "$preEvalFile")
echo "Attribute count: $attrCount"
echo "Chunk size: $chunkSize"
# Same as `attrCount / chunkSize` but rounded up
local chunkCount=$(( (attrCount - 1) / chunkSize + 1 ))
echo "Chunk count: $chunkCount"
${lib.optionalString quickTest ''
seq_end=0
''}
local seq_end=$(( chunkCount - 1 ))
${lib.optionalString quickTest ''
seq_end=0
''}
chunkOutputDir=$(mktemp -d)
mkdir "$chunkOutputDir"/{result,stats,timestats,stderr}
mkdir -p "$chunkOutputDir"/{result,stats,timestats,stderr}
seq -w 0 "$seq_end" |
command time -f "%e" -o "$out/${evalSystem}/total-time" \
xargs -I{} -P"$cores" \
${singleChunk} "$chunkSize" {} "$evalSystem" "$chunkOutputDir"
runAllChunks() {
seq -w 0 "$seq_end" |
xargs -I{} -P"$cores" \
${singleChunk} "$chunkSize" {} "$evalSystem" "$chunkOutputDir" "$preEvalFile"
}
cp -r "$chunkOutputDir"/stats $out/${evalSystem}/stats-by-chunk
if [[ -n "$countInstructions" ]]; then
export seq_end cores chunkSize evalSystem chunkOutputDir preEvalFile
export -f runAllChunks
perf stat \
--event instructions:u --field-separator , --output "$chunkOutputDir"/perf-output-file \
bash -c runAllChunks
cat "$chunkOutputDir"/perf-output-file | tail -n 1 | cut -d, -f1 > "$chunkOutputDir"/instructions
rm "$chunkOutputDir"/perf-output-file
else
runAllChunks
fi
if (( chunkSize * chunkCount != attrCount )); then
# A final incomplete chunk would mess up the stats, don't include it
rm "$chunkOutputDir"/stats/"$seq_end"
fi
}
chunkOutputDirs=$(mktemp -d)
# Preparation for the second eval
disallowedAttributesPreEvalFile=$(mktemp)
jq '{
paths: (.attrPathsDisallowedForInternalUse | map(.attrPath)),
attrPathsDisallowedForInternalUse: []
}' ${preEvalFile} > "$disallowedAttributesPreEvalFile"
startEpoch=$(date +%s)
# The first eval evaluates only attributes that are not disallowed for internal Nixpkgs use, ensuring that they don't depend on disallowed attributes
# Because the first eval doesn't evaluate the disallowed attributes themselves, but we still want to check that they don't fail evaluation, we evaluate them separately in a second eval
# The reason we need two evals is because we want disallowed attributes to be able to depend on other disallowed attributes, which inherently needs a separate Nixpkgs instantiation
# And while we could interleave that instantiation into a single eval, that would ~double memory usage for all chunks, while doing it separately doesn't
echo "Evaluating the internally allowed attributes"
chunkedEval "$chunkOutputDirs"/allowed ${preEvalFile}
echo "Evaluating the internally disallowed attributes"
chunkedEval "$chunkOutputDirs"/disallowed "$disallowedAttributesPreEvalFile"
echo $(( $(date +%s) - startEpoch )) > "$out/${evalSystem}/total-time"
# We only use the stats from the allowed attrs eval, because the disallowed attrs are generally not even a full chunk
cp -r "$chunkOutputDirs"/allowed/stats $out/${evalSystem}/stats-by-chunk
if [[ -f "$chunkOutputDirs"/allowed/instructions ]]; then
cp "$chunkOutputDirs"/allowed/instructions $out/${evalSystem}/instructions
if (( chunkSize * chunkCount != attrCount )); then
# A final incomplete chunk would mess up the stats, don't include it
rm "$chunkOutputDir"/stats/"$seq_end"
fi
cat "$chunkOutputDirs"/*/result/* | jq -s 'add | map_values(.outputs)' > $out/${evalSystem}/paths.json
cat "$chunkOutputDirs"/*/result/* | jq -s 'add | map_values(.meta)' > $out/${evalSystem}/meta.json
cat "$chunkOutputDir"/result/* | jq -s 'add | map_values(.outputs)' > $out/${evalSystem}/paths.json
cat "$chunkOutputDir"/result/* | jq -s 'add | map_values(.meta)' > $out/${evalSystem}/meta.json
'';
diff = callPackage ./diff.nix { };
@@ -299,20 +249,14 @@ let
}) | from_entries
' > $out/maintainers.json
mkdir -p $out/before/stats $out/before/instructions
mkdir -p $out/before/stats
for d in ${diffDir}/before/*; do
cp -r "$d"/stats-by-chunk $out/before/stats/$(basename "$d")
if [[ -f "$d"/instructions ]]; then
cp "$d"/instructions $out/before/instructions/$(basename "$d")
fi
done
mkdir -p $out/after/stats $out/after/instructions
mkdir -p $out/after/stats
for d in ${diffDir}/after/*; do
cp -r "$d"/stats-by-chunk $out/after/stats/$(basename "$d")
if [[ -f "$d"/instructions ]]; then
cp "$d"/instructions $out/after/instructions/$(basename "$d")
fi
done
'';
@@ -322,16 +266,13 @@ let
{
# Whether to evaluate on a specific set of systems, by default all are evaluated
evalSystems ? if quickTest then [ "x86_64-linux" ] else supportedSystems,
# Output the number of assembly instructions executed during evaluation on
# each system
countInstructions ? false,
}:
symlinkJoin {
name = "nixpkgs-eval-baseline";
paths = map (
evalSystem:
singleSystem {
inherit evalSystem countInstructions;
inherit evalSystem;
}
) evalSystems;
};
@@ -347,12 +288,6 @@ let
# | jq --raw-input --slurp 'split("\n")[:-1]' > touched-files.json
# ```
touchedFilesJson ? builtins.toFile "touched-files.json" "[ ]",
# The branch the local comparison is made against; matches the `master`
# used in the touched-files expression above.
baseBranch ? "master",
# Output the number of assembly instructions executed during evaluation on
# each system
countInstructions ? false,
}:
let
diffs = symlinkJoin {
@@ -363,14 +298,14 @@ let
inherit evalSystem;
beforeDir = baseline;
afterDir = singleSystem {
inherit evalSystem countInstructions;
inherit evalSystem;
};
}
) evalSystems;
};
comparisonReport = compare {
combinedDir = combine { diffDir = diffs; };
inherit touchedFilesJson baseBranch;
inherit touchedFilesJson;
};
in
comparisonReport;
@@ -378,7 +313,7 @@ let
in
{
inherit
preEval
attrpathsSuperset
singleSystem
diff
combine

View File

@@ -6,7 +6,7 @@
includeBroken ? true, # set this to false to exclude meta.broken packages from the output
path ? ./../..,
# used by ./pre-eval.nix
# used by ./attrpaths.nix
attrNamesOnly ? false,
# Set this to `null` to build for builtins.currentSystem only
@@ -14,8 +14,6 @@
builtins.readFile (path + "/pkgs/top-level/release-supported-systems.json")
),
attrPathsDisallowedForInternalUse ? [ ],
# Customize the config used to evaluate nixpkgs
extraNixpkgsConfig ? { },
}:
@@ -37,22 +35,6 @@ let
allowVariants = !attrNamesOnly;
checkMeta = true;
# We don't need to care about problems being caught using the
# standard mechanism, because any problems whose kind is not
# nixpkgsInternalUseAllowed cause the corresponding attributes to
# be disallowed entirely for internal use with
# attrPathsDisallowedForInternalUse, see also ./pre-eval.nix
problems.matchers = lib.mkForce [
# We only need to set the broken handler to error, so that CI
# doesn't evaluate those. No reason it couldn't evaluate them
# afaik, but this is how it's been before.
{
kind = "broken";
handler = "error";
}
];
inherit attrPathsDisallowedForInternalUse;
# Silence the `x86_64-darwin` deprecation warning.
allowDeprecatedx86_64Darwin = true;

View File

@@ -1,128 +0,0 @@
# This file does a fast pre-evaluation of Nixpkgs to determine:
# - paths: A *superset* of all attrpaths of derivations which might be part of a release on *any* platform.
# - attrPathsDisallowedForInternalUse: Attribute paths whose meta.problems has problems whose kinds should not be used internally in Nixpkgs
#
# This expression runs single-threaded under all current Nix
# implementations, but much faster and with much less memory
# used than ./outpaths.nix itself.
#
# Once you have the list of attrnames you can split it up into
# $NUM_CORES batches and evaluate the outpaths separately for each
# batch, in parallel.
#
# To dump the result:
#
# nix-instantiate --eval --strict --json ci/eval/pre-eval.nix -A result
#
{
lib ? import (path + "/lib"),
trace ? false,
path ? ./../..,
extraNixpkgsConfigJson ? "{}",
}:
let
# TODO: Use mapAttrsToListRecursiveCond when this PR lands:
# https://github.com/NixOS/nixpkgs/pull/395160
listAttrs =
path: value:
let
result =
if path == [ "AAAAAASomeThingsFailToEvaluate" ] || !(lib.isAttrs value) then
[ ]
else if lib.isDerivation value then
[
{
inherit path value;
}
]
else
lib.pipe value [
(lib.mapAttrsToList (
name: value:
lib.addErrorContext "while evaluating package set attribute path '${
lib.showAttrPath (path ++ [ name ])
}'" (listAttrs (path ++ [ name ]) value)
))
lib.concatLists
];
in
lib.traceIf trace "** ${lib.showAttrPath path}" result;
outpaths = import ./outpaths.nix {
inherit path;
extraNixpkgsConfig = builtins.fromJSON extraNixpkgsConfigJson;
attrNamesOnly = true;
};
list =
map
(path: {
inherit path;
# This looks a bit weird, but the only reason we care about this value
# is for the meta.problems check below, and stdenv's certainly don't
# have any problems, so this is fine :)
value = { };
})
[
# Some of the following are based on variants, which are disabled with `attrNamesOnly = true`.
# Until these have been removed from release.nix / hydra, we manually add them to the list.
[
"pkgsLLVM"
"stdenv"
]
[
"pkgsArocc"
"stdenv"
]
[
"pkgsZig"
"stdenv"
]
[
"pkgsStatic"
"stdenv"
]
[
"pkgsMusl"
"stdenv"
]
]
++ listAttrs [ ] outpaths;
paths = map (attrs: attrs.path) list;
names = map lib.showAttrPath paths;
inherit (import ../../pkgs/stdenv/generic/problems.nix { inherit lib; })
disallowNixpkgsInternalUseKinds
;
# Determine the list of attributes whose packages have any meta.problems
# with a kind that's disallowed from internal Nixpkgs use
attrPathsDisallowedForInternalUse = lib.pipe list [
(lib.map (
attrs:
attrs
// {
problematicProblems = builtins.tryEval (
lib.filterAttrs (name: problem: disallowNixpkgsInternalUseKinds ? ${problem.kind}) (
attrs.value.meta.problems or { }
)
);
}
))
(lib.filter (attrs: attrs.problematicProblems.success && attrs.problematicProblems.value != { }))
(lib.map (attrs: {
attrPath = attrs.path;
reason = "it has certain meta.problems whose kinds are disallowed: ${
lib.generators.toPretty { } attrs.problematicProblems.value
}";
}))
];
in
{
# TODO: Do we still need these? Probably not
inherit paths names;
result = {
inherit paths attrPathsDisallowedForInternalUse;
};
}

View File

@@ -206,8 +206,20 @@ module.exports = async ({ github, context, core, dry }) => {
const maintainers = await getMaintainerMap(pull_request.base.ref)
const merge_bot_eligible = await handleMerge({
github,
context,
core,
log,
dry,
pull_request,
events,
maintainers,
getTeamMembers,
getUser,
})
// Check for any human reviews other than the PR author, GitHub actions and other GitHub apps.
// `commit { oid }` is needed by handleMerge to verify approvals are against the current head.
const reviews = (
await github.graphql(
`query($owner: String!, $repo: String!, $pr: Int!) {
@@ -219,7 +231,6 @@ module.exports = async ({ github, context, core, dry }) => {
reviews(first: 100) {
nodes {
state
commit { oid }
user: author {
# Only get users, no bots
... on User {
@@ -255,20 +266,6 @@ module.exports = async ({ github, context, core, dry }) => {
r.user.id !== pull_request.user?.id,
)
const merge_bot_eligible = await handleMerge({
github,
context,
core,
log,
dry,
pull_request,
events,
reviews,
maintainers,
getTeamMembers,
getUser,
})
const approvals = new Set(
reviews
.filter((review) => review.state === 'APPROVED')
@@ -395,13 +392,6 @@ module.exports = async ({ github, context, core, dry }) => {
pull_number,
per_page: 100,
})
// label llm-assisted PRs accordingly
const assistedByPattern = /Assisted-by: (?!nix-init)/i
evalLabels['llm-assisted'] = prCommits.some((c) =>
assistedByPattern.test(c.commit.message),
)
const commitSubjects = prCommits.map(
(c) => c.commit.message.split('\n')[0],
)

View File

@@ -74,10 +74,8 @@ async function checkCommitMessages({ commits, core }) {
'fix',
'perf',
'refactor',
'services',
'style',
'test',
'update',
]
/**

View File

@@ -2,11 +2,11 @@ const { classify } = require('../supportedBranches.js')
function runChecklist({
committers,
events,
files,
pull_request,
log,
maintainers,
reviews,
user,
userIsMaintainer,
}) {
@@ -27,35 +27,18 @@ function runChecklist({
.reduce((acc, cur) => acc?.intersection(cur) ?? cur)
const approvals = new Set(
reviews
events
.filter(
({ state, commit }) =>
state === 'APPROVED' &&
({ event, state, commit_id }) =>
event === 'reviewed' &&
state === 'approved' &&
// Only approvals for the current head SHA count, otherwise authors could push
// bad code between the approval and the merge.
commit?.oid === pull_request.head.sha,
commit_id === pull_request.head.sha,
)
.map(({ user }) => user.id),
)
// A "changes requested" review from a committer blocks both the merge queue and
// auto-merge, even if it was made on an older commit (unlike approvals, GitHub does
// not auto-dismiss changes-requested reviews on push). For each committer, take their
// latest actionable review; if it's CHANGES_REQUESTED, they're blocking the PR.
// Dismissed reviews surface as DISMISSED and comment-only follow-ups as COMMENTED, so
// both are skipped naturally — the prior actionable review still stands until the
// committer explicitly approves or requests changes again.
const committerReviewState = new Map()
for (const { user, state } of reviews) {
if (
committers.has(user.id) &&
['APPROVED', 'CHANGES_REQUESTED'].includes(state)
) {
committerReviewState.set(user.id, state)
}
}
const noBlockingReviews = !Array.from(committerReviewState.values()).includes(
'CHANGES_REQUESTED',
.map(({ user }) => user?.id)
// Some users have been deleted, so filter these out.
.filter(Boolean),
)
const checklist = {
@@ -74,11 +57,6 @@ function runChecklist({
pull_request.user.login === 'r-ryantm',
},
'PR is not a draft': !pull_request.draft,
// CI state is intentionally *not* a checklist item: auto-merge exists precisely to
// cover unfinished CI, and an already-failed CI is reported via the merge message
// (see merge() below) rather than a blanket refusal.
'PR is not blocked by a "changes requested" review from a [committer](https://github.com/orgs/NixOS/teams/nixpkgs-committers).':
noBlockingReviews,
}
if (user) {
@@ -119,7 +97,7 @@ function hasMergeCommand(body) {
return (body ?? '')
.replace(/<!--.*?-->/gms, '')
.replace(/(^`{3,})[^`].*?\1/gms, '')
.match(/^@NixOS\/nixpkgs-merge-bot merge\s*$/im)
.match(/^@NixOS\/nixpkgs-merge-bot merge\s*$/m)
}
async function handleMergeComment({ github, body, node_id, reaction }) {
@@ -145,7 +123,6 @@ async function handleMerge({
dry,
pull_request,
events,
reviews,
maintainers,
getTeamMembers,
getUser,
@@ -171,14 +148,6 @@ async function handleMerge({
// including an early exit when the first non-by-name file is found.
if (files.length >= 100) return false
const noPrFailuresState = (
await github.rest.repos.listCommitStatusesForRef({
...context.repo,
ref: pull_request.head.sha,
per_page: 100,
})
).data.find(({ context }) => context === 'no PR failures')?.state
// Only look through comments *after* the latest (force) push.
const lastPush = events.findLastIndex(
({ event, sha, commit_id }) =>
@@ -204,12 +173,10 @@ async function handleMerge({
)),
)
// Returns `{ reaction, messages }`: the reaction to leave on the merge comment and the
// lines to append to the bot's reply. Throws only on an unexpected API error.
async function merge() {
if (dry) {
core.info(`Merging #${pull_number}... (dry)`)
return { reaction: 'ROCKET', messages: ['Merge completed (dry)'] }
return ['Merge completed (dry)']
}
// Using GraphQL mutations instead of the REST /merge endpoint, because the latter
@@ -230,37 +197,16 @@ async function handleMerge({
{ node_id: pull_request.node_id, sha: pull_request.head.sha },
)
log('merge', 'Queued for merge')
return {
reaction: 'ROCKET',
messages: [
`:heavy_check_mark: [Queued](${resp.enqueuePullRequest.mergeQueueEntry.mergeQueue.url}) for merge (#306934)`,
],
}
return [
`:heavy_check_mark: [Queued](${resp.enqueuePullRequest.mergeQueueEntry.mergeQueue.url}) for merge (#306934)`,
]
} catch (e) {
log('Enqueuing failed', e.response.errors[0].message)
}
// Enqueuing fails when the required status checks are not satisfied, yet. If CI has
// already failed, enabling auto-merge would be pointless: it would never fire, and
// fixing CI requires a new push, which invalidates this merge command anyway (we only
// act on comments after the latest push). So we don't enable auto-merge and instead
// ask for a fresh command once CI is green again.
if (['error', 'failure'].includes(noPrFailuresState)) {
log('merge', 'CI has failed, not enabling auto-merge')
return {
reaction: 'THUMBS_DOWN',
messages: [
':x: Pull Request could not be merged: CI has failed (#305350).',
'',
'> [!TIP]',
'> PRs cannot be merged while CI is failing.',
'> Once CI is passing, comment `@NixOS/nixpkgs-merge-bot merge` again.',
],
}
}
// CI has not finished yet, so we enable auto-merge. We could also only use auto-merge,
// but this often gets stuck for no apparent reason.
// If required status checks are not satisfied, yet, the above will fail. In this case
// we can enable auto-merge. We could also only use auto-merge, but this often gets
// stuck for no apparent reason.
try {
await github.graphql(
`mutation($node_id: ID!, $sha: GitObjectID) {
@@ -273,17 +219,12 @@ async function handleMerge({
{ node_id: pull_request.node_id, sha: pull_request.head.sha },
)
log('merge', 'Auto-merge enabled')
return {
reaction: 'ROCKET',
messages: [
`:heavy_check_mark: Enabled Auto Merge (#306934)`,
'',
'> [!TIP]',
'> [Auto Merge](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/automatically-merging-a-pull-request) will queue this PR once required CI checks succeed.',
'> If CI fails instead, fixing it needs a new push, which disables Auto Merge and invalidates this command — comment `@NixOS/nixpkgs-merge-bot merge` again once CI is green.',
'> If GitHub gets stuck even though CI passed (it sometimes does), leaving another approval should kick off the merge.',
],
}
return [
`:heavy_check_mark: Enabled Auto Merge (#306934)`,
'',
'> [!TIP]',
'> Sometimes GitHub gets stuck after enabling Auto Merge. In this case, leaving another approval should trigger the merge.',
]
} catch (e) {
log('Auto Merge failed', e.response.errors[0].message)
throw new Error(e.response.errors[0].message)
@@ -326,11 +267,11 @@ async function handleMerge({
const { result, eligible, checklist } = runChecklist({
committers,
events,
files,
pull_request,
log,
maintainers,
reviews,
user: comment.user,
userIsMaintainer: await isMaintainer(comment.user.login),
})
@@ -367,12 +308,10 @@ async function handleMerge({
}
if (result) {
await react('ROCKET')
try {
const { reaction, messages } = await merge()
await react(reaction)
body.push(...messages)
body.push(...(await merge()))
} catch (e) {
await react('THUMBS_DOWN')
// Remove the HTML comment with node_id reference to allow retrying this merge on the next run.
body.shift()
body.push(`:x: Merge failed with: ${e} (#371492)`)
@@ -397,11 +336,11 @@ async function handleMerge({
const { result } = runChecklist({
committers,
events,
files,
pull_request,
log,
maintainers,
reviews,
})
// Returns a boolean, which indicates whether the PR is merge-bot eligible in principle.

View File

@@ -4,6 +4,7 @@
"requires": true,
"packages": {
"": {
"name": "github-script",
"dependencies": {
"@actions/artifact": "6.2.1",
"@actions/core": "1.10.1",

View File

@@ -2,7 +2,9 @@
"private": true,
"//": [
"Keep `@actions/core` and `@actions/github` in sync with",
"https://github.com/actions/github-script/blob/main/package.json."
"https://github.com/actions/github-script/blob/main/package.json.",
"Keep `@actions/artifact` and `bottleneck` in sync with",
"`.github/workflows/bot.yml`."
],
"dependencies": {
"@actions/artifact": "6.2.1",

View File

@@ -9,10 +9,23 @@
},
"branch": "nixpkgs-unstable",
"submodules": false,
"revision": "421eebfd0ec7bccd4abe826ce62d7e6e83129493",
"url": "https://github.com/NixOS/nixpkgs/archive/421eebfd0ec7bccd4abe826ce62d7e6e83129493.tar.gz",
"hash": "sha256:1lxfhfgiv1sz2v7fg43gny57sa6wf59n98q7ldsyb2p06f4sal7w"
"revision": "02f3fa0374fa13707d42d55d58ecc76b091f223c",
"url": "https://github.com/NixOS/nixpkgs/archive/02f3fa0374fa13707d42d55d58ecc76b091f223c.tar.gz",
"hash": "0z8d33c5g0gk9a74ppqq77npisf9xx9c8ai9isxa2hyjx4lv1pki"
},
"treefmt-nix": {
"type": "Git",
"repository": {
"type": "GitHub",
"owner": "numtide",
"repo": "treefmt-nix"
},
"branch": "main",
"submodules": false,
"revision": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"url": "https://github.com/numtide/treefmt-nix/archive/790751ff7fd3801feeaf96d7dc416a8d581265ba.tar.gz",
"hash": "1zah3dmbpn3ap5acg22kq1j19dg32gj73l43yamjcxhc38sv9kd5"
}
},
"version": 8
"version": 5
}

View File

@@ -1,175 +0,0 @@
{
lib,
pkgs,
...
}:
{
runtimeInputs = [
# tree-root uses `git rev-parse --show-toplevel`
pkgs.gitMinimal
];
settings = {
# numtide/treefmt-nix defaults
excludes = [
"*.lock"
"*.patch"
"*.diff"
"package-lock.json"
"go.mod"
"go.sum"
".gitattributes"
".gitignore"
".gitmodules"
"COPYING"
"LICENSE"
];
# Be a bit more verbose by default, so we can see progress happening
verbose = 1;
# By default it's info, which is too noisy since we have many unmatched files
on-unmatched = "debug";
formatter = {
# keep-sorted start block=yes newline_separated=yes
actionlint = {
command = lib.getExe pkgs.actionlint;
includes = [
".github/workflows/*.yml"
".github/workflows/*.yaml"
];
};
biome = {
command = lib.getExe pkgs.biome;
excludes = [
"*.min.js"
"pkgs/*"
];
includes = [
"*.js"
"*.ts"
"*.mjs"
"*.mts"
"*.cjs"
"*.cts"
"*.jsx"
"*.tsx"
"*.d.ts"
"*.d.cts"
"*.d.mts"
"*.css"
];
options = [
"check"
"--write"
"--no-errors-on-unmatched"
"--use-editorconfig=true"
"--javascript-formatter-quote-style=single"
"--semicolons=as-needed"
];
};
editorconfig-checker = {
command = lib.getExe pkgs.editorconfig-checker;
options = [
"-disable-indent-size"
# TODO: Remove this once this upstream issue is fixed:
# https://github.com/editorconfig-checker/editorconfig-checker/issues/505
"-disable-charset"
];
includes = [ "*" ];
priority = 1;
};
keep-sorted = {
command = lib.getExe pkgs.keep-sorted;
includes = [ "*" ];
};
markdown-code-runner = {
command = lib.getExe pkgs.markdown-code-runner;
options =
let
config = pkgs.writers.writeTOML "markdown-code-runner-config" {
presets.nixfmt = {
language = "nix";
command = [ (lib.getExe pkgs.nixfmt) ];
};
};
in
[ "--config=${config}" ];
includes = [ "*.md" ];
};
nixf-diagnose = {
command = lib.getExe pkgs.nixf-diagnose;
excludes = [
# Auto-generated; violates sema-extra-with
# Can only sensibly be removed when --auto-fix supports multiple fixes at once:
# https://github.com/inclyc/nixf-diagnose/issues/13
"pkgs/servers/home-assistant/component-packages.nix"
# https://github.com/nix-community/nixd/issues/708
"nixos/maintainers/scripts/azure-new/examples/basic/system.nix"
];
includes = [ "*.nix" ];
options = [
"--auto-fix"
# Rule names can currently be looked up here:
# https://github.com/nix-community/nixd/blob/main/libnixf/src/Basic/diagnostic.py
# TODO: Remove the following and fix things.
"--ignore=sema-unused-def-lambda-noarg-formal"
"--ignore=sema-unused-def-lambda-witharg-arg"
"--ignore=sema-unused-def-lambda-witharg-formal"
"--ignore=sema-unused-def-let"
# TODO: remove after outstanding prelude diagnostics issues are fixed:
# https://github.com/nix-community/nixd/issues/761
# https://github.com/nix-community/nixd/issues/762
"--ignore=sema-primop-removed-prefix"
"--ignore=sema-primop-overridden"
"--ignore=sema-constant-overridden"
"--ignore=sema-primop-unknown"
];
# Ensure nixfmt cleans up after nixf-diagnose.
priority = -1;
};
# This uses nixfmt underneath, the default formatter for Nix code.
# See https://github.com/NixOS/nixfmt
nixfmt = {
command = lib.getExe pkgs.nixfmt;
includes = [ "*.nix" ];
};
yamlfmt = {
command = lib.getExe pkgs.yamlfmt;
excludes = [
# Aligns comments with whitespace
"pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml"
# TODO: Fix formatting for auto-generated file
"pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml"
];
includes = [
"*.yaml"
"*.yml"
];
options = [
"-formatter"
"retain_line_breaks=true"
];
};
zizmor = {
command = lib.getExe pkgs.zizmor;
includes = [
".github/workflows/*.yml"
".github/workflows/*.yaml"
".github/actions/**/*.yml"
".github/actions/**/*.yaml"
];
};
# keep-sorted end
};
};
}

View File

@@ -1,9 +1,8 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -E 'with import ../. {}; mkShell { packages = [ npins ]; }'
#!nix-shell -i bash -p npins
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
npins --lock-file pinned.json upgrade
npins --lock-file pinned.json update

View File

@@ -1,32 +1,21 @@
# Contributing to the Nixpkgs manual
# Contributing to the Nixpkgs reference manual
This directory houses the source files for the Nixpkgs manual.
This directory houses the source files for the Nixpkgs reference manual.
> [!NOTE]
> [!IMPORTANT]
> We are actively restructuring our documentation to follow the [Diátaxis framework](https://diataxis.fr/)
>
> We are actively restructuring our documentation to be more beginner friendly.
> Going forward, this directory should **only** contain [reference documentation](https://nix.dev/contributing/documentation/diataxis#reference).
> For tutorials, guides and explanations, contribute to <https://nix.dev/> instead.
>
> We are actively working to generate **all** reference documentation from the [doc-comments](https://github.com/NixOS/rfcs/blob/master/rfcs/0145-doc-strings.md) present in code.
> This also provides the benefit of using `:doc` in the `nix repl` to view reference documentation locally on the fly.
When writing new docs use **Progressive Disclosure**
For documentation only relevant for contributors, use Markdown files next to the source and regular code comments.
Start simple, pick up beginners.
Use **examples** first to show how to get something done. Keep **Explanation** lean.
Use our [styleguide](./styleguide.md) for more in depth guidance on writing good documentation.
This directory contains **guides** and **reference** documentation for Nixpkgs.
Borrowing from [Diátaxis framework](https://diataxis.fr/) what suits our needs:
**Guides** are task-oriented. They can be tutorial-style walkthroughs or how-to sections.
Explanations appear as prose after examples.
**Reference** documentation is the specification of functions and attributes.
We are actively working to generate **all** reference documentation from the [doc-comments](https://github.com/NixOS/rfcs/blob/master/rfcs/0145-doc-strings.md) present in code.
This also provides the benefit of using `:doc` in the `nix repl` to view reference documentation locally on the fly.
See [Document structure](#document-structure) for a structural template.
> [!TIP]
> Feedback for improving support for parsing and rendering doc-comments is highly appreciated.
> [Open an issue](https://github.com/NixOS/nixpkgs/issues/new?labels=6.topic%3A+documentation&title=Doc%3A+) to request bugfixes or new features.
Rendered documentation:
- [Unstable (from master)](https://nixos.org/manual/nixpkgs/unstable/)
@@ -47,7 +36,7 @@ If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.
### Development environment
To reduce repetition, consider using tools from the provided development environment:
In order to reduce repetition, consider using tools from the provided development environment:
Load it from the Nixpkgs documentation directory with
@@ -65,11 +54,9 @@ Make sure that your local files aren't added to Git history by adding the follow
/**/.direnv
```
#### Live preview
#### `devmode`
Run [`devmode`](../pkgs/by-name/de/devmode/README.md) for a live preview while editing the manual: it rebuilds on every change and reloads the page in your browser automatically.
Changes to the renderer 'pkgs/by-name/ni/nixos-render-docs' need a manual restart. Run: `devmode` again.
Use [`devmode`](../pkgs/by-name/de/devmode/README.md) for a live preview when editing the manual.
### Testing redirects
@@ -220,64 +207,6 @@ When needed, each convention explains why it exists, so you can make a decision
Note that these conventions are about the **structure** of the manual (and its source files), not about the content that goes in it.
You, as the writer of documentation, are still in charge of its content.
**For prose style, see the [documentation styleguide](./styleguide.md).**
### Document structure
Organize each chapter as guide sections first, then a single `## Reference` section.
A well-structured chapter looks like this:
````markdown
# Foo {#foo}
`foo` builds Foo projects from a `foo.toml`.
## Package a Foo application {#foo-packaging}
:::{.example #ex-foo-packaging}
# Package the hello app
```nix
{ foo }:
buildFooPackage {
pname = "hello";
version = "1.0";
}
```
:::
`buildFooPackage` needs `pname` and `version`.
Keep explanation short, and place it after the example.
## Reference {#foo-reference}
### `buildFooPackage` {#foo-buildFooPackage}
Builds a Foo application from source.
#### Inputs {#foo-buildFooPackage-inputs}
`pname` (String)
: The program name.
#### Examples {#foo-buildFooPackage-examples}
See [](#ex-foo-packaging).
````
Examples live in one place: the guide owns them and the reference links to them.
Guides introduce minimal working examples that are goal-oriented (typical usage).
Reference may introduce additional examples that are unit-oriented. (minimal usage, edge-cases).
If the guide example is already sufficient, just link to it from the reference.
Follow this structure strictly; to deviate, ping @NixOS/documentation-team.
### One sentence per line
Put each sentence in its own line.
@@ -290,16 +219,17 @@ When changing existing content, update formatting if possible, but avoid excessi
### Examples first
Put examples before detailed explanations (see the [styleguide](./styleguide.md) for the rationale).
Readers look at examples first: an example communicates what something does faster than a description.
Put examples before detailed explanations.
Use this structure for each documented item:
Prefer this structure for each documented item:
1. Title
2. Abstract (optional, one sentence max)
2. Abstract (optional, one sentence max, the example often speaks for itself)
3. Example
4. Explanation (details, edge cases, types, defaults)
Rendered example:
For instance:
````markdown
## `lib.toUpper`
@@ -351,17 +281,11 @@ Returns the difference as a number.
Use the [admonition syntax](#admonitions) for callouts and examples.
### `callPackage`-compatible examples
### Provide self-contained examples
Provide at least one example per function, in its doc-comment.
Keep each example at the level it documents:
- A **reference example** might sometimes live in a doc-comment and show function call shape.
- A **guide example** lives in a guide section and shows a complete task that may compose several functions.
When the task is nothing more than the call itself, the guide example is enough.
The reference example links to the guide example.
Provide at least one example per function, and make examples self-contained.
This is easier to understand for beginners.
It also helps with testing that it actually works especially once we introduce automation.
Example code should be such that it can be passed to `pkgs.callPackage`.
Instead of something like:

View File

@@ -25,5 +25,6 @@ build-helpers/dev-shell-tools.chapter.md
build-helpers/special.md
build-helpers/images.md
hooks/index.md
languages-frameworks/index.md
packages/index.md
```

View File

@@ -2,7 +2,7 @@
The `nix-shell` command has popularized the concept of transient shell environments for development or testing purposes.
<!--
We should try to document the product, not its development process in the Nixpkgs manual,
We should try to document the product, not its development process in the Nixpkgs reference manual,
but *something* needs to be said to provide context for this library.
This is the most future proof sentence I could come up with while Nix itself does not yet make use of this.
Relevant is the current status of the devShell attribute "project": https://github.com/NixOS/nix/issues/7501

View File

@@ -1,50 +1,48 @@
# Fixed-point arguments of build helpers {#chap-build-helpers-finalAttrs}
`stdenv.mkDerivation` also accepts a [fixed-point function](#function-library-lib.fixedPoints.fix) instead of a plain attribute set:
As mentioned in the beginning of this part, `stdenv.mkDerivation` could alternatively accept a fixed-point function. The input of this function, typically named `finalAttrs`, is expected to be the final state of the attribute set. A build helper like this is said to accept **fixed-point arguments**.
```nix
{
stdenv,
fetchurl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hello";
version = "2.12";
Build helpers don't always support fixed-point arguments yet, as support in [`stdenv.mkDerivation`](#mkderivation-recursive-attributes) was first included in Nixpkgs 22.05.
src = fetchurl {
url = "mirror://gnu/hello/hello-${finalAttrs.version}.tar.gz";
hash = "sha256-...";
};
})
```
## Defining a build helper with `lib.extendMkDerivation` {#sec-build-helper-extendMkDerivation}
The function's input, conventionally named `finalAttrs`, is the final state of the attribute set. Here `src` reads `finalAttrs.version` instead of repeating the version string. A build helper like this is said to accept **fixed-point arguments**.
Attributes that reference each other through `finalAttrs` stay correct when changing any of them with [`overrideAttrs`](#sec-pkg-overrideAttrs), because they all access the final values of the fixed-point computation.
`rec` cannot do this: its self-references are fixed when the set is defined and ignore later overrides.
See [recursive-sets](https://nix.dev/manual/nix/stable/language/syntax#recursive-sets) for the underlying mechanism.
## Define a build helper with `lib.extendMkDerivation` {#sec-build-helper-extendMkDerivation}
Use [`lib.customisation.extendMkDerivation`](#function-library-lib.customisation.extendMkDerivation) to define a build helper with fixed-point support from an existing one.
Its argument `extendDrvArgs` takes an attribute overlay similar to [`<pkg>.overrideAttrs`](#sec-pkg-overrideAttrs).
Developers can use the Nixpkgs library function [`lib.customisation.extendMkDerivation`](#function-library-lib.customisation.extendMkDerivation) to define a build helper supporting fixed-point arguments from an existing one with such support, with an attribute overlay similar to the one taken by [`<pkg>.overrideAttrs`](#sec-pkg-overrideAttrs).
Besides overriding, `lib.extendMkDerivation` also supports `excludeDrvArgNames` to optionally exclude some arguments in the input fixed-point arguments from passing down to the base build helper (specified as `constructDrv`).
:::{.example #ex-build-helpers-extendMkDerivation}
# Example `mkLocalDerivation` - a build helper over `mkDerivation`
# Example definition of `mkLocalDerivation` extended from `stdenv.mkDerivation` with `lib.extendMkDerivation`
Define a build helper named `mkLocalDerivation` that builds locally without using substitutes by default.
We want to define a build helper named `mkLocalDerivation` that builds locally without using substitutes by default.
Use `lib.extendMkDerivation`:
Instead of taking a plain attribute set,
```nix
{
lib,
stdenv,
}:
preferLocalBuild ? true,
allowSubstitute ? false,
specialArg ? (_: false),
...
}@args:
stdenv.mkDerivation (
removeAttrs [
# Don't pass specialArg into mkDerivation.
"specialArg"
] args
// {
# Arguments to pass
inherit preferLocalBuild allowSubstitute;
# Some expressions involving specialArg
greeting = if specialArg "hi" then "hi" else "hello";
}
)
```
we could define with `lib.extendMkDerivation` an attribute overlay to make the result build helper also accept the attribute set's fixed point passing to the underlying `stdenv.mkDerivation`, named `finalAttrs` here:
```nix
lib.extendMkDerivation {
constructDrv = stdenv.mkDerivation;
excludeDrvArgNames = [
@@ -69,78 +67,4 @@ lib.extendMkDerivation {
```
:::
To apply extra changes to the result derivation, pass `transformDrv` to `lib.extendMkDerivation`:
```nix
lib.customisation.extendMkDerivation { transformDrv = drv: /...; }
```
Construct a wrapper derivation around another derivation using `transformDrv`
The wrapper has access to the original arguments
:::{.example #ex-build-helpers-extendMkDerivation-transformDrv-wrapper}
# Define a custom build helper that downloads and builds
```nix
{
lib,
stdenvNoCC,
cacert,
configure-example,
download-example,
}:
lib.extendMkDerivation {
constructDrv = stdenvNoCC.mkDerivation;
excludeDrvArgNames = [
"bar"
];
extendDrvArgs =
finalAttrs:
{
bar,
foo,
hash ? "",
...
}@args:
{
inherit hash;
nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
cacert
download-example
];
buildPhase = ''
runHook preBuild
download-example --foo="$foo" --out="$out"
runHook postBuild
'';
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
outputHash = if finalAttrs.hash != "" then finalAttrs.hash else lib.fakeHash;
outputHashFormat = "recursive";
passthru = args.passthru or { } // {
inherit bar;
};
};
transformDrv =
unwrapped:
stdenvNoCC.mkDerivation (finalAttrs: {
name = finalAttrs.src.name + "-wrapped";
src = unwrapped;
nativeBuildInputs = [
configure-example
];
inherit (unwrapped) bar;
buildPhase = ''
runHook preBuild
configure-example --bar="$bar"
runHook postBuild
'';
});
}
```
:::
If one needs to apply extra changes to the result derivation, pass the derivation transformation function to `lib.extendMkDerivation` as `lib.customisation.extendMkDerivation { transformDrv = drv: ...; }`.

View File

@@ -98,14 +98,6 @@ It has two modes:
: The path to the files to check.
`relocatable` (boolean, optional) {#tester-lycheeLinkCheck-param-relocatable}
: Whether the site is expected to be relocatable, i.e. servable from any URL path prefix.
When `true` (the default), root-relative links (starting with `/`) are treated as errors, because they break when the site is served from a subpath or opened via `file://` URLs.
When `false`, root-relative links are resolved against the `site` directory.
`remap` (attribute set, optional) {#tester-lycheeLinkCheck-param-remap}
: An attribute set where the attribute names are regular expressions.
@@ -737,112 +729,4 @@ Notable attributes:
* `driverInteractive`: a script that launches an interactive Python session in the context of the `testScript`.
## `modularServiceCompliance` {#tester-modularServiceCompliance}
Compliance suite for [modular service](https://nixos.org/manual/nixos/unstable/#modular-services) integrations.
Tests that a service manager integration correctly handles the portable modular services contract: `process.argv`, sub-services, assertions, and warnings.
### Return value {#tester-modularServiceCompliance-return}
An attribute set of derivations which perform the tests during their build.
### Inputs {#tester-modularServiceCompliance-inputs}
`evalConfig` (function)
: `{ services } -> { config; checkDrv; }`.
Function to evaluate the given services in the integration's full context.
This function is called for evaluation checks on configurations that will not be run.
- Input `services` is an attrset of modular service configurations. These should be used verbatim.
- Output attribute `config` is the resulting evaluated services attrset (e.g., the value of the `system.services` option in NixOS).
This attribute must be available even if `checkDrv` would fail.
- Output attribute `checkDrv` is a representative derivation whose existence and buildability prove the eval is sound (e.g., `system.build.toplevel` in NixOS, but could perhaps be more specific in the case of another process manager integration).
- The generic tester only reads `config` and `checkDrv`. An integration may return additional attributes for its own integration-specific eval checks. Such extra attributes are optional.
`mkTest` (function)
: `{ name, services, testExe } -> derivation`.
- Input `name` is a test name, suitable for use as a derivation name.
- Input `services` is an attrset of modular service configurations, matching the structure of the integration's services option.
- Input `testExe` is a store path to an executable that verifies the services.
- Output: a derivation that runs the service manager with the provided configuration inputs and then calls `testExe` after starting the services. That executable must have access to `sharedDir`.
`sharedDir` (string)
: Path to a directory writable by service processes and readable by `testExe`.
The integration must ensure this directory is available when the services and `testExe` run.
`callReload` (function)
: `path -> string`.
Given a service's name `path` (the list of service names from the top-level service down to the target sub-service, e.g. `[ "reload" "inner" ]`), returns a shell command that reloads that service.
The command is embedded in `testExe` and executed with sufficient privilege to reload the service (e.g. as root in the test VM).
There is no manager-agnostic reload command, so every integration must provide this; the integration joins the `path` per its own unit-naming convention (the suite does not assume one).
On NixOS the `path` dash-joins into the systemd unit name with a `.service` suffix, so the command is `systemctl reload ${lib.concatStringsSep "-" path}.service` (a top-level service is a single-element path `[ "svc" ]` -> `svc.service`; a nested sub-service `[ "parent" "child" ]` -> `parent-child.service`).
:::{.example #ex-modularServiceCompliance-nixos}
# NixOS invocation of the compliance suite
```nix
# In nixos/tests/all-tests.nix:
# modularServiceCompliance =
recurseIntoAttrs (
pkgs.testers.modularServiceCompliance {
sharedDir = "/tmp/modular-service-compliance";
evalConfig =
{ services }:
let
machine = evalSystem (
{ ... }:
{
system.services = services;
system.stateVersion = "25.05";
fileSystems."/" = {
device = "/test/dummy";
fsType = "auto";
};
boot.loader.grub.enable = false;
}
);
in
{
config = machine.config.system.services;
checkDrv = machine.config.system.build.toplevel;
};
callReload = path: "systemctl reload ${lib.concatStringsSep "-" path}.service";
mkTest =
{
name,
services,
testExe,
}:
runTest {
_class = "nixosTest";
inherit name;
nodes.machine.system.services = services;
testScript = ''
machine.wait_for_unit("multi-user.target")
machine.succeed("${testExe}")
'';
};
}
)
```
:::
### Manual compliance items {#tester-modularServiceCompliance-manual}
The following compliance items are not yet automated and must be verified manually when implementing a new modular service integration.
- **Failing assertions prevent deployment.**
A service with `assertions = [{ assertion = false; message = "..."; }]` must cause the deployment to fail.
The mechanism is integration-specific (e.g., NixOS checks assertions during `system.build.toplevel` evaluation).
- **Warnings are visible to the user.**
A service with `warnings = [ "..." ]` must surface the warning to the user.
On NixOS these are `builtins.warn` messages emitted during evaluation.
[file system object]: https://nix.dev/manual/nix/latest/store/file-system-object

View File

@@ -165,7 +165,7 @@ They are useful for creating files from Nix expressions, and are all implemented
Each of these functions will cause a derivation to be produced.
When you coerce the result of each of these functions to a string with [string interpolation](https://nixos.org/manual/nix/stable/language/string-interpolation) or [`toString`](https://nixos.org/manual/nix/stable/language/builtins#builtins-toString), it will evaluate to the [store path](https://nixos.org/manual/nix/stable/store/store-path) of this derivation.
::: {.note}
:::: {.note}
Some of these functions will put the resulting files within a directory inside the [derivation output](https://nixos.org/manual/nix/stable/language/derivations#attr-outputs).
If you need to refer to the resulting files somewhere else in a Nix expression, append their path to the derivation's store path.
@@ -190,7 +190,7 @@ writeShellScript "evaluate-my-file.sh" ''
cat ${my-file}/share/my-file
''
```
:::
::::
### `makeDesktopItem` {#trivial-builder-makeDesktopItem}

View File

@@ -1,26 +0,0 @@
# How channels work {#how-channels-work}
nixpkgs uses the [channels feature](https://nixos.org/nix/manual/#sec-channels) of nix.
nixpkgs is distributed for users of Nix on non-NixOS distributions through the channel
`nixpkgs-unstable`. Users of NixOS generally use one of the `nixos-*` channels,
e.g. `nixos-22.11`, which includes all packages and modules for the stable NixOS
22.11. Stable NixOS releases are generally only given
security updates. More up to date packages and modules are available via the
`nixos-unstable` channel.
Both `nixos-unstable` and `nixpkgs-unstable` follow the `master` branch of the
nixpkgs repository, although both do lag the `master` branch by generally
[a couple of days](https://status.nixos.org/). Updates to a channel are
distributed as soon as all tests for that channel pass, e.g.
[this table](https://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
shows the status of tests for the `nixpkgs-unstable` channel.
The tests are conducted by a cluster called [Hydra](https://nixos.org/hydra/),
which also builds binary packages from the Nix expressions in Nixpkgs for
`x86_64-linux`, `aarch64-linux`, `x86_64-darwin` and `aarch64-darwin`.
The binaries are made available via a [binary cache](https://cache.nixos.org).
The current Nix expressions of the channels are available in the
[nixpkgs repository](https://github.com/NixOS/nixpkgs) in branches
that correspond to the channel names (e.g. `nixos-22.11-small`).

View File

@@ -1,5 +1,5 @@
{
pkgs ? (import ../ci { }).docPkgs,
pkgs ? (import ../ci { }).pkgs,
nixpkgs ? { },
}:

View File

@@ -1,7 +0,0 @@
<div class="manual-header">
<nav class="manual-header--tabs">
<a class="manual-header--tab manual-header--tab-active" href="#">Nixpkgs</a>
<a class="manual-header--tab" href="https://nixos.org/manual/nixos/stable/">NixOS</a>
</nav>
<span class="manual-header--title">Nixpkgs Manual</span>
</div>

View File

@@ -73,7 +73,6 @@ stdenvNoCC.mkDerivation (
../anchor.min.js
../manpage-urls.json
../redirects.json
../nav.json
]
);
};
@@ -117,10 +116,8 @@ stdenvNoCC.mkDerivation (
--script ./highlightjs/loader.js \
--script ./anchor.min.js \
--script ./anchor-use.js \
--sidebar-depth 3 \
--nav ./nav.json \
--header ${./header.html}\
--no-navheader \
--toc-depth 1 \
--section-toc-depth 1 \
manual.md \
out/index.html

View File

@@ -1,84 +0,0 @@
# Package your first application {#chap-first-package}
Package an application with Nixpkgs by picking the build helper for its language and setting a few attributes.
Each language ecosystem has its own build helper.
See [](#chap-language-support) for the full set.
## Package a Go application {#first-package-go}
`buildGoModule` builds Go programs that use Go modules.
Write the package to `package.nix`:
:::{.example #ex-first-package-go}
# Package `pet` with `buildGoModule`
```nix
# package.nix
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule (finalAttrs: {
pname = "pet";
version = "0.3.4";
src = fetchFromGitHub {
owner = "knqyf263";
repo = "pet";
tag = "v${finalAttrs.version}";
hash = "sha256-Gjw1dRrgM8D3G7v6WIM2+50r4HmTXvx0Xxme2fH9TlQ=";
};
vendorHash = "sha256-6hCgv2/8UIRHw1kCe3nLkxF23zE/7t5RDwEjSzX3pBQ=";
meta = {
description = "Simple command-line snippet manager, written in Go";
homepage = "https://github.com/knqyf263/pet";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ kalbasit ];
};
})
```
:::
`buildGoModule` needs `pname`, `version`, `src`, and `vendorHash`.
Pin Nixpkgs and call the package from `default.nix`:
```nix
# default.nix
let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
pkgs = import nixpkgs { };
in
pkgs.callPackage ./package.nix { }
```
Build it:
```shell
$ nix-build ./default.nix
# or equivalent
$ nix-build
```
Run it:
```shell
$ ./result/bin/pet --help
pet - Simple command-line snippet manager.
```
`vendorHash` pins the fetched dependencies.
To find its value:
1. Set `vendorHash` to an empty string `""`.
2. Run `nix-build`.
3. Copy the correct value from the error into `vendorHash`.
See the [Go reference](#sec-language-go) for every attribute and advanced usage.

View File

@@ -1,24 +0,0 @@
# checkPhaseThreadLimitHook {#setup-hook-check-phase-thread-limit}
This hook defaults a variety of environment variables known
to control thread counts to 1. Many of these otherwise default
to `$(nproc)`, which causes massive overloads on build machines
if nix build jobs and build cores are already tuned to fully utilize
compute capacity of a builder without additional parallelism.
Currently sets the following environment variables:
- [`OMP_NUM_THREADS`](https://www.openmp.org/spec-html/5.0/openmpse50.html)
- [`OPENBLAS_NUM_THREADS`](https://github.com/OpenMathLib/OpenBLAS/blob/e7b45174355edec1f04de1cabcf5ca6a98ea7fbc/USAGE.md#how-can-i-use-openblas-in-multi-threaded-applications)
- [`MKL_NUM_THREADS`](https://www.intel.com/content/www/us/en/docs/onemkl/developer-guide-linux/2023-0/mkl-domain-num-threads.html)
- [`BLIS_NUM_THREADS`](https://github.com/flame/blis/blob/b8b75b4e19459f5d618b57aa814ca38b1d82eb82/docs/Multithreading.md#specifying-multithreading)
- `VECLIB_MAXIMUM_THREADS`: Only affects darwin, see [`man 7 Accelerate`](https://manp.gs/mac/7/Accelerate)
- [`NUMBA_NUM_THREADS`](https://numba.readthedocs.io/en/stable/reference/envvars.html#threading-control)
- [`NUMEXPR_NUM_THREADS`](https://numexpr.readthedocs.io/en/latest/user_guide.html#threadpool-configuration)
The `NIX_CHECK_PHASE_DEFAULT_NUM_THREADS` environment variable
can be used to override the default thread count limit.
`dontLimitCheckPhaseThreads = true;` can be used to disable
thread limiting on an individual package.
This hook will not attempt to override already existing
definitions for thread count environment variables.

View File

@@ -13,7 +13,6 @@ aws-c-common.section.md
bmake.section.md
breakpoint.section.md
cernlib.section.md
check-phase-thread-limit-hook.section.md
cmake.section.md
desktop-file-utils.section.md
gdk-pixbuf.section.md
@@ -38,7 +37,6 @@ npm-install-hook.section.md
patch-rc-path-hooks.section.md
perl.section.md
pkg-config.section.md
pnpm.section.md
postgresql-test-hook.section.md
premake.section.md
python.section.md
@@ -50,7 +48,6 @@ unzip.section.md
validatePkgConfig.section.md
versionCheckHook.section.md
waf.section.md
writable-tmpdir-as-home-hook.section.md
zig.section.md
xcbuild.section.md
xfce4-dev-tools.section.md

View File

@@ -1,142 +0,0 @@
# pnpmBuildHook {#pnpm-build-hook}
[pnpm](https://pnpm.io/) is a an NPM-compatible package manager focused on increasing managment speeds, and reducing disk space.
The `pnpmBuildHook` in Nixpkgs overrides the default build phase for building packages that use pnpm.
:::{.example #ex-pnpm-build-hook}
## pnpmBuildHook example code snippet {#pnpm-build-hook-code-snippet}
```nix
{
lib,
stdenv,
fetchFromGitHub,
fetchPnpmDeps,
pnpmConfigHook,
pnpmBuildHook,
makeBinaryWrapper,
pnpm_10,
}:
let
pnpm = pnpm_10;
in
stdenv.mkDerivation (finalAttrs: {
pname = "coolPackages";
version = "1.0";
src = fetchFromGitHub {
owner = "JaneCool";
repo = "coolpackage";
tag = finalAttrs.version;
hash = lib.fakeHash;
};
__structuredAttrs = true;
strictDeps = true;
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
hash = lib.fakeHash;
};
nativeBuildInputs = [
pnpmConfigHook
pnpmBuildHook
makeBinaryWrapper
];
pnpmBuildScript = "build";
pnpmBuildFlags = [
"--mode"
"production"
];
pnpmWorkspaces = [
"test"
];
installPhase = ''
runHook preInstall
mkdir "$out"
cp -r dist/. "$out"
runHook postInstall
'';
meta = {
description = "very cool package that does cool things";
mainProgram = "cool";
};
})
```
:::
## Variables controlling pnpmBuildHook {#pnpm-build-hook-variables}
### pnpm Exclusive Variables {#pnpm-build-hook-exclusive-variables}
#### `pnpmBuildScript` {#pnpm-build-hook-script}
Controls the script ran to build the package, by default the script is `build`.
#### `pnpmFlags` {#pnpm-build-hook-flags}
Controls flags used for all invocations of pnpm across all hooks local to this derivation.
#### `pnpmBuildFlags` {#pnpm-build-hook-build-flags}
Controls the flags pass only to the pnpm build script invocation.
#### `dontPnpmBuild` {#pnpm-build-hook-dont}
Disables automatically running `pnpmBuildHook`. The build can still be run manually if needed, for example:
```nix
{
lib,
rustPlatform,
pnpmBuildHook,
pnpmConfigHook,
fetchPnpmDeps,
emptyDirectory,
pnpm_10,
}:
let
pnpm = pnpm_10;
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "super-fast-application";
version = "1.0";
src = emptyDirectory;
cargoHash = lib.fakeHash;
nativeBuildInputs = [
pnpmBuildHook
pnpmConfigHook
];
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 4;
hash = lib.fakeHash;
};
dontPnpmBuild = true;
postBuild = ''
pnpmBuildHook
'';
})
```
### Honored Variables {#pnpm-build-hook-honored-variables}
The following variables are honored by `pnpmBuildHook`.
* [`pnpmRoot`](#javascript-pnpm-sourceRoot)
* [`pnpmWorkspaces`](#javascript-pnpm-workspaces)

View File

@@ -1,5 +0,0 @@
# writableTmpDirAsHomeHook {#writableTmpDirAsHomeHook}
This setup hook provides a writable home directory for packages that require it.
To use, just add the hook to the `nativeBuildInputs` of the package.

View File

@@ -125,7 +125,7 @@ There are 2 ways to package backend dependencies: either per-dependency mix2nix
When writing an elixir project targeting `mixRelease`, you can also consider using [deps_nix](https://github.com/code-supply/deps_nix) with `mixNixDeps`. `deps_nix` supports git dependencies, but is intended to be added to the project's `mix.exs` directly.
##### mix2nix {#mix2nix}
###### mix2nix {#mix2nix}
`mix2nix` is a cli tool available in Nixpkgs. It will generate a Nix expression from a `mix.lock` file. It is quite standard in the 2nix tool series.
@@ -175,7 +175,7 @@ If there are git dependencies.
You will need to run the build process once to fix the hash to correspond to your new git src.
##### FOD {#fixed-output-derivation}
###### FOD {#fixed-output-derivation}
A fixed output derivation will download mix dependencies from the internet. To ensure reproducibility, a hash will be supplied. Note that mix is relatively reproducible. An FOD generating a different hash on each run hasn't been observed (as opposed to npm where the chances are relatively high). See [akkoma](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/ak/akkoma/package.nix) for a usage example of FOD.
@@ -255,7 +255,7 @@ Setup will require the following steps:
#### Example of creating a service for an Elixir - Phoenix project {#example-of-creating-a-service-for-an-elixir---phoenix-project}
To create a service with your release, you could add a `service.nix`
In order to create a service with your release, you could add a `service.nix`
in your project with the following
```nix

View File

@@ -105,7 +105,7 @@ Given the requirements above, the package expression would become messy quickly:
}
```
Fortunately, we have a [family of hooks]{#ssec-gnome-hooks-wrapgappshook} that automate this. They work in conjunction with other setup hooks that populate environment variables, and will then wrap all executables in `bin` and `libexec` directories using said variables. If a package has multiple outputs, these hooks will work on `outputBin` by default, or on the outputs listed in `wrapGAppsInOutputs` if set.
Fortunately, we have a [family of hooks]{#ssec-gnome-hooks-wrapgappshook} that automate this. They work in conjunction with other setup hooks that populate environment variables, and will then wrap all executables in `bin` and `libexec` directories using said variables.
- [`wrapGAppsHook3`]{#ssec-gnome-hooks-wrapgappshook3} for GTK 3 apps. For convenience, it also adds `dconf.lib` for a GIO module implementing a GSettings backend using `dconf`, `gtk3` for GSettings schemas, and `librsvg` for GdkPixbuf loader to the closure.
- [`wrapGAppsHook4`]{#ssec-gnome-hooks-wrapgappshook4} for GTK 4 apps. Same as `wrapGAppsHook3` but replaces `gtk3` with `gtk4`.

View File

@@ -679,7 +679,7 @@ Defaults to `false`.
`genericBuilderArgsModifier`
: This argument accepts a function allowing you to modify the arguments passed
to `mkDerivation` to create the development environment. For example,
to `mkDerivation` in order to create the development environment. For example,
`args: { doCheck = false; }` would cause the environment to not include any test
dependencies. Defaults to `lib.id`.

View File

@@ -2,10 +2,6 @@
The [standard build environment](#chap-stdenv) makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of `stdenv`. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
::: {.tip}
New to packaging? Start with [](#chap-first-package), then return here for the ecosystem you need.
:::
Each supported language or software ecosystem has its own package set named `<language or ecosystem>Packages`, which can be explored in various ways:
- Search on [search.nixos.org](https://search.nixos.org/packages)
@@ -60,6 +56,7 @@ android.section.md
astal.section.md
beam.section.md
chicken.section.md
rocq.section.md
cosmic.section.md
crystal.section.md
cuda.section.md
@@ -95,7 +92,6 @@ pkg-config.section.md
python.section.md
qt.section.md
r.section.md
rocq.section.md
ruby.section.md
rust.section.md
scheme.section.md

View File

@@ -305,12 +305,10 @@ This package puts the corepack wrappers for pnpm and yarn in your PATH, and they
### pnpm {#javascript-pnpm}
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_9`, `pnpm_10`, `pnpm_10_29_2` and `pnpm_11`, which support different sets of lock file versions.
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9`, `pnpm_10`, `pnpm_10_29_2` and `pnpm_11`, which support different sets of lock file versions.
When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook `pnpmConfigHook` will prepare the build environment to install the pre-fetched dependencies store. Here is an example for a package that contains `package.json` and a `pnpm-lock.yaml` files using the fetcher and setup hook above:
There is also the [`pnpmBuildHook`](#pnpm-build-hook) for building packages with `pnpm`, as seen in [](#ex-pnpm-build-hook).
```nix
{
fetchPnpmDeps,
@@ -366,7 +364,7 @@ It is highly recommended to use a pinned version of pnpm (i.e., `pnpm_9` or `pnp
+let
+ # Optionally override pnpm to use a custom nodejs version
+ # Make sure that the same nodejs version is referenced in nativeBuildInputs
+ # pnpm = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
+ # pnpm = pnpm_10.override { nodejs = nodejs-slim_22; };
+in
stdenv.mkDerivation (finalAttrs: {
pname = "foo";
@@ -408,8 +406,6 @@ In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `
}
```
If needed, `dontPnpmConfigure = true;` can be used to fully disable `pnpmConfigHook` without manually removing it from inputs.
#### Dealing with `sourceRoot` {#javascript-pnpm-sourceRoot}
If the pnpm project is in a subdirectory, you can just define `sourceRoot` or `setSourceRoot` for `fetchPnpmDeps`.
@@ -495,7 +491,7 @@ In this example, `prePnpmInstall` will be run by both `pnpmConfigHook` and by th
#### pnpm `fetcherVersion` {#javascript-pnpm-fetcherVersion}
This is the version of the output of `fetchPnpmDeps`. New packages should use `4`:
This is the version of the output of `fetchPnpmDeps`. New packages should use `3`:
```nix
{
@@ -515,10 +511,10 @@ Changes can include workarounds or bug fixes to existing PNPM issues.
##### Version history {#javascript-pnpm-fetcherVersion-versionHistory}
Version 3 is the minimum supported value. Versions 1 and 2 were removed in the 26.11 release; packages that still use them fail to evaluate and must migrate to `fetcherVersion = 3` (or later) and regenerate their hashes.
Version 3 is the recommended value for new packages. Versions 1 and 2 are deprecated and scheduled for removal in the 26.11 release; existing packages must migrate.
- 1: Initial version, nothing special. (removed in 26.11)
- 2: [Ensure consistent permissions](https://github.com/NixOS/nixpkgs/pull/422975) (removed in 26.11)
- 1: Initial version, nothing special.
- 2: [Ensure consistent permissions](https://github.com/NixOS/nixpkgs/pull/422975)
- 3: [Build a reproducible tarball](https://github.com/NixOS/nixpkgs/pull/469950)
- 4: [Dump SQLite database to an SQL file](https://github.com/NixOS/nixpkgs/pull/522703)

View File

@@ -162,17 +162,6 @@ the package `luarocks-packages-updater`:
nix-shell -p luarocks-packages-updater --run luarocks-packages-updater
```
To add a new package without updating all packages, run
```sh
nix-shell -p luarocks-packages-updater
luarocks-packages-updater add [--maintainers "<maintainer>"] <package-name>
```
The optional `--maintainers` argument accepts a space-separated list of nixpkgs maintainer names.
When omitted, the package is added without maintainers.
[luarocks2nix](https://github.com/nix-community/luarocks) is a tool capable of generating nix derivations from both rockspec and src.rock (and favors the src.rock).
The automation only goes so far though and some packages need to be customized.
These customizations go in [pkgs/development/lua-modules/overrides.nix](https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/lua-modules/overrides.nix).
@@ -243,7 +232,7 @@ The following is an example:
vyp
lblasc
];
license = lib.licenses.mit;
license.fullName = "MIT/X11";
};
};
}

View File

@@ -174,59 +174,6 @@ To make sure that your package does not add extra manual effort when upgrading M
</plugin>
```
## Maven 4 {#maven-4}
Alongside the default `maven` package (the latest Maven 3 release), nixpkgs ships `maven_4`, which packages the [Maven 4](https://maven.apache.org/whatsnewinmaven4.html) release line.
`maven_4` is a standalone derivation and can be used as a drop-in replacement wherever `maven` is used, for example to build a project with the latest Maven 4:
```nix
{
lib,
fetchFromGitHub,
jre,
makeWrapper,
maven_4,
}:
maven_4.buildMavenPackage (finalAttrs: {
pname = "jd-cli";
version = "1.2.1";
src = fetchFromGitHub {
owner = "intoolswetrust";
repo = "jd-cli";
tag = "jd-cli-${finalAttrs.version}";
hash = "sha256-rRttA5H0A0c44loBzbKH7Waoted3IsOgxGCD2VM0U/Q=";
};
mvnHash = "";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/jd-cli
install -Dm644 jd-cli/target/jd-cli.jar $out/share/jd-cli
makeWrapper ${jre}/bin/java $out/bin/jd-cli \
--add-flags "-jar $out/share/jd-cli/jd-cli.jar"
runHook postInstall
'';
meta = {
description = "Simple command line wrapper around JD Core Java Decompiler project";
homepage = "https://github.com/intoolswetrust/jd-cli";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ majiir ];
};
})
```
`maven_4` exposes the same `buildMavenPackage` helper as `maven` (see [](#maven-buildmavenpackage)), so all of the patterns documented above apply equally. Note that the Maven dependencies resolved by Maven 4 differ from those resolved by Maven 3, so `mvnHash` must be recomputed when switching between the two.
## Manually using `mvn2nix` {#maven-mvn2nix}
::: {.warning}
This way is no longer recommended; see [](#maven-buildmavenpackage) for the simpler and preferred way.
@@ -341,7 +288,7 @@ The double invocation is a _simple_ way to get around the problem that `nix-buil
It treats the entire Maven repository as a single source to be downloaded, relying on Maven's dependency resolution to satisfy the output hash. This is similar to fetchers like `fetchgit`, except it has to run a Maven build to determine what to download.
The first step will be to build the Maven project as a fixed-output derivation to collect the Maven repository -- below is an [example](https://github.com/fzakaria/nixos-maven-example/blob/main/double-invocation-repository.nix).
The first step will be to build the Maven project as a fixed-output derivation in order to collect the Maven repository -- below is an [example](https://github.com/fzakaria/nixos-maven-example/blob/main/double-invocation-repository.nix).
::: {.note}
Traditionally the Maven repository is at `~/.m2/repository`. We will override this to be the `$out` directory.
@@ -469,7 +416,7 @@ The previous example builds a `jar` file but that's not a file one can run.
You need to use it with `java -jar $out/share/java/output.jar` and make sure to provide the required dependencies on the classpath.
The following explains how to use `makeWrapper` to make the derivation produce an executable that will run the JAR file you created.
The following explains how to use `makeWrapper` in order to make the derivation produce an executable that will run the JAR file you created.
We will use the same repository we built above (either _double invocation_ or _buildMaven_) to setup a CLASSPATH for our JAR.

View File

@@ -25,7 +25,7 @@ neovim.override {
withRuby = false;
configure = {
customRC = ''
" here your custom viml configuration goes!
# here your custom viml configuration goes!
'';
packages.myVimPackage = with pkgs.vimPlugins; {
# See examples below on how to use custom packages.
@@ -47,7 +47,7 @@ neovim-qt.override {
neovim = neovim.override {
configure = {
customRC = ''
" your custom viml configuration
# your custom viml configuration
'';
};
};
@@ -64,14 +64,11 @@ For instance, `sqlite-lua` needs `g:sqlite_clib_path` to be set to work. Nixpkgs
- `wrapRc`: Nix, not being able to write in your `$HOME`, loads the
generated Neovim configuration via the `$VIMINIT` environment variable, i.e. : `export VIMINIT='lua dofile("/nix/store/…-init.lua")'`. This has side effects like preventing Neovim from sourcing your `init.lua` in `$XDG_CONFIG_HOME/nvim` (see bullet 7 of [`:help startup`](https://neovim.io/doc/user/starting.html#startup) in Neovim). Disable it if you want to generate your own wrapper. You can still reuse the generated vimscript init code via `neovim.passthru.initRc`.
- `plugins`: A list of plugins to add to the wrapper.
- `extraLuaPackages`: A function passed on to `lua.withPackages`.
- `extraPython3Packages`: A function passed on to `python3.withPackages`.
- `withPython3`, `withNodeJs`, `withRuby`, `withPerl` control when to enable neovim
- `extraLuaPackages`: A function passed on to `lua.withPackages`
- `withPython3`, `withNodeJs`, `withRuby` control when to enable neovim
providers (see `:h provider`).
- `vimAlias` and `viAlias` control whether to symlink the `vim` and `vi` binaries to `nvim` respectively.
- `extraName` is a string appended to the package name and derivation name.
```nix
```
wrapNeovimUnstable neovim-unwrapped {
autoconfigure = true;
autowrapRuntimeDeps = true;
@@ -83,8 +80,7 @@ wrapNeovimUnstable neovim-unwrapped {
vim.opt.colorcolumn = { 100 }
vim.opt.termguicolors = true
'';
# plugins accepts a list of either plugins or attribute sets containing:
# { plugin = ...; config = ...; type = "viml"|"lua"; } (type defaults to "viml")
# plugins accepts a list of either plugins or { plugin = ...; config = ..vimscript.. };
plugins = with vimPlugins; [
{
plugin = vim-obsession;
@@ -92,19 +88,7 @@ wrapNeovimUnstable neovim-unwrapped {
map <Leader>$ <Cmd>Obsession<CR>
'';
}
{
plugin = grug-far-nvim;
type = "lua";
config = ''
require('grug-far').setup({
startInInsertMode = false,
})
'';
}
(nvim-treesitter.withPlugins (p: [
p.nix
p.python
]))
(nvim-treesitter.withPlugins (p: [ p.nix p.python ]))
hex-nvim
];
extraLuaPackages = lp: [ lp.mpack ];
@@ -114,12 +98,12 @@ wrapNeovimUnstable neovim-unwrapped {
}
```
You can explore the configuration with `nix repl` to discover these options and
You can explore the configuration with`nix repl` to discover these options and
override them. For instance:
```nix
neovim.override {
neovim.overrideAttrs (oldAttrs: {
autowrapRuntimeDeps = false;
}
})
```
## Specificities for some plugins {#neovim-plugin-specificities}
@@ -152,7 +136,7 @@ For example, if upstream documents that a plugin uses the Vim license but GitHub
## LuaRocks based plugins {#neovim-luarocks-based-plugins}
To automatically handle plugin dependencies, several Neovim plugins
In order to automatically handle plugin dependencies, several Neovim plugins
upload their package to [LuaRocks](https://www.luarocks.org). This means less work for nixpkgs maintainers in the long term as dependencies get updated automatically.
This means several Neovim plugins are first packaged as nixpkgs [lua
packages](#packaging-a-library-on-luarocks), and converted via `buildNeovimPlugin` in
@@ -167,8 +151,6 @@ For instance:
```
To update these packages, you should use the lua updater rather than vim's.
To add a lua package to the `vimPlugins` set, add it to the `luarocksPackageNames` list in [luaPackagePlugins.nix](https://github.com/nixos/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/luaPackagePlugins.nix).
## Treesitter {#neovim-plugin-treesitter}
[Treesitter](https://tree-sitter.github.io/) provides syntax parsing for Neovim, enabling features like:
@@ -264,43 +246,6 @@ You can install the standalone parsers and queries directly without installing `
})
```
### Treesitter setup using WASM parsers and queries {#neovim-plugin-treesitter-wasm}
Neovim can load WASM parsers when it is built with Wasmtime support.
In nixpkgs, WASM parser plugins are available from the `wasi32` cross package set:
```nix
(pkgs.wrapNeovim (pkgs.neovim-unwrapped.override { wasmSupport = true; }) {
configure = {
packages.myPlugins =
with pkgs.pkgsCross.wasi32.vimPlugins;
let
# Select the grammars you need
treesitter-grammars = with nvim-treesitter-parsers; [
nix
python
];
# Queries are needed for treesitter based syntax highlighting and folds.
treesitter-queries = map (p: p.associatedQuery) treesitter-grammars;
in
{
start = [
# regular plugins
]
++ treesitter-grammars
++ treesitter-queries;
};
};
})
```
Do not install both native and WASM parsers for the same language.
For example, installing both `pkgs.vimPlugins.nvim-treesitter-parsers.nix` and
`pkgs.pkgsCross.wasi32.vimPlugins.nvim-treesitter-parsers.nix` is invalid because Neovim
loads the first `parser/nix.*` found on `runtimepath`.
Use `:checkhealth vim.treesitter` to verify Nix-managed WASM parsers.
You can enable treesitter features for installed grammars in a `FileType` autocommand
or in an `ftplugin/<language>.lua` script, e.g.

View File

@@ -48,6 +48,7 @@ Based on the packages defined in `pkgs/top-level/python-packages.nix` an
attribute set is created for each available Python interpreter. The available
sets are
* `pkgs.python27Packages`
* `pkgs.python3Packages`
* `pkgs.python311Packages`
* `pkgs.python312Packages`
@@ -59,7 +60,9 @@ sets are
and the aliases
* `pkgs.python2Packages` pointing to `pkgs.python27Packages`
* `pkgs.python3Packages` pointing to `pkgs.python313Packages`
* `pkgs.pythonPackages` pointing to `pkgs.python2Packages`
* `pkgs.pypy2Packages` pointing to `pkgs.pypy27Packages`
* `pkgs.pypy3Packages` pointing to `pkgs.pypy310Packages`
* `pkgs.pypyPackages` pointing to `pkgs.pypy2Packages`
@@ -204,9 +207,25 @@ following are specific to `buildPythonPackage`:
* `setupPyGlobalFlags ? []`: List of flags passed to `setup.py` command.
* `setupPyBuildFlags ? []`: List of flags passed to `setup.py build_ext` command.
##### Writing override-compatible packages {#buildpythonpackage-fixed-point-arguments}
##### Using fixed-point arguments {#buildpythonpackage-fixed-point-arguments}
Use `finalAttrs` to make a package easy to update and override:
Both `buildPythonPackage` and `buildPythonApplication` support [fixed-point arguments](#chap-build-helpers-finalAttrs), similar to `stdenv.mkDerivation`.
This allows you to reference the final attributes of the derivation.
Instead of using `rec`:
```nix
buildPythonPackage rec {
pname = "pyspread";
version = "2.4";
src = fetchPypi {
inherit pname version;
hash = "sha256-...";
};
}
```
You can use the `finalAttrs` pattern:
```nix
buildPythonPackage (finalAttrs: {
@@ -220,9 +239,7 @@ buildPythonPackage (finalAttrs: {
})
```
When a downstream callsite *overrides* `version` the override becomes visible as `finalAttrs.version`.
Both `buildPythonPackage` and `buildPythonApplication` support [fixed-point arguments](#chap-build-helpers-finalAttrs), similar to `stdenv.mkDerivation`.
See the [general documentation on fixed-point arguments](#chap-build-helpers-finalAttrs) for more details on the benefits of this pattern.
::: {.note}
@@ -270,27 +287,29 @@ because their behaviour is different:
The `buildPythonPackage` function has a `overridePythonAttrs` method that can be
used to override the package. In the following example we create an environment
where we have the `blaze` package using an older version of `pandas`. We
first override the Python package set, then instantiate an interpreter with
that package set.
override first the Python interpreter and pass `packageOverrides` which contains
the overrides for packages in the package set.
```nix
with import <nixpkgs> { };
let
pythonPackages = python3Packages.overrideScope (
final: prev: {
pandas = prev.pandas.overridePythonAttrs (old: rec {
version = "0.19.1";
src = fetchPypi {
pname = "pandas";
inherit version;
hash = "sha256-JQn+rtpy/OA2deLszSKEuxyttqBzcAil50H+JDHUdCE=";
};
});
}
);
python = pkgs.python3.override {
packageOverrides = self: super: {
pandas = super.pandas.overridePythonAttrs (
finalAttrs: prevAttrs: {
version = "0.19.1";
src = fetchPypi {
pname = "pandas";
inherit (finalAttrs) version;
hash = "sha256-JQn+rtpy/OA2deLszSKEuxyttqBzcAil50H+JDHUdCE=";
};
}
);
};
};
in
(pythonPackages.python.withPackages (ps: [ ps.blaze ])).env
(python.withPackages (ps: [ ps.blaze ])).env
```
The next example shows a non trivial overriding of the `blas` implementation to
@@ -298,16 +317,15 @@ be used through out all of the Python package set:
```nix
{
python3PackagesWithBlas = python3Packages.overrideScope (
final: prev: {
python3MyBlas = pkgs.python3.override {
packageOverrides = self: super: {
# We need toPythonModule for the package set to evaluate this
blas = final.toPythonModule (prev.blas.override { blasProvider = final.mkl; });
lapack = final.toPythonModule (prev.lapack.override { lapackProvider = final.mkl; });
}
);
blas = super.toPythonModule (super.pkgs.blas.override { blasProvider = super.pkgs.mkl; });
lapack = super.toPythonModule (super.pkgs.lapack.override { lapackProvider = super.pkgs.mkl; });
};
};
}
```
This will create a new Python package set with the blas and lapack implementation set to Intel MKL.
This is particularly useful for numpy and scipy users who want to gain speed with other blas implementations.
Note that using `scipy = super.scipy.override { blas = super.pkgs.mkl; };` will likely result in
@@ -439,10 +457,11 @@ Note that overriding packages deeper in the dependency graph _can_ work, but it'
let
pyproject = pkgs.lib.importTOML ./pyproject.toml;
myPython3Packages = pkgs.python3Packages.overrideScope (
final: _: {
myPython = pkgs.python.override {
self = myPython;
packageOverrides = pyfinal: pyprev: {
# An editable package with a script that loads our mutable location
my-editable = final.mkPythonEditablePackage {
my-editable = pyfinal.mkPythonEditablePackage {
# Inherit project metadata from pyproject.toml
pname = pyproject.project.name;
inherit (pyproject.project) version;
@@ -453,10 +472,10 @@ let
# Inject a script (other PEP-621 entrypoints are also accepted)
inherit (pyproject.project) scripts;
};
}
);
};
};
pythonEnv = myPython3Packages.python.withPackages (ps: [ ps.my-editable ]);
pythonEnv = myPython.withPackages (ps: [ ps.my-editable ]);
in
pkgs.mkShell { packages = [ pythonEnv ]; }
@@ -556,6 +575,9 @@ In contrast to [`python.buildEnv`](#python.buildenv-function), [`python.withPack
more advanced options such as `ignoreCollisions = true` or `postBuild`. If you
need them, you have to use [`python.buildEnv`](#python.buildenv-function).
Python 2 namespace packages may provide `__init__.py` that collide. In that case
[`python.buildEnv`](#python.buildenv-function) should be used with `ignoreCollisions = true`.
#### Setup hooks {#setup-hooks}
The following are setup hooks specifically for Python packages. Most of these
@@ -607,9 +629,10 @@ buildPythonPackage.override { stdenv = customStdenv; } {
Several versions of the Python interpreter are available on Nix, as well as a
high amount of packages. The attribute `python3` refers to the default
interpreter, which is currently CPython 3.13. It is also possible to refer to
specific versions, e.g., `python313` refers to CPython 3.13, and `pypy` refers
to the default PyPy interpreter.
interpreter, which is currently CPython 3.13. The attribute `python` refers to
CPython 2.7 for backwards compatibility. It is also possible to refer to
specific versions, e.g., `python313` refers to CPython 3.13, and `pypy` refers to
the default PyPy interpreter.
Python is used a lot, and in different ways. This affects also how it is
packaged. In the case of Python on Nix, an important distinction is made between
@@ -621,6 +644,14 @@ In the Nixpkgs tree Python applications can be found throughout, depending on
what they do, and are called from the main package set. Python libraries,
however, are in separate sets, with one set per interpreter version.
The interpreters have several common attributes. One of these attributes is
`pkgs`, which is a package set of Python libraries for this specific
interpreter. E.g., the `toolz` package corresponding to the default interpreter
is `python3.pkgs.toolz`, and the CPython 3.13 version is `python313.pkgs.toolz`.
The main package set contains aliases to these package sets, e.g.
`pythonPackages` refers to `python.pkgs` and `python313Packages` to
`python313.pkgs`.
#### Installing Python and packages {#installing-python-and-packages}
The Nix and NixOS manuals explain how packages are generally installed. In the
@@ -990,7 +1021,7 @@ information. The output of the function is a derivation.
An expression for `toolz` can be found in the Nixpkgs repository. As explained
in the introduction of this Python section, a derivation of `toolz` is available
for each interpreter version, e.g. `python313Packages.toolz` refers to the `toolz`
for each interpreter version, e.g. `python313.pkgs.toolz` refers to the `toolz`
derivation corresponding to the CPython 3.13 interpreter.
The above example works when you're directly working on
@@ -1005,7 +1036,7 @@ with import <nixpkgs> { };
(
let
my_toolz = python313Packages.buildPythonPackage (finalAttrs: {
my_toolz = python313.pkgs.buildPythonPackage (finalAttrs: {
pname = "toolz";
version = "0.10.0";
pyproject = true;
@@ -1015,7 +1046,7 @@ with import <nixpkgs> { };
hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
};
build-system = [ python313Packages.setuptools ];
build-system = [ python313.pkgs.setuptools ];
# has no tests
doCheck = false;
@@ -1028,7 +1059,7 @@ with import <nixpkgs> { };
});
in
python313Packages.python.withPackages (
python313.withPackages (
ps: with ps; [
numpy
my_toolz
@@ -1049,11 +1080,6 @@ of [`withPackages`](#python.withpackages-function) we used a `let` expression. Y
`toolz` from the Nixpkgs package set this time, but instead took our own version
that we introduced with the `let` expression.
There is also a legacy API that can be accessed via `python3.pkgs`, which will also give access to
the Python package set for a given interpreter. This API is not recommended to be used anymore
because the package set at `python3.pkgs` is not spliced, while the package set at `python3Packages`
is. This can lead to strange errors during cross-compilation, or if Python is used at build time.
#### Handling dependencies {#handling-dependencies}
Our example, `toolz`, does not have any dependencies on other Python packages or system libraries.
@@ -1614,7 +1640,7 @@ looked at how you can create environments in which specified packages are
available.
At some point you'll likely have multiple packages which you would
like to be able to use in different projects. To minimise unnecessary
like to be able to use in different projects. In order to minimise unnecessary
duplication we now look at how you can maintain a repository with your
own packages. The important functions here are `import` and `callPackage`.
@@ -1691,22 +1717,27 @@ should also be done when packaging `A`.
### How to override a Python package? {#how-to-override-a-python-package}
We can override the Python package set, then instantiate an interpreter with it.
In the following example we rename the `pandas` package and build it.
We can override the interpreter and pass `packageOverrides`. In the following
example we rename the `pandas` package and build it.
```nix
with import <nixpkgs> { };
let
pythonPackages = python3Packages.overrideScope (
final: prev: {
pandas = prev.pandas.overridePythonAttrs {
name = "foo";
};
}
);
in
(pythonPackages.python.withPackages (ps: [ ps.pandas ])).env
(
let
python =
let
packageOverrides = self: super: {
pandas = super.pandas.overridePythonAttrs (old: {
name = "foo";
});
};
in
pkgs.python313.override { inherit packageOverrides; };
in
python.withPackages (ps: [ ps.pandas ])
).env
```
Using `nix-build` on this expression will build an environment that contains the
@@ -1722,10 +1753,12 @@ the updated `scipy` version.
```nix
with import <nixpkgs> { };
let
pythonPackages = python313Packages.overrideScope (_: prev: { scipy = prev.scipy_0_17; });
in
(pythonPackages.python.withPackages (ps: [ ps.blaze ])).env
(
let
packageOverrides = self: super: { scipy = super.scipy_0_17; };
in
(pkgs.python313.override { inherit packageOverrides; }).withPackages (ps: [ ps.blaze ])
).env
```
The requested package `blaze` depends on `pandas` which itself depends on `scipy`.
@@ -1739,16 +1772,14 @@ let
pkgs = import <nixpkgs> { };
newpkgs = import pkgs.path {
overlays = [
(_: prev: {
(self: super: {
python313 =
let
pythonPackages = prev.python313Packages.overrideScope (
_: prev: {
numpy = prev.numpy_1_18;
}
);
packageOverrides = python-self: python-super: {
numpy = python-super.numpy_1_18;
};
in
pythonPackages.python3;
super.python313.override { inherit packageOverrides; };
})
];
};
@@ -1861,7 +1892,7 @@ pkgs.mkShell rec {
pythonPackages.numpy
pythonPackages.requests
# In this particular example, to compile any binary extensions they may
# In this particular example, in order to compile any binary extensions they may
# require, the Python modules listed in the hypothetical requirements.txt need
# the following packages to be installed locally:
taglib
@@ -1889,8 +1920,9 @@ pkgs.mkShell rec {
}
```
In case the supplied venvShellHook is insufficient, you can define your own
shell hook and adapt to your needs like in the following example:
In case the supplied venvShellHook is insufficient, or when Python 2 support is
needed, you can define your own shell hook and adapt to your needs like in the
following example:
```nix
with import <nixpkgs> { };
@@ -1903,6 +1935,8 @@ pkgs.mkShell rec {
name = "impurePythonEnv";
buildInputs = [
pythonPackages.python
# Needed when using python 2.7
# pythonPackages.virtualenv
# ...
];
@@ -1915,6 +1949,8 @@ pkgs.mkShell rec {
echo "Skipping venv creation, '${venvDir}' already exists"
else
echo "Creating new venv environment in path: '${venvDir}'"
# Note that the module venv was only introduced in python 3, so for 2.7
# this needs to be replaced with a call to virtualenv
${pythonPackages.python.interpreter} -m venv "${venvDir}"
fi
@@ -1941,17 +1977,19 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
```nix
{
nixpkgs.config.packageOverrides = final: _: {
python3Packages = super.python3Packages.overrideScope (pySuper: {
twisted = pySuper.twisted.overridePythonAttrs {
src = final.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
nixpkgs.config.packageOverrides = super: {
python3 = super.python3.override {
packageOverrides = python-self: python-super: {
twisted = python-super.twisted.overridePythonAttrs (oldAttrs: {
src = super.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
});
};
});
};
};
}
```
@@ -1967,7 +2005,7 @@ this snippet:
```nix
{
myPythonPackages = python3Packages.overrideScope (final: super: { twisted = <...>; });
myPythonPackages = python3Packages.override { overrides = self: super: { twisted = <...>; }; };
}
```
@@ -1976,17 +2014,19 @@ this snippet:
Use the following overlay template:
```nix
self: _: {
python3Packages = super.python3Packages.overrideScope (pySuper: {
twisted = pySuper.twisted.overrideAttrs {
src = final.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
self: super: {
python = super.python.override {
packageOverrides = python-self: python-super: {
twisted = python-super.twisted.overrideAttrs (oldAttrs: {
src = super.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
});
};
});
};
}
```
@@ -2092,7 +2132,7 @@ See also [contributing section](#contributing).
### Are Python interpreters built deterministically? {#deterministic-builds}
The Python interpreters are now built deterministically. Minor modifications had
to be made to the interpreters to generate deterministic bytecode. This
to be made to the interpreters in order to generate deterministic bytecode. This
has security implications and is relevant for those using Python in a
`nix-shell`.

View File

@@ -51,7 +51,7 @@ The recommended way of defining a derivation for a Rocq library, is to use the `
* if it is a string of the form `owner:branch` then it tries to download the `branch` of owner `owner` for a project of the same name using the same vcs, and the `version` attribute of the resulting derivation is set to `"dev"`, additionally if the owner is not provided (i.e. if the `owner:` prefix is missing), it defaults to the original owner of the package (see below),
* if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github,
* `defaultVersion` (optional). Rocq libraries may be compatible with some specific versions of Rocq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `rocq-core` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `rocqPackages` attribute set.
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev`, `artifact` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` in order to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev`, `artifact` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
* `fetcher` (optional, defaults to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `hash` and returns an attribute set with a `version` and `src`.
* `repo` (optional, defaults to the value of `pname`),
* `owner` (optional, defaults to `"rocq-community"`).
@@ -59,7 +59,7 @@ The recommended way of defining a derivation for a Rocq library, is to use the `
* `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags,
* `releaseArtifact` (optional, defaults to `(v: null)`), provides a default mapping from release names to artifact names (only works for github artifact for now),
* `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers,
* `namePrefix` (optional, defaults to `[ "rocq" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
* `namePrefix` (optional, defaults to `[ "rocq-core" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
* `nativeBuildInputs` (optional), is a list of executables that are required to build the current derivation, in addition to the default ones (namely `which`, `dune` and `ocaml` depending on whether `useDune`, `useDuneifVersion` and `mlPlugin` are set).
* `extraNativeBuildInputs` (optional, deprecated), an additional list of derivation to add to `nativeBuildInputs`,
* `overrideNativeBuildInputs` (optional) replaces the default list of derivation to which `nativeBuildInputs` and `extraNativeBuildInputs` adds extra elements,
@@ -68,14 +68,12 @@ The recommended way of defining a derivation for a Rocq library, is to use the `
* `overrideBuildInputs` (optional) replaces the default list of derivation to which `buildInputs` and `extraBuildInputs` adds extras elements,
* `propagatedBuildInputs` (optional) is passed as is to `mkDerivation`, we recommend to use this for Rocq libraries and Rocq plugin dependencies, as this makes sure the paths of the compiled libraries and plugins will always be added to the build environments of subsequent derivation, which is necessary for Rocq packages to work correctly,
* `mlPlugin` (optional, defaults to `false`). Some extensions (plugins) might require OCaml and sometimes other OCaml packages. Standard dependencies can be added by setting the current option to `true`. For a finer grain control, the `rocq-core.ocamlPackages` attribute can be used in `nativeBuildInputs`, `buildInputs`, and `propagatedBuildInputs` to depend on the same package set Rocq was built against.
* `useDuneifVersion` (optional, default to `(x: false)`) uses Dune to build the package if the provided predicate evaluates to true on the version, e.g. `useDuneifVersion = versions.isGe "1.1"` will use dune if the version of the package is greater or equal to `"1.1"`,
* `useDuneifVersion` (optional, default to `(x: false)` uses Dune to build the package if the provided predicate evaluates to true on the version, e.g. `useDuneifVersion = versions.isGe "1.1"` will use dune if the version of the package is greater or equal to `"1.1"`,
* `useDune` (optional, defaults to `false`) uses Dune to build the package if set to true, the presence of this attribute overrides the behavior of the previous one.
* `opam-name` (optional, defaults to concatenating with a dash separator the components of `namePrefix` and `pname`), name of the Dune package to build.
* `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.
* `extraInstallFlags` (optional), allows to extend `installFlags` which initializes the variables `COQLIBINSTALL` and `COQPLUGININSTALL` so as to install in the proper subdirectory. Indeed Rocq libraries should be installed in `$(out)/lib/coq/${rocq-core.rocq-version}/user-contrib/`. Such directories are automatically added to the `$ROCQPATH` environment variable by the hook defined in the Rocq derivation.
* `setROCQBIN` (optional, defaults to `true`), by default, the environment variable `$ROCQBIN` is set to the current Rocq's binary, but one can disable this behavior by setting it to `false`,
* `useCoq` (optional, defaults to `false`), adds the Coq compatibility binaries to the build environment, which is necessary for some packages that still depend on them and sets `COQBIN` to the path of the `coqc` binary (if `setROCQBIN` is also set to `true`). A wrapper `mkCoqDerivation` is provided that sets this option to `true`.
* `useCoqifVersion` (optional, defaults to `(x: false)`), adds the Coq compatibility binaries to the build environment if the provided predicate evaluates to true on the version. This can be useful for supporting old package versions that need the Coq compatibility binaries, while newer versions do not.
* `useMelquiondRemake` (optional, default to `null`) is an attribute set, which, if given, overloads the `preConfigurePhases`, `configureFlags`, `buildPhase`, and `installPhase` attributes of the derivation for a specific use in libraries using `remake` as set up by Guillaume Melquiond for `flocq`, `gappalib`, `interval`, and `coquelicot` (see the corresponding derivation for concrete examples of use of this option). For backward compatibility, the attribute `useMelquiondRemake.logpath` must be set to the logical root of the library (otherwise, one can pass `useMelquiondRemake = {}` to activate this without backward compatibility).
* `dropAttrs`, `keepAttrs`, `dropDerivationAttrs` are all optional and allow to tune which attribute is added or removed from the final call to `mkDerivation`.
@@ -155,7 +153,7 @@ For example, assuming you have a special `mathcomp` dependency you want to use,
multinomials.override { mathcomp = my-special-mathcomp; }
```
In Nixpkgs, all Rocq derivations take a `version` argument. This can be overridden to easily use a different version:
In Nixpkgs, all Rocq derivations take a `version` argument. This can be overridden in order to easily use a different version:
```nix
rocqPackages.multinomials.override { version = "1.5.1"; }

View File

@@ -125,7 +125,7 @@ With this file in your directory, you can run `nix-shell` to build and use the g
The `bundlerEnv` is a wrapper over all the gems in your gemset. This means that all the `/lib` and `/bin` directories will be available, and the executables of all gems (even of indirect dependencies) will end up in your `$PATH`. The `wrappedRuby` provides you with all executables that come with Ruby itself, but wrapped so they can easily find the gems in your gemset.
One common issue that you might have is that you have Ruby, but also `bundler` in your gemset. That leads to a conflict for `/bin/bundle` and `/bin/bundler`. You can resolve this by wrapping either your Ruby or your gems in a `lowPrio` call. So to give the `bundler` from your gemset priority, it would be used like this:
One common issue that you might have is that you have Ruby, but also `bundler` in your gemset. That leads to a conflict for `/bin/bundle` and `/bin/bundler`. You can resolve this by wrapping either your Ruby or your gems in a `lowPrio` call. So in order to give the `bundler` from your gemset priority, it would be used like this:
```nix
# ...
@@ -265,7 +265,7 @@ Now that you know how to get a working Ruby environment with Nix, it's time to g
All gems in the standard set are automatically generated from a single `Gemfile`. The dependency resolution is done with `bundler` and makes it more likely that all gems are compatible with each other.
To add a new gem to nixpkgs, you can put it into the `/pkgs/development/ruby-modules/with-packages/Gemfile` and run `./maintainers/scripts/update-ruby-packages`.
In order to add a new gem to nixpkgs, you can put it into the `/pkgs/development/ruby-modules/with-packages/Gemfile` and run `./maintainers/scripts/update-ruby-packages`.
To test that it works, you can then try using the gem with:

View File

@@ -885,7 +885,8 @@ general. A number of other parameters can be overridden:
empty, or `"forbid"` (no cap) when `lints` is set. Because `rustc`
only honours the first `--cap-lints` it receives, this cannot be
changed via `extraRustcOpts`; use this attribute instead. Useful
with `useClippy`, since clippy lints are also capped by this flag:
when overriding the `rust` attribute to point at `clippy-driver`,
since clippy lints are also capped by this flag:
```nix
(hello { }).override { capLints = "warn"; }
@@ -911,34 +912,6 @@ general. A number of other parameters can be overridden:
}
```
- Whether to compile the crate with `clippy-driver` instead of `rustc`.
Build scripts (`build.rs`) keep plain `rustc`. The default `capLints`
of `"allow"` suppresses all lints including clippy's, so this is
usually paired with `capLints` and lint flags via `extraRustcOpts`:
```nix
(hello { }).override {
useClippy = true;
capLints = "warn";
extraRustcOpts = [
"-Dwarnings"
"-Wclippy::all"
];
}
```
When using a Rust toolchain that bundles its own `clippy-driver`
(rust-overlay, Fenix), pass it via `clippy` so the sysroot matches:
```nix
(hello { }).override {
rust = myToolchain;
clippy = myToolchain;
useClippy = true;
capLints = "warn";
}
```
- Phases, just like in any other derivation, can be specified using
the following attributes: `preUnpack`, `postUnpack`, `prePatch`,
`patches`, `postPatch`, `preConfigure` (in the case of a Rust crate,

View File

@@ -160,7 +160,7 @@ This essentially runs: `swift test -c release`
In some cases, it may be necessary to patch a SwiftPM dependency. SwiftPM
dependencies are located in `.build/checkouts`, but the `swiftpm2nix` helper
provides these as symlinks to read-only `/nix/store` paths. To patch
provides these as symlinks to read-only `/nix/store` paths. In order to patch
them, we need to make them writable.
A special function `swiftpmMakeMutable` is available to replace the symlink

View File

@@ -32,21 +32,6 @@ There is a TeX Live packaging that lives entirely under attribute `texlive`.
)
```
- Packages can be overriden by passing a new package with the same `pname` to `.withPackages`. For instance, the following replaces Asymptote with the version from Nixpkgs, which is usually more up to date:
```nix
texliveMedium.withPackages (ps: [ asymptote ])
```
- To exclude a package from a collection, use an empty override as below:
```nix
texliveBasic.withPackages (
ps: with ps; [
collection-bibtexextra
{ pname = "bib2gls"; }
]
)
```
- To add the documentation for all packages in the environment, use
```nix
texliveSmall.overrideAttrs { withDocs = true; }

View File

@@ -149,16 +149,11 @@ Note: this is not possible anymore for Neovim.
## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs}
:::{.note}
Before adding a Neovim Lua plugin, check if a release is available on [luarocks](https://luarocks.org/).
If it is, add it as a [LuaRocks based plugin](#neovim-luarocks-based-plugins).
:::
Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`nix-shell -p vimPluginsUpdater --run vim-plugins-updater`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/utils/updater.nix). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names).
When the vim updater detects an nvim-treesitter update, it also runs [`nvim-treesitter/update.py $(nix-build -A vimPlugins.nvim-treesitter)`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/utils/update.py) to update the tree sitter grammars for `nvim-treesitter`.
Some plugins require overrides to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
```nix
{

View File

@@ -1,9 +1,8 @@
# Nixpkgs Manual {#nixpkgs-manual}
# Nixpkgs Reference Manual {#nixpkgs-manual}
## Version @MANUAL_VERSION@
```{=include=} chapters
preface.chapter.md
first-package.chapter.md
```
```{=include=} parts
@@ -18,10 +17,6 @@ contributing.md
interoperability.md
```
```{=include=} chapters
languages-frameworks/index.md
```
```{=include=} appendix html:into-file=//release-notes.html
release-notes/release-notes.md
```

View File

@@ -1,3 +0,0 @@
{
"open": []
}

View File

@@ -10,7 +10,7 @@ The tarball archive needs to be downloaded manually, as the license agreements o
The [self-service](https://support.citrix.com/article/CTX200337) is an application for managing Citrix desktops and applications. Please note that this feature only works with at least `citrix_workspace_20_06_0` and later versions.
To set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that, you can configure the `selfservice` like this:
In order to set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that, you can configure the `selfservice` like this:
```ShellSession
$ storebrowse -C ~/Downloads/receiverconfig.cr
@@ -19,7 +19,7 @@ $ selfservice
## Custom certificates {#sec-citrix-custom-certs}
The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however, this directory is a store path in `nixpkgs`. To work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however, this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
```nix
with import <nixpkgs> { config.allowUnfree = true; };

View File

@@ -89,7 +89,7 @@ Note that if the builder is running and you have created the above ssh conf file
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-22.11-darwin";
darwin.url = "github:nix-darwin/nix-darwin/master";
darwin.url = "github:lnl7/nix-darwin/master";
darwin.inputs.nixpkgs.follows = "nixpkgs";
};

View File

@@ -24,7 +24,7 @@ The Emacs package comes with some extra helpers to make it easier to configure.
}
```
You can install it like any other package via `nix-env -iA myEmacs`. However, this will only install those packages. It will not `configure` them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provides a `default.el` file in `/share/emacs/site-start/`. Emacs knows to load this file automatically when it starts. Similarly, for `early-init.el`, you can create a package that provides an `early-default.el` file in `/share/emacs/site-start/`.
You can install it like any other package via `nix-env -iA myEmacs`. However, this will only install those packages. It will not `configure` them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provides a `default.el` file in `/share/emacs/site-start/`. Emacs knows to load this file automatically when it starts.
```nix
{

View File

@@ -25,7 +25,6 @@ etc-files.section.md
nginx.section.md
nrfutil.section.md
opengl.section.md
packer.section.md
shell-helpers.section.md
python-tree-sitter.section.md
treefmt.section.md

View File

@@ -1,70 +0,0 @@
# Packer {#sec-packer}
[Packer](https://www.packer.io) is a tool for creating identical machine images
for multiple platforms from a single source configuration.
## Using Packer with plugins {#sec-packer-with-plugins}
Packer's functionality is extended through
[plugins](https://developer.hashicorp.com/packer/docs/plugins). Rather than
letting Packer download plugins at runtime, you can build a Packer wrapper that
bundles the plugins you need with `packer.withPlugins`.
`packer.withPlugins` takes a function that receives the set of available plugins
and returns the list of plugins to include:
```nix
packer.withPlugins (ps: [ ps.docker ])
```
This produces a `packer` executable wrapped with the `PACKER_PLUGIN_PATH`
environment variable set, so the selected plugins are available without a
separate `packer plugins install` step.
For example, to get a development shell with Packer and the Docker plugin:
```nix
{
pkgs ? import <nixpkgs> { },
}:
pkgs.mkShell {
packages = [
(pkgs.packer.withPlugins (ps: [ ps.docker ]))
];
}
```
Multiple plugins can be selected at once:
```nix
packer.withPlugins (ps: [
ps.docker
ps.qemu
])
```
## Listing available plugins {#sec-packer-list-plugins}
The packaged plugins are exposed as the `packer.plugins` attribute set. To list
every plugin available in your version of Nixpkgs, query its attribute names:
```ShellSession
$ nix eval nixpkgs#packer.plugins --apply builtins.attrNames
[ "docker" "qemu" ]
```
Without flakes:
```ShellSession
$ nix-env -f '<nixpkgs>' -qaP -A packer.plugins
packer.plugins.docker packer-plugin-docker-1.1.2
packer.plugins.qemu packer-plugin-qemu-1.1.4
```
The attribute name (for example `docker` or `qemu`) is what you pass to
`packer.withPlugins`.
Notes:
- `mkPackerPlugin` currently only supports `fetchFromGitHub` as the fetcher.

View File

@@ -22,7 +22,7 @@ rxvt-unicode.override {
If the `configure` function returns an attrset without the `plugins` attribute, `availablePlugins` will be used automatically.
To add plugins but also keep all default plugins installed, it is possible to use the following method:
In order to add plugins but also keep all default plugins installed, it is possible to use the following method:
```nix
rxvt-unicode.override {

View File

@@ -39,7 +39,7 @@ weechat.override {
}
```
To also keep all default plugins installed, it is possible to use the following method:
In order to also keep all default plugins installed, it is possible to use the following method:
```nix
weechat.override {

View File

@@ -1,14 +1,50 @@
# Overview {#preface}
# Preface {#preface}
Nixpkgs is a set of packages for the [Nix package manager](https://nixos.org/nix/), released under the [MIT license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the
[Nix package manager](https://nixos.org/nix/), released under a
[permissive MIT license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
Packages are available for several platforms, and can be used with the Nix
package manager on most GNU/Linux distributions as well as [NixOS](https://nixos.org/nixos).
Further documentation:
This document is the user [_reference_](https://nix.dev/contributing/documentation/diataxis#reference) manual for Nixpkgs.
It describes the entire public interface of Nixpkgs in a concise and orderly manner, and all relevant behaviors, with examples and cross-references.
To discover other kinds of documentation:
- [nix.dev](https://nix.dev/): Tutorials and guides for getting things done with Nix
- [NixOS Search](https://search.nixos.org)
- [Contributing](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md): to Nixpkgs
- [NixOS **Option Search**](https://search.nixos.org/options) and reference documentation
- [Nixpkgs **Package Search**](https://search.nixos.org/packages)
- [**NixOS** manual](https://nixos.org/manual/nixos/stable/): Reference documentation for the NixOS Linux distribution
- [`CONTRIBUTING.md`](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md): Contributing to Nixpkgs, including this manual
## Overview of Nixpkgs {#overview-of-nixpkgs}
Nix expressions describe how to build packages from source and are collected in
the [nixpkgs repository](https://github.com/NixOS/nixpkgs).
the [Nixpkgs repository](https://github.com/NixOS/nixpkgs). Also included in the
collection are Nix expressions for
[NixOS modules](https://nixos.org/nixos/manual/index.html#sec-writing-modules).
With these expressions the Nix package manager can build binary packages.
Packages are distributed through [channels](#how-channels-work).
Packages, including the Nix packages collection, are distributed through
[channels](https://nixos.org/nix/manual/#sec-channels). The collection is
distributed for users of Nix on non-NixOS distributions through the channel
`nixpkgs-unstable`. Users of NixOS generally use one of the `nixos-*` channels,
e.g., `nixos-22.11`, which includes all packages and modules for the stable NixOS
22.11. Stable NixOS releases are generally only given
security updates. More up-to-date packages and modules are available via the
`nixos-unstable` channel.
Both `nixos-unstable` and `nixpkgs-unstable` follow the `master` branch of the
Nixpkgs repository, although both do lag the `master` branch by generally
[a couple of days](https://status.nixos.org/). Updates to a channel are
distributed as soon as all tests for that channel pass, e.g.,
[this table](https://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
shows the status of tests for the `nixpkgs-unstable` channel.
The tests are conducted by a cluster called [Hydra](https://nixos.org/hydra/),
which also builds binary packages from the Nix expressions in Nixpkgs for
`x86_64-linux`, `aarch64-linux`, `x86_64-darwin` and `aarch64-darwin`.
The binaries are made available via a [binary cache](https://cache.nixos.org).
The current Nix expressions of the channels are available in the
[Nixpkgs repository](https://github.com/NixOS/nixpkgs) in branches
that correspond to the channel names (e.g., `nixos-22.11-small`).

View File

@@ -2,9 +2,6 @@
"chap-build-helpers-finalAttrs": [
"index.html#chap-build-helpers-finalAttrs"
],
"chap-first-package": [
"index.html#chap-first-package"
],
"chap-release-notes": [
"release-notes.html#chap-release-notes"
],
@@ -108,15 +105,6 @@
"ex-build-helpers-extendMkDerivation": [
"index.html#ex-build-helpers-extendMkDerivation"
],
"ex-build-helpers-extendMkDerivation-transformDrv-wrapper": [
"index.html#ex-build-helpers-extendMkDerivation-transformDrv-wrapper"
],
"ex-first-package-go": [
"index.html#ex-first-package-go"
],
"ex-modularServiceCompliance-nixos": [
"index.html#ex-modularServiceCompliance-nixos"
],
"ex-pkgs-replace-vars": [
"index.html#ex-pkgs-replace-vars",
"index.html#ex-pkgs-substituteAll",
@@ -125,9 +113,6 @@
"ex-pkgs-replace-vars-with": [
"index.html#ex-pkgs-replace-vars-with"
],
"ex-pnpm-build-hook": [
"index.html#ex-pnpm-build-hook"
],
"ex-shfmt": [
"index.html#ex-shfmt"
],
@@ -140,9 +125,6 @@
"ex-writeShellApplication": [
"index.html#ex-writeShellApplication"
],
"first-package-go": [
"index.html#first-package-go"
],
"friction-graphics": [
"index.html#friction-graphics"
],
@@ -152,9 +134,6 @@
"ghc-deprecation-policy": [
"index.html#ghc-deprecation-policy"
],
"how-channels-work": [
"index.html#how-channels-work"
],
"inkscape-plugins": [
"index.html#inkscape-plugins"
],
@@ -239,9 +218,6 @@
"neovim-luarocks-based-plugins": [
"index.html#neovim-luarocks-based-plugins"
],
"neovim-plugin-treesitter-wasm": [
"index.html#neovim-plugin-treesitter-wasm"
],
"nixpkgs-manual": [
"index.html#nixpkgs-manual"
],
@@ -370,35 +346,10 @@
"pkgs.treefmt.withConfig": [
"index.html#pkgs.treefmt.withConfig"
],
"pnpm-build-hook": [
"index.html#pnpm-build-hook"
],
"pnpm-build-hook-build-flags": [
"index.html#pnpm-build-hook-build-flags"
],
"pnpm-build-hook-code-snippet": [
"index.html#pnpm-build-hook-code-snippet"
],
"pnpm-build-hook-dont": [
"index.html#pnpm-build-hook-dont"
],
"pnpm-build-hook-exclusive-variables": [
"index.html#pnpm-build-hook-exclusive-variables"
],
"pnpm-build-hook-flags": [
"index.html#pnpm-build-hook-flags"
],
"pnpm-build-hook-script": [
"index.html#pnpm-build-hook-script"
],
"pnpm-build-hook-variables": [
"index.html#pnpm-build-hook-variables"
],
"pnpm-build-hook-honored-variables": [
"index.html#pnpm-build-hook-honored-variables"
],
"preface": [
"index.html#preface",
"index.html#preface"
],
"overview-of-nixpkgs": [
"index.html#overview-of-nixpkgs"
],
"part-using": [
@@ -461,9 +412,6 @@
"sec-meta-identifiers-cpe": [
"index.html#sec-meta-identifiers-cpe"
],
"sec-meta-identifiers-purl": [
"index.html#sec-meta-identifiers-purl"
],
"sec-modify-via-packageOverrides": [
"index.html#sec-modify-via-packageOverrides"
],
@@ -485,30 +433,6 @@
"chap-overlays": [
"index.html#chap-overlays"
],
"sec-nixpkgs-release-26.11": [
"release-notes.html#sec-nixpkgs-release-26.11"
],
"sec-nixpkgs-release-26.11-highlights": [
"release-notes.html#sec-nixpkgs-release-26.11-highlights"
],
"sec-nixpkgs-release-26.11-incompatibilities": [
"release-notes.html#sec-nixpkgs-release-26.11-incompatibilities"
],
"sec-nixpkgs-release-26.11-lib": [
"release-notes.html#sec-nixpkgs-release-26.11-lib"
],
"sec-nixpkgs-release-26.11-lib-breaking": [
"release-notes.html#sec-nixpkgs-release-26.11-lib-breaking"
],
"sec-nixpkgs-release-26.11-lib-deprecations": [
"release-notes.html#sec-nixpkgs-release-26.11-lib-deprecations"
],
"sec-nixpkgs-release-26.11-lib-additions-improvements": [
"release-notes.html#sec-nixpkgs-release-26.11-lib-additions-improvements"
],
"sec-nixpkgs-release-26.11-notable-changes": [
"release-notes.html#sec-nixpkgs-release-26.11-notable-changes"
],
"sec-nixpkgs-release-26.05": [
"release-notes.html#sec-nixpkgs-release-26.05"
],
@@ -639,15 +563,6 @@
"chap-overrides": [
"index.html#chap-overrides"
],
"sec-packer": [
"index.html#sec-packer"
],
"sec-packer-list-plugins": [
"index.html#sec-packer-list-plugins"
],
"sec-packer-with-plugins": [
"index.html#sec-packer-with-plugins"
],
"sec-pkg-override": [
"index.html#sec-pkg-override"
],
@@ -930,18 +845,6 @@
"glibcxxassertions": [
"index.html#glibcxxassertions"
],
"tester-modularServiceCompliance": [
"index.html#tester-modularServiceCompliance"
],
"tester-modularServiceCompliance-inputs": [
"index.html#tester-modularServiceCompliance-inputs"
],
"tester-modularServiceCompliance-manual": [
"index.html#tester-modularServiceCompliance-manual"
],
"tester-modularServiceCompliance-return": [
"index.html#tester-modularServiceCompliance-return"
],
"tester-shfmt": [
"index.html#tester-shfmt"
],
@@ -1008,15 +911,6 @@
"var-meta-identifiers-possibleCPEs": [
"index.html#var-meta-identifiers-possibleCPEs"
],
"var-meta-identifiers-purl": [
"index.html#var-meta-identifiers-purl"
],
"var-meta-identifiers-purlParts": [
"index.html#var-meta-identifiers-purlParts"
],
"var-meta-identifiers-purls": [
"index.html#var-meta-identifiers-purls"
],
"var-meta-teams": [
"index.html#var-meta-teams"
],
@@ -1125,15 +1019,9 @@
"tar-files": [
"index.html#tar-files"
],
"writableTmpDirAsHomeHook": [
"index.html#writableTmpDirAsHomeHook"
],
"x86_64-darwin-26.05": [
"release-notes.html#x86_64-darwin-26.05"
],
"x86_64-darwin-26.11": [
"release-notes.html#x86_64-darwin-26.11"
],
"zip-files": [
"index.html#zip-files"
],
@@ -2921,10 +2809,6 @@
"setup-hook-mpi-check": [
"index.html#setup-hook-mpi-check"
],
"setup-hook-check-phase-thread-limit": [
"index.html#setup-hook-check-phase-thread-limit",
"index.html#setup-hook-omp-check"
],
"ninja": [
"index.html#ninja"
],
@@ -4019,9 +3903,6 @@
"maven": [
"index.html#maven"
],
"maven-4": [
"index.html#maven-4"
],
"maven-buildmavenpackage": [
"index.html#maven-buildmavenpackage"
],

View File

@@ -3,7 +3,6 @@
This section lists the release notes for each stable version of Nixpkgs and the current unstable revision.
```{=include=} sections
rl-2611.section.md
rl-2605.section.md
rl-2511.section.md
rl-2505.section.md

View File

@@ -380,8 +380,6 @@
- `collabora-desktop` The desktop version of Collabora Office is now available, package version `25.05.9.2-2`.
- The `services.geoserver` NixOS module has been added to allow running [Geoserver](https://geoserver.org/) as a service.
- `fetchPnpmDeps` and `pnpmConfigHook` were added as top-level attributes, replacing the now deprecated `pnpm.fetchDeps` and `pnpm.configHook` attributes.
- `fetchPnpmDeps`' `fetcherVersion = 1` and `fetcherVersion = 2` are deprecated

View File

@@ -1,149 +1,22 @@
# Nixpkgs 26.11 ("Zokor", 2026.11/??) {#sec-nixpkgs-release-26.11}
# Nixpkgs 26.11 (2026.11/??) {#sec-nixpkgs-release-26.11}
## Highlights {#sec-nixpkgs-release-26.11-highlights}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- The {file}`nixexprs.tar.xz` tarball will be discontinued together with Nixpkgs
27.05 after 2027-12-31. Migrate to the {file}`nixexprs.tar.zst` tarball
instead.
This affects for example users who pull Nixpkgs as a flake input from
https://channels.nixos.org:
```diff
-nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz";
+nixpkgs.url = "https://channels.nixos.org/nixos-26.05/nixexprs.tar.zst";
```
- Create the first release note entry in this section!
## Backward Incompatibilities {#sec-nixpkgs-release-26.11-incompatibilities}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- []{#x86_64-darwin-26.11}
Support for `x86_64-darwin` has been dropped, due to Apples deprecation of the platform and limited build infrastructure and developer time.
We will no longer build packages for the platform or support building them from source.
The Nixpkgs 26.05 stable branch will still maintain platform support and binaries will be built until it goes out of support at the end of 2026.
Users of `x86_64-darwin` will receive an error message explaining how to switch to 26.05.
By the time of this release, Homebrew will offer only limited [Tier 3](https://docs.brew.sh/Support-Tiers#tier-3) support for the platform, but MacPorts will likely continue to support it for a long time.
We also recommend users consider installing NixOS, which should continue to run on essentially all Intel Macs, especially after Apple stops security support for macOS 26 in 2028.
- `bundlerApp` now sets `__structuredAttrs = true` for its result package.
Out-of-tree packages passing `postBuild` to `bundlerApp` should examine if their `postBuild` commands are compatible with structured attributes.
- `databricks-cli` has been updated from `0.290.2` to `1.x.x`, the first major release. OAuth tokens for interactive logins (`auth_type = databricks-cli`) are now stored in the OS-native secure store by default (Secret Service on Linux) instead of `~/.databricks/token-cache.json`; cached tokens from older versions are not migrated, so run `databricks auth login` once per profile after upgrading. To keep the previous file-backed storage, set `DATABRICKS_AUTH_STORAGE=plaintext` or add `auth_storage = plaintext` under `[__settings__]` in `~/.databrickscfg`. Additionally, the `vector_search_endpoints` DABs resource renamed `min_qps` to `target_qps` (and the `vector-search-endpoints` command renamed `--min-qps` to `--target-qps`). See the [upstream changelog](https://github.com/databricks/cli/blob/main/CHANGELOG.md) for details.
- `hurl` has been updated to `8.x.x` which has some breaking changes. See [upstream changelog](https://github.com/Orange-OpenSource/hurl/releases/tag/8.0.0) for details.
- `gotosocial` has been updated to 0.22.0. This release contains a very long database migration, which should not be cancelled or interrupted under any circumstances.
- Postgres users: Following the migration, if you encounter slowdown on Postgres specifically (ie., timing out while loading timelines) you may need to run some manual database maintenance steps. Please check https://docs.gotosocial.org/en/stable/admin/database_maintenance/#postgres.
- `xsecurelock` no longer supports authentication via htaccess files (`~/.xsecurelock.pw`) or via the `pamtester` program by default. Only the recommended PAM module is supported unless rebuilt with `withHtaccess` or `withPamtester`.
- `python3Packages.django-health-check` has been updated to major version 4. See its [migration guide](https://codingjoe.dev/django-health-check/migrate-to-v4/) and [changelog](https://github.com/codingjoe/django-health-check/releases/tag/4.0.0) for breaking changes.
- `jmtpfs` has been removed due to lack of maintenance and fuse3 support.
- `libgdata` has been removed, as it was archived upstream and relied on the insecure libsoup 2.4.
- `mcphost` has been removed, as it was archived upstream and declared unmaintained.
- `fflogs` has been removed because it was no longer functional. Users should switch to `archon-lite`.
- `services.mysql` now sets `root@localhost` authentication to `auth_socket` when used with `mysql` or `percona-server`.
Existing deployments will also be adjusted if possible. See the [security advisory GHSA-6qxx-6rg8-c4p8](https://github.com/NixOS/nixpkgs/security/advisories/GHSA-6qxx-6rg8-c4p8) for more information.
- `zerofs` has been updated from `1.x` to `2.x` which is a breaking change. Volumes created by earlier releases are refused at open with a clear error. There is no migration tool; older volumes remain readable and writable by the release that created them.
- `keycloak.plugins.keycloak-metrics-spi` has been removed. Keycloak exposes Prometheus metrics natively on its management interface; enable them with the `metrics-enabled` setting (and `event-metrics-user-enabled` for login and event counters). See [Gaining insights with metrics](https://www.keycloak.org/observability/configuration-metrics).
- `alps` has been rewritten upstream, see [upstream repository](https://github.com/migadu/alps) for documentation.
- `uhttpmock` providing 0.0 ABI was removed. `uhttpmock_1_0` providing 1.0 ABI was renamed to `uhttpmock` and `uhttpmock_1_0` was kept as an alias.
- `nix-serve-ng` (and `haskellPackages.nix-serve-ng`) is now built against Lix instead of CppNix, following upstream which has switched to Lix as its supported Nix implementation.
- Linux kernel configuration has been moved out of the `linux-kernel` field of the platform structure into the kernel builders:
- `linux-kernel.name` has been removed.
- `linux-kernel.target` is available as the `target` parameter and passthru attribute on the kernel builders.
- `linux-kernel.installTarget` has been removed, as it should not be necessary to customize.
- `linux-kernel.DTB` is available as the `buildDTBs` parameter and passthru attribute on the kernel builders.
- `linux-kernel.{autoModules,preferBuiltin,extraConfig}` were already available as kernel builder parameters.
- The `img` argument of `vmTools` has been renamed to `kernelImage`, as it collided with the top-level `img` package.
Additionally, the kernel module tree used inside the VM has been split out of the `kernel` argument into a new `kernelModules` argument (defaulting to `kernel`).
Callers that overrode `kernel` with a module tree (e.g. from `pkgs.aggregateModules`) to make extra modules available must now pass it via `kernelModules` instead, keeping `kernel` pointing at a bootable kernel derivation.
- The ARMv5 Linux kernel build now uses a standard configuration and generates a standard compressed image instead of the deprecated legacy UBoot image format.
`lib.systems.{examples,platforms}.{sheevaplug,pogoplug4}` have been unified into `lib.systems.examples.armv5tel-multiplatform`.
Note that there is no official support for ARMv5 and it is not possible to build even a simple NixOS configuration out of the box.
- `pdns` has been updated from `5.0.x` to `5.1.x`. Please be sure to review the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-5-1-0) before upgrading. Namely LUA record updates are no longer allowed by default, and the embedded webserver no longer includes a `access-control-allow-origin: *` header by default.
- Support for the legacy UBoot image format has been removed from the Linux kernel builders, as it is deprecated upstream and no longer used by any platform in Nixpkgs.
- `etcd_3_4` package was dropped, as it's gone EOL. Please upgrade to either 3.5 or 3.6. See [migration notes](https://etcd.io/docs/v3.6/upgrades/upgrade_3_6/) for incompatibilities and upgrade procedure.
- `rke2` retires ingress-nginx and transitions to Traefik starting in `rke2_1_36`. Because ingress-nginx was retired upstream as of March 2026, Traefik is now the default
for new clusters starting in v1.36 (existing clusters will keep their current ingress upon upgrade to avoid breakage). This transition brings the following structural changes:
- Airgapped Environments: The rke2-images-core tarball now contains Traefik images instead of ingress-nginx. The standalone rke2-images-traefik tarball has been removed.
Users who must continue using ingress-nginx will now need to manually provide the rke2-images-ingress-nginx tarball.
- Future Removal: The ingress-nginx chart will not receive any additional updates and will be completely removed in v1.37 for community users.
- `buildFHSEnvChroot` has been removed after deprecation in 23.05.
- `gh-actions-cache` has been removed since its functionality has been integrated directly into `gh` (`gh cache`). See [upstream readme](https://github.com/actions/gh-actions-cache).
- `requireFile` now sets `meta.license = lib.licenses.unfree` by default. Users of `requireFile`-based derivations that preserve this default will need to explicitly allow their evaluation as described in [](#sec-allow-unfree).
- `texlive.combine` is deprecated and scheduled for removal in 27.05. Please migrate to `texliveSmall.withPackages` (see [](#sec-language-texlive-user-guide)).
- `keycloak` was updated to >= 26.7.0 and includes some breaking internal (API) changes. See the [upstream migration guide](https://www.keycloak.org/docs/latest/upgrading/#migrating-to-26-7-0) for more information.
- `librest` providing 0.7 ABI was removed. `librest_1_0` providing 1.0 ABI was renamed to `librest` and `librest_1_0` was kept as an alias.
- `pnpm_10` was upgraded to version 10.34.1+, which introduced stricter integrity checks. If you encounter `ERR_PNPM_MISSING_TARBALL_INTEGRITY`, you can fall back to the older `pnpm_10_34_0`.
- `fetchPnpmDeps`' `fetcherVersion = 1` and `fetcherVersion = 2` have been
removed, as announced in the 26.05 release. Packages still using them now
throw an evaluation error and must migrate to `fetcherVersion = 3` (or later)
and regenerate their hashes. See the
[pnpm `fetcherVersion` section](#javascript-pnpm-fetcherVersion) of the manual
for details.
- `rebuilderd` has been updated to 0.27.0 introducing breaking changes. See upstream changelog for details: [0.26.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.26.0), [0.27.0](https://github.com/kpcyrd/rebuilderd/releases/tag/v0.27.0)
- Starting with v14, `flameshot` will primarily utilise xdg-desktop-portal calls for screenshotting. This will directly affect users on X11 window managers due to the lack of a compatible portal with Screenshot feature. See [upstream changelog](https://github.com/flameshot-org/flameshot/releases/tag/v14.0.0) or [NixOS Flameshot](https://wiki.nixos.org/wiki/Flameshot) wiki page for workarounds.
- `nim1` and respective aliases have been removed due to entering EOL; please migrate to `nim` or `nim-unwrapped` (nim 2).
- `nim-2_0` & `nim-2_2` and respective aliases have been removed; please migrate to `nim` or `nim-unwrapped` (nim 2.2.10).
- `domoticz` has been updated from `2024.7` to `2026.x`, breaking third party applications and scripts using the old RType calls. Review the [release notes](https://github.com/domoticz/domoticz/blob/2026.2/History.txt#L398) for more information.
- `vimacs` has been removed, as it has not been maintained in 10 years and was built for an old version of vim (6.0).
- Create the first release note entry in this section!
## Other Notable Changes {#sec-nixpkgs-release-26.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `super-productivity` has been updated. The binary has been renamed from `super-productivity` to `superproductivity`. A symlink from the old name is provided for backward compatibility.
- Package-URL (PURL, https://github.com/package-url/purl-spec) metadata identifier has been added for `fetchgit`, `fetchpypi` and `fetchFromGithub` fetchers.
`mkDerivation` has been adjusted to reuse this information.
Package-URLs allow reliably identifying and locating software packages.
Maintainers of derivations using the adapted fetchers should rely on the `drv.src.meta.identifiers.v1.purl` default identifier and can enhance their `drv.meta.identifiers.v1.purls` list once they would like to have additional identifiers.
Maintainers using `fetchurl` for `drv.src` are urged to adapt their `drv.meta.identifiers.purlParts` for proper identification.
- Emacs loads the `early-default` library after `early-init.el`.
Users can add `early-init.el` via `emacs.pkgs.withPackages`
by packaging `early-init.el` into a library named `early-default`.
To prevent loading the `early-default` library,
set `inhibit-early-default-init` in `early-init.el`.
- `services.ceph` enabled the generation of Ceph log files at `/var/log/ceph/`.
They were missing before because Ceph omitted logs when this directory was missing.
Ceph logs can grow large, so you may want to configure rotation of these logs.
- Create the first release note entry in this section!
## Nixpkgs Library {#sec-nixpkgs-release-26.11-lib}
@@ -151,15 +24,15 @@
### Breaking changes {#sec-nixpkgs-release-26.11-lib-breaking}
- `fittrackee` 1.0.0 now requires postgres with postgis. The [upgrade guide](https://docs.fittrackee.org/en/upgrading-to-1.0.0.html) has steps to prepare for this upgrade.
- Create the first release note entry in this section!
### Deprecations {#sec-nixpkgs-release-26.11-lib-deprecations}
- Setting `config.allowBrokenPredicate` is deprecated in favor of
using `config.problems.handlers.PackageName.broken = "warn"` (or `=
"ignore"`). For more information see [](#sec-allow-broken).
- Create the first release note entry in this section!
### Additions and Improvements {#sec-nixpkgs-release-26.11-lib-additions-improvements}
- Create the first release note entry in this section!

View File

@@ -50,7 +50,7 @@ The exact schema these fields follow is a bit ill-defined due to a long and conv
`system`
: This is a two-component shorthand for the platform. Examples of this would be "aarch64-darwin" and "i686-linux"; see `lib.systems.doubles` for more. The first component corresponds to the CPU architecture of the platform and the second to the operating system of the platform (`[cpu]-[os]`). This format has built-in support in Nix, such as the `builtins.currentSystem` impure string.
: This is a two-component shorthand for the platform. Examples of this would be "x86_64-darwin" and "i686-linux"; see `lib.systems.doubles` for more. The first component corresponds to the CPU architecture of the platform and the second to the operating system of the platform (`[cpu]-[os]`). This format has built-in support in Nix, such as the `builtins.currentSystem` impure string.
`config`

View File

@@ -77,7 +77,7 @@ A link or a list of links to the location of Changelog for a package. A link may
### `license` {#var-meta-license}
The license, or licenses, for the package. One from the attribute set defined in [`nixpkgs/lib/licenses/licenses.nix`](https://github.com/NixOS/nixpkgs/blob/master/lib/licenses/licenses.nix). At this moment using both a list of licenses and a single license is valid. If the license field is in the form of a list representation, then it means that parts of the package are licensed differently. Each license should preferably be referenced by their attribute. The non-list attribute value can also be a space delimited string representation of the contained attribute `shortNames` or `spdxIds`. The following are all valid examples:
The license, or licenses, for the package. One from the attribute set defined in [`nixpkgs/lib/licenses.nix`](https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix). At this moment using both a list of licenses and a single license is valid. If the license field is in the form of a list representation, then it means that parts of the package are licensed differently. Each license should preferably be referenced by their attribute. The non-list attribute value can also be a space delimited string representation of the contained attribute `shortNames` or `spdxIds`. The following are all valid examples:
- Single license referenced by attribute (preferred) `lib.licenses.gpl3Only`.
- Single license referenced by its attribute shortName (frowned upon) `"gpl3Only"`.
@@ -157,8 +157,6 @@ The list of Nix platform types for which the [Hydra](https://github.com/nixos/hy
}
```
Note that this does not affect whether reverse dependencies of the package are built on Hydra.
### `broken` {#var-meta-broken}
If set to `true`, the package is marked as "broken", meaning that it wont show up in [search.nixos.org](https://search.nixos.org/packages), and cannot be built or installed unless [explicitly allowed](#sec-allow-broken).
@@ -216,7 +214,7 @@ If this list is not empty, the package is marked as "insecure", meaning that it
## Licenses {#sec-meta-license}
The `meta.license` attribute should preferably contain a value from `lib.licenses` defined in [`nixpkgs/lib/licenses/licenses.nix`](https://github.com/NixOS/nixpkgs/blob/master/lib/licenses/licenses.nix), or in-place license description of the same format if the license is unlikely to be useful in another expression.
The `meta.license` attribute should preferably contain a value from `lib.licenses` defined in [`nixpkgs/lib/licenses.nix`](https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix), or in-place license description of the same format if the license is unlikely to be useful in another expression.
Although its typically better to indicate the specific license, a few generic options are available:
@@ -342,30 +340,3 @@ A readonly attribute that concatenates all CPE parts in one string.
#### `meta.identifiers.possibleCPEs` {#var-meta-identifiers-possibleCPEs}
A readonly attribute containing the list of guesses for what CPE for this package can look like. It includes all variants of version handling mentioned above. Each item is an attrset with attributes `cpeParts` and `cpe` for each guess.
### Package URL {#sec-meta-identifiers-purl}
[Package-URL](https://github.com/package-url/purl-spec) (PURL) is a specification to reliably identify and locate software packages.
Through identification of software packages, additional (non-major) use cases are e.g. software license cross-verification via third party databases or initial vulnerability response management.
Package-URLs shall default to the `mkDerivation.src`, as the original consumed software package is the single source of truth.
#### `meta.identifiers.purlParts` {#var-meta-identifiers-purlParts}
This attribute contains an attribute set of all parts of the PURL for this package.
* `type` mandatory [type](https://github.com/package-url/purl-spec/blob/18fd3e395dda53c00bc8b11fe481666dc7b3807a/docs/standard/summary.md) which needs to be provided
* `spec` specify the PURL in accordance with the [purl-spec](https://github.com/package-url/purl-spec/blob/18fd3e395dda53c00bc8b11fe481666dc7b3807a/purl-specification.md)
#### `meta.identifiers.purl` {#var-meta-identifiers-purl}
An extendable attribute which is built based on `purlParts`.
This is the main identifier of the software package.
For handling edge cases, consider using the list interface [`meta.identifiers.purls`](#var-meta-identifiers-purls).
#### `meta.identifiers.purls` {#var-meta-identifiers-purls}
An extendable list attribute which defaults to a single element equal to [`meta.identifiers.purl`](#var-meta-identifiers-purl).
It provides an interface for additional identifiers of `mkDerivation.src` or for identifiers of vendored dependencies inside `mkDerivation.src`, which maintainers may carefully consider to specify as well.
Additional identifiers are generally not recommended, as they might cause maintenance overhead or diverge.
For example, a source distribution `pkg:github` may be hard to keep correctly aligned with the corresponding binary distribution `pkg:pypi`.

View File

@@ -776,7 +776,7 @@ By default, the flag `--disable-dependency-tracking` is added to the configure f
##### `dontFixLibtool` {#var-stdenv-dontFixLibtool}
By default, the configure phase applies some special hackery to all files called `ltmain.sh` before running the configure script to improve the purity of Libtool-based packages [^footnote-stdenv-sys-lib-search-path] . If this is undesirable, set this variable to true.
By default, the configure phase applies some special hackery to all files called `ltmain.sh` before running the configure script in order to improve the purity of Libtool-based packages [^footnote-stdenv-sys-lib-search-path] . If this is undesirable, set this variable to true.
##### `dontDisableStatic` {#var-stdenv-dontDisableStatic}
@@ -939,7 +939,7 @@ The fixup phase performs (Nix-specific) post-processing actions on the files ins
- It moves the `man/`, `doc/` and `info/` subdirectories of `$out` to `share/`.
- It strips libraries and executables of debug information.
- On Linux, it applies the `patchelf` command to ELF executables and libraries to remove unused directories from the `RPATH` to prevent unnecessary runtime dependencies.
- On Linux, it applies the `patchelf` command to ELF executables and libraries to remove unused directories from the `RPATH` in order to prevent unnecessary runtime dependencies.
- It rewrites the interpreter paths of shell scripts to paths found in `PATH`. E.g., `/usr/bin/perl` will be rewritten to `/nix/store/some-perl/bin/perl` found in `PATH`. See [](#patch-shebangs.sh) for details.
#### Variables controlling the fixup phase {#variables-controlling-the-fixup-phase}
@@ -1345,7 +1345,7 @@ $ echo $configureFlags
Nix itself considers a build-time dependency as merely something that should previously be built and accessible at build time—packages themselves are on their own to perform any additional setup. In most cases, that is fine, and the downstream derivation can deal with its own dependencies. But for a few common tasks, that would result in almost every package doing the same sort of setup work—depending not on the package itself, but entirely on which dependencies were used.
To alleviate this burden, the setup hook mechanism was written, where any package can include a shell script that \[by convention rather than enforcement by Nix\], any downstream reverse-dependency will source as part of its build process. That allows the downstream dependency to merely specify its dependencies, and lets those dependencies effectively initialize themselves. No boilerplate mirroring the list of dependencies is needed.
In order to alleviate this burden, the setup hook mechanism was written, where any package can include a shell script that \[by convention rather than enforcement by Nix\], any downstream reverse-dependency will source as part of its build process. That allows the downstream dependency to merely specify its dependencies, and lets those dependencies effectively initialize themselves. No boilerplate mirroring the list of dependencies is needed.
The setup hook mechanism is a bit of a sledgehammer though: a powerful feature with a broad and indiscriminate area of effect. The combination of its power and implicit use may be expedient, but isnt without costs. Nix itself is unchanged, but the spirit of added dependencies being effect-free is violated even if the latter isnt. For example, if a derivation path is mentioned more than once, Nix itself doesnt care and makes sure the dependency derivation is already built just the same—depending is just needing something to exist, and needing is idempotent. However, a dependency specified twice will have its setup hook run twice, and that could easily change the build environment (though a well-written setup hook will therefore strive to be idempotent so this is in fact not observable). More broadly, setup hooks are anti-modular in that multiple dependencies, whether the same or different, should not interfere and yet their setup hooks may well do so.

View File

@@ -23,17 +23,21 @@ body {
@media screen and (min-width: 992px) {
.book,
.appendix {
max-width: 55rem;
max-width: 60rem;
}
}
@media screen and (min-width: 1200px) {
.book,
.appendix {
max-width: 55rem;
max-width: 73rem;
}
}
.book .list-of-examples {
display: none;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
@@ -114,7 +118,7 @@ html {
body {
font-size: 1rem;
font-family: "Roboto", sans-serif;
font-weight: 400;
font-weight: 300;
color: var(--main-text-color);
background-color: var(--background);
min-height: 100vh;
@@ -127,36 +131,11 @@ body {
padding-left: 1rem;
padding-right: 1rem;
}
/*
See: https://developer.mozilla.org/en-US/docs/Web/API/Popover_API
- :popover-open pseudo-class matches a popover element when it is in the showing state
- ::backdrop full-screen element placed directly behind popover
*/
nav.toc-sidebar:popover-open {
position: fixed;
inset: 0 auto 0 0;
width: min(20rem, 85vw);
height: 100dvh;
max-height: none;
margin: 0;
padding: 1rem;
overflow-y: auto;
overscroll-behavior: contain;
background: var(--background);
border: 0;
border-right: 0.0625rem solid #d8d8d8;
box-shadow: 0 0 1.5rem rgb(0 0 0 / 0.35);
}
nav.toc-sidebar::backdrop {
background: rgb(0 0 0 / 0.5);
}
}
a {
text-decoration: underline;
text-decoration: none;
border-bottom: 1px solid;
color: var(--link-color);
}
@@ -183,52 +162,63 @@ hr {
margin-bottom: 1rem;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: 800;
line-height: 1.1;
margin: 1.5rem 0 0.5rem;
}
/*
Major-second scale see: https://typescale.com/
rounded to .025rem (0.4px)
*/
h1 {
font-size: 2rem;
font-weight: 800;
line-height: 110%;
font-size: 200%;
margin-bottom: 1rem;
color: var(--heading-color);
}
h2 {
font-size: 1.8rem;
font-weight: 800;
line-height: 110%;
font-size: 170%;
margin-bottom: 0.625rem;
color: var(--heading-color);
}
h2:not(:first-child) {
margin-top: 1rem;
}
h3 {
font-size: 1.6rem;
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 150%;
color: var(--heading-color);
}
.note h3,
.tip h3,
.warning h3,
.caution h3,
.important h3 {
font-size: 120%;
}
h4 {
font-size: 1.425rem;
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 140%;
color: var(--heading-color);
}
h5 {
font-size: 1.275rem;
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 130%;
color: var(--small-heading-color);
}
h6 {
font-size: 1.125rem;
}
:is(.note, .tip, .warning, .caution, .important) h3 {
font-size: 1.425rem;
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 120%;
}
strong {
@@ -256,9 +246,13 @@ code {
}
code {
padding: 0.2em 0.4em;
background: var(--inline-code-background);
border-radius: 0.375rem;
color: #ff8657;
background: #f4f4f4;
display: inline-block;
padding: 0 0.5rem;
border: 1px solid #d8d8d8;
border-radius: 0.5rem;
line-height: 1.57777778;
}
div.book .programlisting,
@@ -270,7 +264,16 @@ div.appendix .programlisting {
color: var(--codeblock-text-color);
}
:is(.note, .tip, .warning, .caution, .important) {
div.book .note,
div.book .tip,
div.book .warning,
div.book .caution,
div.book .important,
div.appendix .note,
div.appendix .tip,
div.appendix .warning,
div.appendix .caution,
div.appendix .important {
margin-bottom: 1rem;
border-radius: 0.5rem;
padding: 1.5rem;
@@ -278,44 +281,69 @@ div.appendix .programlisting {
background: #f4f4f4;
}
:is(.note, .tip, .warning, .caution, .important) > .title {
div.book .note > .title,
div.book .tip > .title,
div.book .warning > .title,
div.book .caution > .title,
div.book .important > .title,
div.appendix .note > .title,
div.appendix .tip > .title,
div.appendix .warning > .title,
div.appendix .caution > .title,
div.appendix .important > .title {
font-weight: 800;
line-height: 110%;
color: inherit;
margin-bottom: 0;
}
:is(.note, .tip, .warning, .caution, .important) > :first-child {
div.book .note > :first-child,
div.book .tip > :first-child,
div.book .warning > :first-child,
div.book .caution > :first-child,
div.book .important > :first-child,
div.appendix .note > :first-child,
div.appendix .tip > :first-child,
div.appendix .warning > :first-child,
div.appendix .caution > :first-child,
div.appendix .important > :first-child {
margin-top: 0;
}
:is(.note, .tip, .warning, .caution, .important) > :last-child {
div.book .note > :last-child,
div.book .tip > :last-child,
div.book .warning > :last-child,
div.book .caution > :last-child,
div.book .important > :last-child,
div.appendix .note > :last-child,
div.appendix .tip > :last-child,
div.appendix .warning > :last-child,
div.appendix .caution > :last-child,
div.appendix .important > :last-child {
margin-bottom: 0;
}
.note {
div.book .note,
div.book .tip,
div.book .important,
div.appendix .note,
div.appendix .tip,
div.appendix .important {
color: var(--note-text-color);
background: var(--note-background);
}
.tip {
color: var(--tip-text-color);
background: var(--tip-background);
}
.important {
color: var(--important-text-color);
background: var(--important-background);
}
.warning {
div.book .warning,
div.book .caution,
div.appendix .warning,
div.appendix .caution {
color: var(--warning-text-color);
background: var(--warning-background);
background-color: var(--warning-background);
}
.caution {
color: var(--caution-text-color);
background: var(--caution-background);
div.book .section,
div.appendix .section {
margin-top: 2em;
}
div.book div.example,
@@ -359,13 +387,39 @@ div.appendix dt {
margin-top: 1em;
}
div.book .toc dt,
div.appendix .toc dt {
margin-top: 0;
}
div.book .list-of-examples dt,
div.appendix .list-of-examples dt {
margin-top: 0;
}
div.book code,
div.appendix code {
padding: 0;
border: 0;
background-color: inherit;
color: inherit;
font-size: 100%;
-webkit-hyphens: none;
-moz-hyphens: none;
hyphens: none;
}
div.book div.toc,
div.appendix div.toc {
margin-bottom: 3em;
border-bottom: 0.0625rem solid #d8d8d8;
}
div.book div.toc dd,
div.appendix div.toc dd {
margin-left: 2em;
}
div.book span.command,
div.appendix span.command {
font-family: monospace;
@@ -396,31 +450,17 @@ div.appendix .variablelist .term {
}
:root {
--sidebar-width: 20rem;
--header-height: 3rem;
--background: #fff;
--main-text-color: #000;
--link-color: #405d99;
--heading-color: #6586c8;
--small-heading-color: #6a6a6a;
/* NOTE */
--note-text-color: #0065d2;
--note-background: #e4f5ff;
/* TIP */
--tip-text-color: #188000;
--tip-background: #e8fae3;
/* IMPORTANT */
--important-text-color: #8a3db8;
--important-background: #fbedff;
/* WARNING */
--warning-text-color: #aa4a00;
--warning-background: #fff0db;
/* CAUTION */
--caution-text-color: #be222a;
--caution-background: #ffebe8;
--note-text-color: #5277c3;
--note-background: #f2f8fd;
--warning-text-color: #cc3900;
--warning-background: #fff5e1;
--codeblock-background: #f2f8fd;
--codeblock-text-color: #000;
--inline-code-background: #818b981f;
}
@media (prefers-color-scheme: dark) {
@@ -429,27 +469,20 @@ div.appendix .variablelist .term {
--main-text-color: #fff;
--link-color: #6586c8;
--small-heading-color: #fff;
/* NOTE */
--note-text-color: #66c6ff;
--note-background: #1e2f44;
/* TIP */
--tip-text-color: #80e05f;
--tip-background: #22331d;
/* IMPORTANT */
--important-text-color: #ea9dff;
--important-background: #35273f;
/* WARNING */
--warning-text-color: #ffaa00;
--warning-background: #3c2a13;
/* CAUTION */
--caution-text-color: #ff8c84;
--caution-background: #422522;
--note-background: none;
--warning-background: none;
--codeblock-background: #393939;
--codeblock-text-color: #fff;
--inline-code-background: #656c7633;
}
:is(.note, .tip, .warning, .caution, .important) {
div.book .note,
div.book .tip,
div.appendix .note,
div.appendix .tip,
div.book .warning,
div.book .caution,
div.appendix .warning,
div.appendix .caution {
border: 2px solid;
font-weight: 400;
}
@@ -457,241 +490,9 @@ div.appendix .variablelist .term {
@font-face {
font-family: Roboto;
src:
url(Roboto.ttf) format("truetype") tech(variations),
url(Roboto.ttf) format("truetype-variations");
font-weight: 100 900;
font-style: normal;
font-display: swap;
src: url(Roboto.ttf);
}
.chapter {
content-visibility: auto;
}
.navheader {
position: sticky;
top: 0;
z-index: 1;
background-color: var(--background);
}
nav.toc-sidebar {
height: 100%;
padding: 0 1rem 2rem;
background-color: var(--background);
color: var(--main-text-color);
}
/* menu button, shown on mobile, hidden on desktop */
.toc-toggle {
display: inline-flex;
align-items: center;
margin: 0.75rem 0 0;
padding: 0.4rem 0.8rem;
border: 0.0625rem solid #d8d8d8;
border-radius: 0.25rem;
background: var(--background);
color: var(--main-text-color);
font: inherit;
cursor: pointer;
position: fixed;
top: 0.5rem;
left: 0.8rem;
z-index: 2;
}
nav.toc-sidebar .toc {
margin-bottom: 0;
}
nav.toc-sidebar ol.toc,
nav.toc-sidebar ol.toc ol {
list-style: none;
margin: 0;
padding-left: 0;
}
nav.toc-sidebar ol.toc ol {
padding-left: 1em;
}
nav.toc-sidebar li {
margin: 0;
}
nav.toc-sidebar summary {
cursor: pointer;
display: flex;
align-items: center;
list-style: none;
}
nav.toc-sidebar summary::before {
content: "▸";
flex: none;
font-size: 0.75em;
}
nav.toc-sidebar details[open] > summary::before {
content: "▾";
}
nav.toc-sidebar a {
display: block;
width: 100%;
padding: 3px 8px;
border-left: 3px solid transparent;
border-radius: 3px;
color: inherit;
transition:
background-color 120ms ease,
border-color 120ms ease;
}
nav.toc-sidebar a:hover {
background-color: #f2f2f2 !important;
}
nav.toc-sidebar a.active {
background-color: #d8d8d8;
border-left-color: #444;
font-weight: 600;
}
nav.toc-sidebar a.active-trail {
border-left-color: #bbb;
background-color: #e8e8e8;
}
@media (prefers-color-scheme: dark) {
nav.toc-sidebar a:hover {
/* hover should win over scroll selectors despite beeing less specific */
background-color: #606060 !important;
}
nav.toc-sidebar a.active {
background-color: #373737;
border-left-color: #eee;
font-weight: 600;
}
nav.toc-sidebar a.active-trail {
border-left-color: #eee;
background-color: #323232;
}
}
@media screen and (min-width: 768px) {
body {
height: 100vh;
min-height: 0;
display: grid;
grid-template-columns: minmax(0, 1fr);
grid-template-rows: var(--header-height) auto minmax(0, 1fr);
}
body:has(> nav.toc-sidebar) {
grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}
.navheader {
grid-column: 1 / -1;
grid-row: 2;
}
nav.toc-sidebar {
/* un-pop the drawer */
display: block;
position: static;
inset: auto;
/* */
margin: 0;
grid-column: 1;
grid-row: 3;
max-height: none;
overflow-y: auto;
border: none;
}
/* Hide the toggle button on desktop */
.toc-toggle {
display: none;
}
main.content {
grid-column: 1 / -1;
grid-row: 3;
overflow-y: auto;
padding: 0 1rem;
}
body:has(> nav.toc-sidebar) main.content {
grid-column: 2;
}
}
.manual-header {
background-color: var(--background);
border-bottom: 0.0625rem solid #d8d8d8;
display: flex;
flex-direction: column;
}
.manual-header--title {
order: -1;
padding: 0.5rem 1rem 0;
font-size: 0.875rem;
font-weight: 500;
color: var(--small-heading-color);
text-align: center;
}
.manual-header--tabs {
display: flex;
align-items: stretch;
justify-content: space-around;
margin: 0;
padding: 0;
}
.manual-header--tab {
display: flex;
align-items: center;
padding: 0 1rem;
font-size: 0.875rem;
font-weight: 500;
color: var(--main-text-color);
text-decoration: none;
border-bottom: 0.1875rem solid transparent;
border-top: 0.1875rem solid transparent;
transition: border-bottom-color 0.15s ease;
}
.manual-header--tab:hover {
border-bottom-color: var(--heading-color);
color: var(--main-text-color);
}
.manual-header--tab-active {
border-bottom-color: var(--heading-color);
color: var(--heading-color);
font-weight: 700;
}
@media screen and (min-width: 768px) {
.manual-header {
height: var(--header-height);
flex-direction: row;
align-items: stretch;
grid-column: 1 / -1;
grid-row: 1;
}
.manual-header--title {
order: 0;
margin-left: auto;
padding: 0 1rem;
align-self: center;
}
.manual-header--tabs {
justify-content: flex-start;
padding: 0 1rem;
}
}

View File

@@ -1,420 +0,0 @@
# Styleguide
## Writing Principles
A consistent style greatly increases the usability of all documentation and communication.
Use this page as a reference and style guide for our internal and external documentation.
### Knowledge Expectations
**Assume competence, not familiarity.**
Write for someone who knows a great deal — up to but not including this project.
**What readers know:**
- Basic computer operation
- Command line familiarity
- General interest in systems configuration
**What readers don't know:**
- NixOS-specific concepts
- NixOS ecosystem details or grammar
- NixOS workflows
If specific knowledge is required, mention it at the start of the page.
#### Show, Don't Tell
The fastest path to understanding is a working example.
People learn by doing, not by reading about doing.
**Recommended structure:**
- Start with the minimal working code or command
- Briefly explain what it does
- Cover edge cases or variations
- Link to further information instead of including it
#### Grammar and Style
**Sentence structure:**
- Use simple, direct sentences
- Break complex ideas into multiple short sentences
- Avoid nested clauses
**Bad:**
> The following command, which utilizes nixos-generate-config to produce a comprehensive hardware configuration, will write the results back into the respective configuration directory located on your local machine.
What the user does is hidden in the middle.
`nixos-generate-config` is a leaked implementation detail.
Users care about *detecting hardware*, not *the tool that does it*.
**Good:**
> This command detects your hardware and saves the configuration.
#### Content Organization
Lead with value. State what the reader will accomplish before explaining how.
**Bad:**
> To create a new NixOS configuration that you can later use as a webserver, first navigate to your project directory, then add a new host configuration file with the desired machine name.
**Good:**
Add a webserver configuration to your NixOS setup:
```nix
# hosts/webserver/configuration.nix
{ ... }:
{
services.nginx.enable = true;
}
```
Use **progressive disclosure**. Introduce concepts only when needed.
**Recommended structure:**
1. State the goal (one sentence)
2. Show the simplest working example
3. Explain concepts if needed
4. Provide advanced options separately or link to the reference
#### No Meta-commentary
Don't describe what the documentation does. Just do it.
**Don't:**
> This section explains how to configure networking.
> The following guide walks you through setting up a web server.
**Do:**
> Configure networking by setting:
> Set up a web server:
#### Code Examples
**Keep examples focused:**
- Show one concept at a time
- Use realistic but simple scenarios
- Avoid dependencies on other examples
**Minimal comments**
Let the code speak for itself.
Paste code examples directly and without further alteration.
**Bad:**
```nix
# This sets the hostname for the machine
{
networking.hostName = "webserver"; # Change this to your machine's hostname
# This enables SSH access
services.openssh.enable = true; # Required for remote deployment
}
```
**Good:**
```nix
{
networking.hostName = "webserver";
services.openssh.enable = true;
}
```
#### Lead with Practical Examples
Don't front-load theory. Readers want to accomplish something first, then understand why it works.
- Show configuration as *what you want*, not *how the module system works*
- Introduce Nix-specific concepts only when they are needed to complete the task
- Defer language mechanics to reference pages or `nix.dev`
**Bad:**
> Before adding a service, you need to understand the NixOS module system and attribute set merging.
**Good:**
Enable nginx:
```nix
{ services.nginx.enable = true; }
```
This adds nginx to your system configuration. Rebuild to apply:
```bash
sudo nixos-rebuild switch
```
#### Teach Nix through examples, not theory
Users learn the NixOS module system by seeing patterns first.
- Start with a working example
- Explanation follows the code
- Link deeper concepts instead of inlining them
- Link to `nix.dev` for optional learning
#### General Rules
- Abbreviate keys like `ssh-ed25519 AAAAC3NzaC…`
- Abbreviate IP addresses like `192.168.XXX.XXX`
- Variables are capitalized and start with `$`, e.g. `$YOUR_HOSTNAME`
- Variables should be directly usable during copy-paste
- Do **not** describe missing code parts (`#elided`, `#omitted`)
- **Machine vs Host**: use "machine" for the NixOS system identity, "host" for the physical or virtual hardware
#### Capitalization
- GB / RAM / HDD
- bootable USB drive
- Wi-Fi / DHCP / DNS
- macOS / NixOS / Nix / Linux
- Flakes
- git
#### Headings
Use sentence case. A reader scanning only headings should understand the page.
**Don't:**
> Getting Started
> Overview
> Configure The Database
**Do:**
> Set up a PostgreSQL database
> Configure networking
> Add a user to the system
#### Imperative Mood, Voice, and Person
Use imperative mood for instructions. Address the reader as "you", not "the user". Use active voice; in other words, make the subject do the action.
**Don't:**
> The user should run the following command.
> The configuration will need to be updated.
> The key is generated by the system.
**Do:**
> Run the command.
> Update the configuration.
> The system generates the key.
#### Tense
Use present tense for descriptions. Future tense makes documentation feel tentative.
**Don't:**
> This will create a new folder.
> Running this command will install the package.
**Do:**
> This creates a new folder.
> Running this command installs the package.
#### Be Confident
State facts. Don't hedge with "should," "might," "typically," or "usually" unless the behavior genuinely varies.
**Don't:**
> This should create the configuration file.
> The service will usually start automatically.
**Do:**
> This creates the configuration file.
> The service starts automatically.
#### Avoid Nominalizations
A nominalization is a verb turned into a noun, often by adding *-tion*, *-meant*, or *-ance* (e.g. "explanation", "selection"). The fix: find the hidden verb and use it directly.
**Don't:**
> Make a selection from the list.
> Provide an explanation of the error.
**Do:**
> Select from the list.
> Explain the error.
#### Plain Words
Technical precision for technical terms; plain language for everything else.
- "use" not "utilize"
- "start" not "initiate"
- "end" not "terminate"
- "help" not "facilitate"
- "send" not "transmit"
- "set up" not "establish"
- "find out" not "ascertain"
#### Filler Words and Weak Phrases
Cut words and phrases that add length without meaning.
Delete on sight:
- "simply", "just", "easily", "basically", "obviously"
- "in order to" → use "to"
- "allows you to" → use the verb directly
- "it's worth noting that" → just say the thing
- no exclamation marks in technical prose
**Don't:**
> Simply run `nixos-rebuild switch`.
> In order to deploy, you first need to run the command, which allows you to push the config.
> It's worth noting that this requires root access.
**Do:**
> Run `nixos-rebuild switch`.
> To deploy, run:
> This requires root access.
Every word must earn its place.
#### Writing Procedures
One instruction per sentence. Don't pack multiple actions into one sentence.
**Don't:**
> Navigate to your project directory and run the command, then check the output.
**Do:**
1. Navigate to your project directory.
2. Run the command.
3. Check the output.
Don't bury the negative. Key limitations should be prominent, not a footnote after a positive description.
**Don't:**
> This service supports multiple roles, integrates with existing modules, and works great for most setups (note that multiple instances are not supported).
**Do:**
> This service does not support multiple instances.
#### Consistent Terminology
Pick a term and stick to it. Don't swap synonyms to avoid repetition. In technical documentation, repetition is clarity.
**Don't:**
> Create a machine... configure the host... deploy the node.
**Do:**
> Create a machine... configure the machine... deploy the machine.
#### Links
Use descriptive link text. Never use "click here" or "this link."
**Don't:**
> For more information, see `[this page](url)`.
> Click `[here](url)` to read the reference.
**Do:**
> See the `[NixOS options reference](url)` for details.
> Read the `[NixOS module system guide](url)`.
Only link when the destination is directly relevant, not for generic background context (sometimes known as "Wikipedia-style links"). Readers feel obligated to click links, fearing they'll miss something important. Don't send them to a generic article about a technology when they're looking for how *your* system uses it.
**Don't:**
> Our software uses [SQLite](https://sqlite.org/) for storage.
> *(Reader clicks expecting schema details — finds a generic product page instead.)*
(Note that in the above example, the SQLite link is the SQLite home page, which is likely not pertinent.)
**Do:**
> See `[database schema](url)` for the full table structure.
#### UI Language
Match UI element names exactly: wording, casing, and spacing (even if a label seems oddly worded).
**Don't:**
> Click the generator button.
> Select the save option.
**Do:**
> Click **Generate a Key**.
> Click **Save Changes**.
Someone will go looking for a button labeled "generator." They will not find it. They will be frustrated.
Consistency between documentation and interface builds confidence. Words are part of the interface.
:::{.tip}
This can be tricky as UI changes; we don't yet have a policy in place for how to handle this. We welcome comments and suggestions.
:::
#### Clean system discipline
Your machine has things new users don't: cached credentials, installed tools, environment variables, existing configuration. When writing or updating documentation:
**Don't:**
> Write steps from memory on your development machine, assuming what works there will work everywhere.
**Do:**
> - Start on a clean system — a fresh VM or new user account
> - Take notes in real time as you work through the steps
> - Document every warning, prompt, or unexpected output the system shows
Also think in combinations: WSL vs native Linux, with and without existing keys. You don't need to test every matrix square — but you need to know which ones diverge.
#### Never type code — always copy-paste
Always copy commands and code from a terminal where you just ran them successfully. Never retype from memory.
**Don't:**
> Retype a command from memory into the documentation.
> Retype code into a code-block from memory
**Do:**
> Paste commands directly from the shell or IDE.
> Paste code that has been successfully validated with nix-instantiate or nix-build
Replace sensitive values with placeholders: `<YOUR-KEY>`, `<YOUR-HOST>`, `<YOUR-TOKEN>`.
Typed-from-memory commands introduce subtle errors. Even the most experienced software developers have occasional typos.

View File

@@ -1,7 +1,6 @@
# Using Nixpkgs {#part-using}
```{=include=} chapters
channels.chapter.md
using/platform-support.chapter.md
using/configuration.chapter.md
using/overlays.chapter.md

View File

@@ -152,7 +152,7 @@ There are several ways to tweak how Nix handles a package which has been marked
Note that `allowlistedLicenses` only applies to unfree licenses unless `allowUnfree` is enabled. It is not a generic allowlist for all types of licenses. `blocklistedLicenses` applies to all licenses.
A complete list of licenses can be found in the file [`nixpkgs/lib/licenses/licenses.nix`](https://github.com/NixOS/nixpkgs/blob/master/lib/licenses/licenses.nix) of the nixpkgs tree.
A complete list of licenses can be found in the file `lib/licenses.nix` of the nixpkgs tree.
## Installing insecure packages {#sec-allow-insecure}

View File

@@ -1,16 +1,16 @@
# Platform Support {#chap-platform-support}
Packages receive varying degrees of support, both in terms of maintainer and security team attention and available computation resources for continuous integration (CI). We have 7 defined tiers denoting how well supported each platform is.
Packages receive varying degrees of support, both in terms of maintainer attention and available computation resources for continuous integration (CI). We have 7 defined tiers denoting how well supported each platform is.
## Tiers {#sec-platform-tiers}
### Tier 1 {#sec-platform-tier1}
[Tier 1](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-1) platforms receive the highest level of support where problems can block updates, security fixes are treated with urgency, platform-specific patches are freely applied, and most packages are expected to work.
[Tier 1](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-1) platforms receive the highest level of support where problems can block updates, platform-specific patches are freely applied, and most packages are expected to work.
### Tier 2 {#sec-platform-tier2}
[Tier 2](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-2) platforms are expected to remain functional and secure with updates, receive platform-specific patches as needed, and have many packages built by Hydra with full ofBorg support.
[Tier 2](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-2) platforms are expected to remain functional with updates, receive platform-specific patches as needed, and have many packages built by Hydra with full ofBorg support.
### Tier 3 {#sec-platform-tier3}
@@ -22,25 +22,28 @@ Platform Tiers [4 through 7](https://github.com/NixOS/rfcs/blob/master/rfcs/0046
## Breakdown {#sec-platform-breakdown}
| Triple | Support Tier | Channel Blockers | Hydra Support | Security Support | Ofborg Support | Bootstrap Tarballs | Cross Compiling Support |
|---------------------------------------|------------------------------------------------------------------------------------------------|------------------|---------------|------------------|----------------|--------------------|-------------------------|
| `x86_64-unknown-linux-gnu` | [Tier 1](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-1) | Many | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| `aarch64-unknown-linux-gnu` | [Tier 2](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-2) | Some | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| `x86_64-unknown-linux-musl` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | Limited | ❌ | ❌ | ✔️ | ✔️ |
| `aarch64-unknown-linux-musl` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | Limited | ❌ | ❌ | ✔️ | ✔️ |
| `x86_64-unknown-unknown-freebsd` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `arm64-apple-darwin` | [Tier 2](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-2) | Some | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
| `i686-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | Limited | ❌ | | ✔️ | ✔️ |
| `riscv32-unknown-linux-gnu` | [Tier 4](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-4) | None | ❌ | ❌ | ❌ | | ✔️ |
| `riscv64-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `loongarch64-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `armv6l-unknown-linux-gnueabihf` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `armv6l-unknown-linux-musleabihf` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `armv7l-unknown-linux-gnueabihf` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `armv5tel-unknown-linux-gnueabi` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `mips64el-unknown-linux-gnuabi64` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `mips64el-unknown-linux-gnuabin32` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `mipsel-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `powerpc64-unknown-linux-gnuabielfv2` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `powerpc64le-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| `s390x-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ❌ | ✔️ | ✔️ |
| Triple | Support Tier | Channel Blockers | Hydra Support | Ofborg Support | Bootstrap Tarballs | Cross Compiling Support |
| ------------------------------------- | ------------ | ---------------- | ------------- | -------------- | ------------------ | ----------------------- |
| `x86_64-unknown-linux-gnu` | [Tier 1](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-1) | Many | ✔️ | ✔️ | ✔️ | ✔️ |
| `aarch64-unknown-linux-gnu` | [Tier 2](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-2) | Some | ✔️ | ✔️ | ✔️ | ✔️ |
| `x86_64-unknown-linux-musl` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | Limited | ❌ | ✔️ | ✔️ |
| `aarch64-unknown-linux-musl` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | Limited | ❌ | ✔️ | ✔️ |
| `x86_64-unknown-unknown-freebsd` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `arm64-apple-darwin` | [Tier 2](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-2) | Some | ✔️ | ✔️ | ✔️ | ❌\* |
| `x86_64-apple-darwin` | [Tier 2](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-2) | Some | ✔️ | ✔️ | ✔️ | ❌\* |
| `i686-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | Limited | ❌ | ✔️ | ✔️ |
| `riscv32-unknown-linux-gnu` | [Tier 4](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-4) | None | ❌ | ❌ | ❌ | ✔️ |
| `riscv64-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `loongarch64-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `armv6l-unknown-linux-gnueabihf` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `armv6l-unknown-linux-musleabihf` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `armv7l-unknown-linux-gnueabihf` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `armv5tel-unknown-linux-gnueabi` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `mips64el-unknown-linux-gnuabi64` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `mips64el-unknown-linux-gnuabin32` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `mipsel-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `powerpc64-unknown-linux-gnuabielfv2` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `powerpc64le-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
| `s390x-unknown-linux-gnu` | [Tier 3](https://github.com/NixOS/rfcs/blob/master/rfcs/0046-platform-support-tiers.md#tier-3) | None | ❌ | ❌ | ✔️ | ✔️ |
\* - Cross compiling is only supported on Darwin hosts.

View File

@@ -220,25 +220,17 @@
evaluation. Evaluating the attribute value tends to require a significant
amount of computation, even considering lazy evaluation.
*/
legacyPackages =
let
# We include `x86_64-darwin` here to ensure that users get a
# good error message for the 26.11 deprecation of the platform,
# while excluding it from `lib.systems.flakeExposed` so that we
# dont break `nix flake check` for downstream users.
forAllSystems' = lib.genAttrs (lib.systems.flakeExposed ++ [ "x86_64-darwin" ]);
in
forAllSystems' (
system:
(import ./. {
inherit system;
overlays = import ./pkgs/top-level/impure-overlays.nix ++ [
(final: prev: {
lib = prev.lib.extend libVersionInfoOverlay;
})
];
})
);
legacyPackages = forAllSystems (
system:
(import ./. {
inherit system;
overlays = import ./pkgs/top-level/impure-overlays.nix ++ [
(final: prev: {
lib = prev.lib.extend libVersionInfoOverlay;
})
];
})
);
/**
Optional modules that can be imported into a NixOS configuration.

View File

@@ -1 +1 @@
26.11
26.05

View File

@@ -5,6 +5,7 @@
let
inherit (builtins) head length;
inherit (lib.trivial) mergeAttrs;
inherit (lib.strings)
concatStringsSep
concatMapStringsSep
@@ -12,18 +13,16 @@ let
sanitizeDerivationName
;
inherit (lib.lists)
all
concatLists
filter
foldr
foldl'
concatMap
elemAt
filter
foldl
foldl'
foldr
groupBy
all
partition
reverseList
groupBy
take
foldl
;
in
@@ -371,11 +370,7 @@ rec {
:::
*/
concatMapAttrs =
f: v:
listToAttrs (
concatLists (reverseList (mapAttrsToList (name: value: attrsToList (f name value)) v))
);
concatMapAttrs = f: v: foldl' mergeAttrs { } (attrValues (mapAttrs f v));
/**
Update or set specific paths of an attribute set.
@@ -1140,7 +1135,7 @@ rec {
For a function that gives you control over what counts as a leaf, see `mapAttrsRecursiveCond`.
::: {.example #map-attrs-recursive-example}
:::{#map-attrs-recursive-example .example}
# Map over leaf attributes
```nix
@@ -1165,7 +1160,7 @@ rec {
If the predicate returns false, `mapAttrsRecursiveCond` does not recurse, but instead applies the mapping function.
If the predicate returns true, it does recurse, and does not apply the mapping function.
::: {.example #map-attrs-recursive-cond-example}
:::{#map-attrs-recursive-cond-example .example}
# Map over an leaf attributes defined by a condition
Map derivations to their `name` attribute.
@@ -1617,15 +1612,13 @@ rec {
binaryMerge =
start: end:
# assert start < end; # Invariant
if end - start == 1 then
# Base case - there will be exactly 1 element due to the invariant, in
# which case we just return it directly
elemAt list start
else
if end - start >= 2 then
# If there's at least 2 elements, split the range in two, recurse on each part and merge the result
# Relies on floor for odd results
# The invariant is satisfied because each half will have at least 1 element
binaryMerge start ((start + end) / 2) // binaryMerge ((start + end) / 2) end;
binaryMerge start (start + (end - start) / 2) // binaryMerge (start + (end - start) / 2) end
else
# Otherwise there will be exactly 1 element due to the invariant, in which case we just return it directly
elemAt list start;
in
if list == [ ] then
# Calling binaryMerge as below would not satisfy its invariant
@@ -1805,28 +1798,22 @@ rec {
:::
*/
matchAttrs =
let
recurse =
pattern: attrs:
all (
# Compare equality between `pattern` & `attrs`.
attr:
# Missing attr, not equal.
attrs ? ${attr}
&& (
let
lhs = pattern.${attr};
rhs = attrs.${attr};
in
# Simple equality check is primarily for non-attrsets, but we run it
# on attrsets too, since it may let us avoid recursing
lhs == rhs || isAttrs lhs && isAttrs rhs && recurse lhs rhs
)
) (attrNames pattern);
in
pattern:
pattern: attrs:
assert isAttrs pattern;
recurse pattern;
all (
# Compare equality between `pattern` & `attrs`.
attr:
# Missing attr, not equal.
attrs ? ${attr}
&& (
let
lhs = pattern.${attr};
rhs = attrs.${attr};
in
# If attrset check recursively
if isAttrs lhs then isAttrs rhs && matchAttrs lhs rhs else lhs == rhs
)
) (attrNames pattern);
/**
Override only the attributes that are already present in the old set

View File

@@ -1,22 +1,6 @@
{ lib }:
let
inherit (lib)
concatLists
concatMap
escapeShellArgs
isBool
isList
mapAttrsToList
oldestSupportedReleaseIsAtLeast
optional
stringLength
warnIf
;
inherit (lib.generators) mkValueStringDefault;
mkValueString = mkValueStringDefault { };
in
rec {
{
/**
Automatically convert an attribute set to command-line options.
@@ -56,9 +40,9 @@ rec {
:::
*/
toGNUCommandLineShell =
warnIf (oldestSupportedReleaseIsAtLeast 2511)
lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2511)
"lib.cli.toGNUCommandLineShell is deprecated, please use lib.cli.toCommandLineShell or lib.cli.toCommandLineShellGNU instead."
(options: attrs: escapeShellArgs (toGNUCommandLine options attrs));
(options: attrs: lib.escapeShellArgs (lib.cli.toGNUCommandLine options attrs));
/**
Automatically convert an attribute set to a list of command-line options.
@@ -132,15 +116,15 @@ rec {
:::
*/
toGNUCommandLine =
warnIf (oldestSupportedReleaseIsAtLeast 2511)
lib.warnIf (lib.oldestSupportedReleaseIsAtLeast 2511)
"lib.cli.toGNUCommandLine is deprecated, please use lib.cli.toCommandLine or lib.cli.toCommandLineShellGNU instead."
(
{
mkOptionName ? k: if stringLength k == 1 then "-${k}" else "--${k}",
mkOptionName ? k: if builtins.stringLength k == 1 then "-${k}" else "--${k}",
mkBool ? k: v: optional v (mkOptionName k),
mkBool ? k: v: lib.optional v (mkOptionName k),
mkList ? k: concatMap (mkOption k),
mkList ? k: v: lib.concatMap (mkOption k) v,
mkOption ?
k: v:
@@ -149,24 +133,26 @@ rec {
else if optionValueSeparator == null then
[
(mkOptionName k)
(mkValueString v)
(lib.generators.mkValueStringDefault { } v)
]
else
[ "${mkOptionName k}${optionValueSeparator}${mkValueString v}" ],
[ "${mkOptionName k}${optionValueSeparator}${lib.generators.mkValueStringDefault { } v}" ],
optionValueSeparator ? null,
}:
options:
let
render =
k: v:
if isBool v then
if builtins.isBool v then
mkBool k v
else if isList v then
else if builtins.isList v then
mkList k v
else
mkOption k v;
in
options: concatLists (mapAttrsToList render options)
builtins.concatLists (lib.mapAttrsToList render options)
);
/**
@@ -177,7 +163,8 @@ rec {
For further reference see:
[`lib.cli.toCommandLineGNU`](#function-library-lib.cli.toCommandLineGNU)
*/
toCommandLineShellGNU = options: attrs: escapeShellArgs (toCommandLineGNU options attrs);
toCommandLineShellGNU =
options: attrs: lib.escapeShellArgs (lib.cli.toCommandLineGNU options attrs);
/**
Converts an attribute set into a list of GNU-style command-line arguments.
@@ -240,9 +227,9 @@ rec {
*/
toCommandLineGNU =
{
isLong ? optionName: stringLength optionName > 1,
isLong ? optionName: builtins.stringLength optionName > 1,
explicitBool ? false,
formatArg ? mkValueString,
formatArg ? lib.generators.mkValueStringDefault { },
}:
let
optionFormat = optionName: {
@@ -251,7 +238,7 @@ rec {
inherit explicitBool formatArg;
};
in
toCommandLine optionFormat;
lib.cli.toCommandLine optionFormat;
/**
Converts the given attributes into a single shell-escaped command-line
@@ -261,7 +248,8 @@ rec {
For further reference see:
[`lib.cli.toCommandLine`](#function-library-lib.cli.toCommandLine)
*/
toCommandLineShell = optionFormat: attrs: escapeShellArgs (toCommandLine optionFormat attrs);
toCommandLineShell =
optionFormat: attrs: lib.escapeShellArgs (lib.cli.toCommandLine optionFormat attrs);
/**
Converts an attribute set into a list of command-line arguments.
@@ -433,14 +421,14 @@ rec {
- `lib.cli.toCommandLineShellGNU`
*/
toCommandLine =
optionFormat:
optionFormat: attrs:
let
handlePair =
k: v:
if k == "" then
throw "lib.cli.toCommandLine only accepts non-empty option names."
else if isList v then
concatMap (handleOption k) v
lib.throw "lib.cli.toCommandLine only accepts non-empty option names."
else if builtins.isList v then
builtins.concatMap (handleOption k) v
else
handleOption k v;
@@ -451,7 +439,7 @@ rec {
option,
sep,
explicitBool,
formatArg ? mkValueString,
formatArg ? lib.generators.mkValueStringDefault { },
}:
k: v:
if v == null || (!explicitBool && v == false) then
@@ -470,5 +458,5 @@ rec {
arg
];
in
attrs: concatLists (mapAttrsToList handlePair attrs);
builtins.concatLists (lib.mapAttrsToList handlePair attrs);
}

Some files were not shown because too many files have changed in this diff Show More