From 35b41917ac3000754e2a1926bcf4f1c768a6c5c2 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 27 Jan 2026 22:01:07 -0500 Subject: [PATCH 01/69] tayga: 0.9.5 -> 0.9.6 Diff: https://github.com/apalrd/tayga/compare/0.9.5...0.9.6 --- pkgs/by-name/ta/tayga/package.nix | 45 ++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/ta/tayga/package.nix b/pkgs/by-name/ta/tayga/package.nix index c5301a0d33fe..c153319c1677 100644 --- a/pkgs/by-name/ta/tayga/package.nix +++ b/pkgs/by-name/ta/tayga/package.nix @@ -2,40 +2,55 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, nixosTests, }: stdenv.mkDerivation (finalAttrs: { - version = "0.9.5"; pname = "tayga"; + version = "0.9.6"; src = fetchFromGitHub { owner = "apalrd"; repo = "tayga"; tag = finalAttrs.version; - hash = "sha256-xOm4fetFq2UGuhOojrT8WOcX78c6MLTMVbDv+O62x2E="; + hash = "sha256-OsF2RqZzDvf8FMLHN6YAKvWfFgAIQfVkbBTC8hjf2dU="; }; - makeFlags = [ "CC=${lib.getExe stdenv.cc}" ]; + patches = [ + # nat64.c: call inet_ntop with properly sized buffers + # https://github.com/apalrd/tayga/pull/168 + (fetchpatch2 { + url = "https://github.com/apalrd/tayga/commit/b41bd030846451d72b277854678b58370b1d5c8f.patch?full_index=1"; + hash = "sha256-vFQTlZs9ghxdx4k/iODDOUBAglyll1OxUdTjzDtcwB0="; + }) + ]; + + makeFlags = [ + "prefix=${placeholder "out"}" + ]; + + installFlags = [ + "WITH_SYSTEMD=1" + "sbindir=${placeholder "out"}/bin" + "sysconfdir=${placeholder "out"}/etc" + "servicedir=${placeholder "out"}/lib/systemd/system" + ]; + + postInstall = '' + substituteInPlace "$out/lib/systemd/system/tayga@.service" \ + --replace-fail "ExecSearchPath=/usr/local/sbin:/usr/sbin" "" \ + --replace-fail "ExecStart=tayga" "ExecStart=$out/bin/tayga" + ''; env = lib.optionalAttrs stdenv.hostPlatform.is32bit { NIX_CFLAGS_COMPILE = "-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64"; }; - preBuild = '' - echo "#define TAYGA_VERSION \"${finalAttrs.version}\"" > version.h - ''; - - installPhase = '' - install -Dm755 tayga $out/bin/tayga - install -D tayga.conf.5 $out/share/man/man5/tayga.conf.5 - install -D tayga.8 $out/share/man/man8/tayga.8 - cp -R docs $out/share/ - cp tayga.conf.example $out/share/docs/ - ''; - passthru.tests.tayga = nixosTests.tayga; + doCheck = true; + meta = { description = "Userland stateless NAT64 daemon"; longDescription = '' From fb5d7bb7c3abc44c8532e46a0aaa66c4609a07f0 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 27 Jan 2026 22:55:46 -0500 Subject: [PATCH 02/69] nixosTests.clatd: fix test under strict wkpf --- nixos/tests/clatd.nix | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/nixos/tests/clatd.nix b/nixos/tests/clatd.nix index 1294909cb9ed..91454ab0f723 100644 --- a/nixos/tests/clatd.nix +++ b/nixos/tests/clatd.nix @@ -13,8 +13,8 @@ # +--|--- # | eth2 Address: 2001:db8::1/64 # Router | -# | nat64 Address: 64:ff9b::1/128 -# | Route: 64:ff9b::/96 +# | nat64 Address: fde7:6c52:047e::1/128 +# | Route: fde7:6c52:047e::/96 # | Address: 192.0.2.0/32 # | Route: 192.0.2.0/24 # | @@ -37,11 +37,7 @@ ]; nodes = { - # The server is configured with static IPv4 addresses. RFC 6052 Section 3.1 - # disallows the mapping of non-global IPv4 addresses like RFC 1918 into the - # Well-Known Prefix 64:ff9b::/96. TAYGA also does not allow the mapping of - # documentation space (RFC 5737). To circumvent this, 100.64.0.2/24 from - # RFC 6589 (Carrier Grade NAT) is used here. + # The server is configured with static IPv4 addresses. # To reach the IPv4 address pool of the NAT64 gateway, there is a static # route configured. In normal cases, where the router would also source NAT # the pool addresses to one IPv4 addresses, this would not be needed. @@ -73,7 +69,7 @@ # The router is configured with static IPv4 addresses towards the server # and IPv6 addresses towards the client. DNS64 is exposed towards the # client so clatd is able to auto-discover the PLAT prefix. For NAT64, the - # Well-Known prefix 64:ff9b::/96 is used. NAT64 is done with TAYGA which + # ULA prefix fde7:6c52:047e::/96 is used. NAT64 is done with TAYGA which # provides the tun-interface nat64 and does the translation over it. The # IPv6 packets are sent to this interfaces and received as IPv4 packets and # vice versa. As TAYGA only translates IPv6 addresses to dedicated IPv4 @@ -121,7 +117,7 @@ systemd.network.networks."40-eth2" = { networkConfig.IPv6SendRA = true; ipv6Prefixes = [ { Prefix = "2001:db8::/64"; } ]; - ipv6PREF64Prefixes = [ { Prefix = "64:ff9b::/96"; } ]; + ipv6PREF64Prefixes = [ { Prefix = "fde7:6c52:047e::/96"; } ]; ipv6SendRAConfig = { EmitDNS = true; DNS = "_link_local"; @@ -141,7 +137,7 @@ .:53 { bind :: hosts /etc/hosts - dns64 64:ff9b::/96 + dns64 fde7:6c52:047e::/96 } ''; }; @@ -161,10 +157,10 @@ ipv6 = { address = "2001:db8::1"; router = { - address = "64:ff9b::1"; + address = "fde7:6c52:047e::1"; }; pool = { - address = "64:ff9b::"; + address = "fde7:6c52:047e::"; prefixLength = 96; }; }; @@ -221,7 +217,7 @@ with subtest("networkd exports PREF64 prefix"): assert json.loads(client.succeed("networkctl status eth1 --json=short"))[ "NDisc" - ]["PREF64"][0]["Prefix"] == [0x0, 0x64, 0xFF, 0x9B] + ([0] * 12) + ]["PREF64"][0]["Prefix"] == [0xfd, 0xe7, 0x6c, 0x52, 0x04, 0x7e] + ([0] * 10) with subtest("Test ICMP"): client.wait_until_succeeds("ping -c3 100.64.0.2 >&2") From 7a0d58a094f48fda68506d4b5c91028833b58138 Mon Sep 17 00:00:00 2001 From: Ryan Omasta Date: Fri, 8 May 2026 23:14:46 -0600 Subject: [PATCH 03/69] ddhx: add meta.mainProgram --- pkgs/by-name/dd/ddhx/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/dd/ddhx/package.nix b/pkgs/by-name/dd/ddhx/package.nix index cae4b6a32653..efdeef33c25e 100644 --- a/pkgs/by-name/dd/ddhx/package.nix +++ b/pkgs/by-name/dd/ddhx/package.nix @@ -31,5 +31,6 @@ buildDubPackage (finalAttrs: { license = lib.licenses.mit; maintainers = [ lib.maintainers.ryand56 ]; platforms = lib.platforms.unix; + mainProgram = "ddhx"; }; }) From ec5e8f914cdfdd721020e09578b5ac344bc140cc Mon Sep 17 00:00:00 2001 From: Ryan Omasta Date: Sun, 10 May 2026 04:56:27 -0600 Subject: [PATCH 04/69] maintainers: remove ciil --- maintainers/maintainer-list.nix | 6 ------ pkgs/applications/science/logic/abella/default.nix | 5 +---- pkgs/by-name/gn/gnushogi/package.nix | 2 +- pkgs/by-name/gs/gshogi/package.nix | 2 +- pkgs/by-name/lb/lbreakout2/package.nix | 4 +--- pkgs/by-name/rs/rstudio/package.nix | 5 +---- 6 files changed, 5 insertions(+), 19 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8d804af54824..4ab2cf99f4fe 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5038,12 +5038,6 @@ github = "cigrainger"; githubId = 3984794; }; - ciil = { - email = "simon@lackerbauer.com"; - github = "ciil"; - githubId = 3956062; - name = "Simon Lackerbauer"; - }; cilki = { github = "cilki"; githubId = 10459406; diff --git a/pkgs/applications/science/logic/abella/default.nix b/pkgs/applications/science/logic/abella/default.nix index 9e3592b44445..210211a6b948 100644 --- a/pkgs/applications/science/logic/abella/default.nix +++ b/pkgs/applications/science/logic/abella/default.nix @@ -54,10 +54,7 @@ stdenv.mkDerivation (finalAttrs: { ''; homepage = "https://abella-prover.org"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ - bcdarwin - ciil - ]; + maintainers = [ lib.maintainers.bcdarwin ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/gn/gnushogi/package.nix b/pkgs/by-name/gn/gnushogi/package.nix index 0f9ddb583676..a3e01f9cc128 100644 --- a/pkgs/by-name/gn/gnushogi/package.nix +++ b/pkgs/by-name/gn/gnushogi/package.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "gnushogi"; homepage = "https://www.gnu.org/software/gnushogi/"; license = lib.licenses.gpl3; - maintainers = [ lib.maintainers.ciil ]; + maintainers = [ ]; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/by-name/gs/gshogi/package.nix b/pkgs/by-name/gs/gshogi/package.nix index 797d73a663c3..81c7d0f55490 100644 --- a/pkgs/by-name/gs/gshogi/package.nix +++ b/pkgs/by-name/gs/gshogi/package.nix @@ -51,6 +51,6 @@ python3.pkgs.buildPythonApplication (finalAttrs: { mainProgram = "gshogi"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.ciil ]; + maintainers = [ ]; }; }) diff --git a/pkgs/by-name/lb/lbreakout2/package.nix b/pkgs/by-name/lb/lbreakout2/package.nix index 8e219590d13d..22f4500376a9 100644 --- a/pkgs/by-name/lb/lbreakout2/package.nix +++ b/pkgs/by-name/lb/lbreakout2/package.nix @@ -48,9 +48,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Breakout clone from the LGames series"; license = with lib.licenses; [ gpl2Plus ]; mainProgram = "lbreakout2"; - maintainers = with lib.maintainers; [ - ciil - ]; + maintainers = [ ]; platforms = lib.platforms.unix; hydraPlatforms = lib.platforms.linux; # build hangs on both Darwin platforms, needs investigation }; diff --git a/pkgs/by-name/rs/rstudio/package.nix b/pkgs/by-name/rs/rstudio/package.nix index 58d2d4ebbeda..5deaf278aee4 100644 --- a/pkgs/by-name/rs/rstudio/package.nix +++ b/pkgs/by-name/rs/rstudio/package.nix @@ -367,10 +367,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Set of integrated tools for the R language"; homepage = "https://www.rstudio.com/"; license = lib.licenses.agpl3Only; - maintainers = with lib.maintainers; [ - ciil - tomasajt - ]; + maintainers = [ lib.maintainers.tomasajt ]; mainProgram = "rstudio" + lib.optionalString server "-server"; # rstudio-server on darwin is only partially supported by upstream platforms = lib.platforms.linux ++ lib.optionals (!server) lib.platforms.darwin; From 3b55193837d3a7c817fe873a65ea34f6057d04ee Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 15 May 2026 11:23:18 +0200 Subject: [PATCH 05/69] highlight: backport crash fix Caused my public-inbox-httpd to crash when highlighting a shell script. Link: https://gitlab.com/saalen/highlight/-/work_items/261 --- pkgs/tools/text/highlight/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix index 8ced4e84e293..58275bedc214 100644 --- a/pkgs/tools/text/highlight/default.nix +++ b/pkgs/tools/text/highlight/default.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitLab, + fetchpatch, getopt, lua, boost, @@ -24,6 +25,14 @@ let hash = "sha256-QYW6kj5cp+TVLXwj7kxbgj0kpN0n5qXYU3xZ5UW66vc="; }; + patches = [ + (fetchpatch { + name = "shellscript-crash-fix.patch"; + url = "https://gitlab.com/saalen/highlight/-/commit/2c0e95290fe7ca26185851f38ac205d81e4b7015.patch"; + hash = "sha256-aan2s7wKzBO/QbK+Q+Zq1RiyFORJjEYDcscjCAxMJg8="; + }) + ]; + enableParallelBuilding = true; nativeBuildInputs = [ From 3e74c52276f79d78f4d5c443f753e3f250eb1524 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 16 May 2026 13:05:21 +0200 Subject: [PATCH 06/69] maintainers: drop lnl7 Signed-off-by: Marcin Serwin --- maintainers/maintainer-list.nix | 6 ------ nixos/tests/docker-tools-overlay.nix | 1 - nixos/tests/docker-tools.nix | 1 - nixos/tests/uwsgi.nix | 4 ++-- nixos/tests/vault-dev.nix | 1 - nixos/tests/vault-postgresql.nix | 1 - nixos/tests/vault.nix | 4 ++-- pkgs/applications/networking/znc/default.nix | 3 +-- pkgs/by-name/cm/cmake/package.nix | 1 - pkgs/by-name/cr/crunch/package.nix | 2 +- pkgs/by-name/gr/grpc/package.nix | 2 +- pkgs/by-name/ne/newrelic-sysmond/package.nix | 2 +- pkgs/by-name/pl/plexRaw/package.nix | 1 - pkgs/by-name/py/py-spy/package.nix | 2 +- pkgs/by-name/re/reattach-to-user-namespace/package.nix | 2 +- pkgs/by-name/sh/shairport-sync/package.nix | 1 - pkgs/by-name/sk/skhd/package.nix | 1 - pkgs/by-name/un/undmg/package.nix | 3 +-- pkgs/by-name/va/vault/package.nix | 1 - pkgs/by-name/xh/xhyve/package.nix | 2 +- pkgs/by-name/yc/ycmd/package.nix | 1 - pkgs/development/python-modules/distlib/default.nix | 2 +- pkgs/development/python-modules/mypy-protobuf/default.nix | 2 +- pkgs/development/python-modules/mypy/default.nix | 2 +- pkgs/development/python-modules/mypy/extensions.nix | 2 +- pkgs/development/tools/haskell/vaultenv/default.nix | 3 +-- 26 files changed, 17 insertions(+), 36 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index cb8b35d2f483..bc8d65f1e4df 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15780,12 +15780,6 @@ githubId = 23727619; name = "Luca Ruperto"; }; - lnl7 = { - email = "daiderd@gmail.com"; - github = "LnL7"; - githubId = 689294; - name = "Daiderd Jordan"; - }; lo1tuma = { email = "schreck.mathias@gmail.com"; github = "lo1tuma"; diff --git a/nixos/tests/docker-tools-overlay.nix b/nixos/tests/docker-tools-overlay.nix index 98a72f78e3e1..0dada1d32e5a 100644 --- a/nixos/tests/docker-tools-overlay.nix +++ b/nixos/tests/docker-tools-overlay.nix @@ -4,7 +4,6 @@ name = "docker-tools-overlay"; meta = with pkgs.lib.maintainers; { maintainers = [ - lnl7 roberth ]; }; diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index 637d4f218460..5b7426f8fdbe 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.nix @@ -91,7 +91,6 @@ in name = "docker-tools"; meta = with pkgs.lib.maintainers; { maintainers = [ - lnl7 roberth ]; }; diff --git a/nixos/tests/uwsgi.nix b/nixos/tests/uwsgi.nix index 52b9d6361077..c79f600faced 100644 --- a/nixos/tests/uwsgi.nix +++ b/nixos/tests/uwsgi.nix @@ -1,8 +1,8 @@ { pkgs, ... }: { name = "uwsgi"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 ]; + meta = { + maintainers = [ ]; }; nodes.machine = diff --git a/nixos/tests/vault-dev.nix b/nixos/tests/vault-dev.nix index a70a35b6d736..09b99ad90d7c 100644 --- a/nixos/tests/vault-dev.nix +++ b/nixos/tests/vault-dev.nix @@ -3,7 +3,6 @@ name = "vault-dev"; meta = with pkgs.lib.maintainers; { maintainers = [ - lnl7 mic92 ]; }; diff --git a/nixos/tests/vault-postgresql.nix b/nixos/tests/vault-postgresql.nix index 129e8ccfce89..5753d630545b 100644 --- a/nixos/tests/vault-postgresql.nix +++ b/nixos/tests/vault-postgresql.nix @@ -11,7 +11,6 @@ name = "vault-postgresql"; meta = with pkgs.lib.maintainers; { maintainers = [ - lnl7 roberth ]; }; diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix index 5b60fb9cfa8a..45b3ced11b35 100644 --- a/nixos/tests/vault.nix +++ b/nixos/tests/vault.nix @@ -1,8 +1,8 @@ { pkgs, ... }: { name = "vault"; - meta = with pkgs.lib.maintainers; { - maintainers = [ lnl7 ]; + meta = { + maintainers = [ ]; }; nodes.machine = { pkgs, ... }: diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index 74715c49c1a4..107a530f91d3 100644 --- a/pkgs/applications/networking/znc/default.nix +++ b/pkgs/applications/networking/znc/default.nix @@ -74,8 +74,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Advanced IRC bouncer"; homepage = "https://wiki.znc.in/ZNC"; - maintainers = with lib.maintainers; [ - lnl7 + maintainers = [ ]; license = lib.licenses.asl20; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/cm/cmake/package.nix b/pkgs/by-name/cm/cmake/package.nix index 3f099d56c7f9..0f116ddd80e9 100644 --- a/pkgs/by-name/cm/cmake/package.nix +++ b/pkgs/by-name/cm/cmake/package.nix @@ -207,7 +207,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ ttuegel - lnl7 ]; platforms = lib.platforms.all; mainProgram = "cmake"; diff --git a/pkgs/by-name/cr/crunch/package.nix b/pkgs/by-name/cr/crunch/package.nix index 2cb5fc9fd9fc..067a5e3a6644 100644 --- a/pkgs/by-name/cr/crunch/package.nix +++ b/pkgs/by-name/cr/crunch/package.nix @@ -34,6 +34,6 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://sourceforge.net/projects/crunch-wordlist/"; platforms = lib.platforms.unix; license = with lib.licenses; [ gpl2Only ]; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; }; }) diff --git a/pkgs/by-name/gr/grpc/package.nix b/pkgs/by-name/gr/grpc/package.nix index d326773e9391..fd682d3b0516 100644 --- a/pkgs/by-name/gr/grpc/package.nix +++ b/pkgs/by-name/gr/grpc/package.nix @@ -132,7 +132,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; homepage = "https://grpc.io/"; platforms = lib.platforms.all; changelog = "https://github.com/grpc/grpc/releases/tag/v${finalAttrs.version}"; diff --git a/pkgs/by-name/ne/newrelic-sysmond/package.nix b/pkgs/by-name/ne/newrelic-sysmond/package.nix index 3f1073127349..8a3eee98a1b6 100644 --- a/pkgs/by-name/ne/newrelic-sysmond/package.nix +++ b/pkgs/by-name/ne/newrelic-sysmond/package.nix @@ -26,6 +26,6 @@ stdenv.mkDerivation rec { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; }; } diff --git a/pkgs/by-name/pl/plexRaw/package.nix b/pkgs/by-name/pl/plexRaw/package.nix index 93c892e89266..0a7bc6c985af 100644 --- a/pkgs/by-name/pl/plexRaw/package.nix +++ b/pkgs/by-name/pl/plexRaw/package.nix @@ -95,7 +95,6 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ badmutex forkk - lnl7 pjones thoughtpolice MayNiklas diff --git a/pkgs/by-name/py/py-spy/package.nix b/pkgs/by-name/py/py-spy/package.nix index 559b29e05dae..71cfe88ee9f4 100644 --- a/pkgs/by-name/py/py-spy/package.nix +++ b/pkgs/by-name/py/py-spy/package.nix @@ -43,7 +43,7 @@ rustPlatform.buildRustPackage (finalAttrs: { homepage = "https://github.com/benfred/py-spy"; changelog = "https://github.com/benfred/py-spy/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; platforms = lib.platforms.linux ++ lib.platforms.darwin; # https://github.com/benfred/py-spy/pull/330 broken = stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux; diff --git a/pkgs/by-name/re/reattach-to-user-namespace/package.nix b/pkgs/by-name/re/reattach-to-user-namespace/package.nix index 73068c3fb8ed..a77f696f55ea 100644 --- a/pkgs/by-name/re/reattach-to-user-namespace/package.nix +++ b/pkgs/by-name/re/reattach-to-user-namespace/package.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { meta = { description = "Wrapper that provides access to the Mac OS X pasteboard service"; license = lib.licenses.bsd2; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; platforms = lib.platforms.darwin; }; } diff --git a/pkgs/by-name/sh/shairport-sync/package.nix b/pkgs/by-name/sh/shairport-sync/package.nix index d760a0208aec..43a9753c4b4b 100644 --- a/pkgs/by-name/sh/shairport-sync/package.nix +++ b/pkgs/by-name/sh/shairport-sync/package.nix @@ -153,7 +153,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.mit; mainProgram = "shairport-sync"; maintainers = with lib.maintainers; [ - lnl7 jordanisaacs ]; platforms = lib.platforms.unix; diff --git a/pkgs/by-name/sk/skhd/package.nix b/pkgs/by-name/sk/skhd/package.nix index f487cd126672..e166502a7606 100644 --- a/pkgs/by-name/sk/skhd/package.nix +++ b/pkgs/by-name/sk/skhd/package.nix @@ -38,7 +38,6 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "skhd"; maintainers = with lib.maintainers; [ cmacrae - lnl7 khaneliman ]; platforms = lib.platforms.darwin; diff --git a/pkgs/by-name/un/undmg/package.nix b/pkgs/by-name/un/undmg/package.nix index 4fe687a0f725..4dfea9d61253 100644 --- a/pkgs/by-name/un/undmg/package.nix +++ b/pkgs/by-name/un/undmg/package.nix @@ -41,8 +41,7 @@ stdenv.mkDerivation { homepage = "https://github.com/matthewbauer/undmg"; license = lib.licenses.gpl3; mainProgram = "undmg"; - maintainers = with lib.maintainers; [ - lnl7 + maintainers = [ ]; platforms = lib.platforms.all; }; diff --git a/pkgs/by-name/va/vault/package.nix b/pkgs/by-name/va/vault/package.nix index 44281cdb240a..034215dbe73b 100644 --- a/pkgs/by-name/va/vault/package.nix +++ b/pkgs/by-name/va/vault/package.nix @@ -73,7 +73,6 @@ buildGoModule (finalAttrs: { mainProgram = "vault"; maintainers = with lib.maintainers; [ rushmorem - lnl7 Chili-Man techknowlogick ]; diff --git a/pkgs/by-name/xh/xhyve/package.nix b/pkgs/by-name/xh/xhyve/package.nix index 788ce75f9f47..e7e9bb506de2 100644 --- a/pkgs/by-name/xh/xhyve/package.nix +++ b/pkgs/by-name/xh/xhyve/package.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { meta = { description = "Lightweight Virtualization on macOS Based on bhyve"; homepage = "https://github.com/mist64/xhyve"; - maintainers = [ lib.maintainers.lnl7 ]; + maintainers = [ ]; license = lib.licenses.bsd2; platforms = lib.platforms.darwin; # never built on aarch64-darwin since first introduction in nixpkgs diff --git a/pkgs/by-name/yc/ycmd/package.nix b/pkgs/by-name/yc/ycmd/package.nix index cb6413ab6349..f86aec646a56 100644 --- a/pkgs/by-name/yc/ycmd/package.nix +++ b/pkgs/by-name/yc/ycmd/package.nix @@ -135,7 +135,6 @@ stdenv.mkDerivation { homepage = "https://github.com/ycm-core/ycmd"; license = lib.licenses.gpl3; maintainers = with lib.maintainers; [ - lnl7 mel S0AndS0 ]; diff --git a/pkgs/development/python-modules/distlib/default.nix b/pkgs/development/python-modules/distlib/default.nix index 34867f50c381..736186395556 100644 --- a/pkgs/development/python-modules/distlib/default.nix +++ b/pkgs/development/python-modules/distlib/default.nix @@ -40,6 +40,6 @@ buildPythonPackage rec { description = "Low-level components of distutils2/packaging"; homepage = "https://distlib.readthedocs.io"; license = lib.licenses.psfl; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/mypy-protobuf/default.nix b/pkgs/development/python-modules/mypy-protobuf/default.nix index 98f1e102b2d1..7ece1df6d482 100644 --- a/pkgs/development/python-modules/mypy-protobuf/default.nix +++ b/pkgs/development/python-modules/mypy-protobuf/default.nix @@ -50,6 +50,6 @@ buildPythonPackage (finalAttrs: { homepage = "https://github.com/nipunn1313/mypy-protobuf"; license = lib.licenses.asl20; mainProgram = "protoc-gen-mypy"; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; }; }) diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix index e3cbdc382901..6b50fd0aff28 100644 --- a/pkgs/development/python-modules/mypy/default.nix +++ b/pkgs/development/python-modules/mypy/default.nix @@ -139,6 +139,6 @@ buildPythonPackage rec { downloadPage = "https://github.com/python/mypy"; license = lib.licenses.mit; mainProgram = "mypy"; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/mypy/extensions.nix b/pkgs/development/python-modules/mypy/extensions.nix index bca284a792b3..fc8c85baae80 100644 --- a/pkgs/development/python-modules/mypy/extensions.nix +++ b/pkgs/development/python-modules/mypy/extensions.nix @@ -37,6 +37,6 @@ buildPythonPackage rec { description = "Experimental type system extensions for programs checked with the mypy typechecker"; homepage = "https://www.mypy-lang.org"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ lnl7 ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/tools/haskell/vaultenv/default.nix b/pkgs/development/tools/haskell/vaultenv/default.nix index edfc0afe2f22..16448792c3d4 100644 --- a/pkgs/development/tools/haskell/vaultenv/default.nix +++ b/pkgs/development/tools/haskell/vaultenv/default.nix @@ -86,7 +86,6 @@ mkDerivation rec { homepage = "https://github.com/channable/vaultenv#readme"; description = "Runs processes with secrets from HashiCorp Vault"; license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ - lnl7 + maintainers = [ ]; } From 25295464d69335dacfdd8ef254b46e054230b9b2 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Sat, 16 May 2026 03:10:03 +0200 Subject: [PATCH 07/69] installFonts: set meta.{description,maintainers,license} --- pkgs/top-level/all-packages.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 18311ee012b8..db350b85c334 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -750,6 +750,15 @@ with pkgs; installFonts = makeSetupHook { name = "install-fonts-hook"; + meta = { + description = "Copies standard font extension into their respective installation path"; + maintainers = with lib.maintainers; [ + pancaek + sigmanificient + jopejoe1 + ]; + license = lib.licenses.mit; + }; } ../build-support/setup-hooks/install-fonts.sh; copyPkgconfigItems = makeSetupHook { From 7db17bcc1f74b7e9a17cfcbf5c815ad55dfa47f0 Mon Sep 17 00:00:00 2001 From: Hythera <87016780+Hythera@users.noreply.github.com> Date: Sun, 17 May 2026 12:25:49 +0200 Subject: [PATCH 08/69] maintainers: remove mbbx6spp --- maintainers/maintainer-list.nix | 6 ------ nixos/tests/nginx.nix | 8 +++----- pkgs/by-name/in/inform7/package.nix | 2 +- .../compilers/purescript/purescript/default.nix | 1 - pkgs/os-specific/linux/ply/default.nix | 1 - 5 files changed, 4 insertions(+), 14 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4c7c71418d63..630580c9f1de 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17369,12 +17369,6 @@ githubId = 613740; name = "Martin Baillie"; }; - mbbx6spp = { - email = "me@susanpotter.net"; - github = "mbbx6spp"; - githubId = 564; - name = "Susan Potter"; - }; mbe = { email = "brandonedens@gmail.com"; github = "brandonedens"; diff --git a/nixos/tests/nginx.nix b/nixos/tests/nginx.nix index 821ece83c73e..8797da73a134 100644 --- a/nixos/tests/nginx.nix +++ b/nixos/tests/nginx.nix @@ -4,13 +4,11 @@ # 2. whether the ETag header is properly generated whenever we're serving # files in Nix store paths # 3. nginx doesn't restart on configuration changes (only reloads) -{ pkgs, ... }: +{ ... }: { name = "nginx"; - meta = with pkgs.lib.maintainers; { - maintainers = [ - mbbx6spp - ]; + meta = { + maintainers = [ ]; }; nodes = { diff --git a/pkgs/by-name/in/inform7/package.nix b/pkgs/by-name/in/inform7/package.nix index e31b831faec1..bd536931b852 100644 --- a/pkgs/by-name/in/inform7/package.nix +++ b/pkgs/by-name/in/inform7/package.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation { mainProgram = "i7"; homepage = "http://inform7.com/"; license = lib.licenses.artistic2; - maintainers = with lib.maintainers; [ mbbx6spp ]; + maintainers = [ ]; platforms = lib.platforms.unix; # never built on aarch64-darwin since first introduction in nixpkgs broken = diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix index ed2ce4cf1a27..c3a3d41f63f9 100644 --- a/pkgs/development/compilers/purescript/purescript/default.nix +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -85,7 +85,6 @@ stdenv.mkDerivation rec { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; maintainers = with lib.maintainers; [ justinwoo - mbbx6spp cdepillabout ]; platforms = [ diff --git a/pkgs/os-specific/linux/ply/default.nix b/pkgs/os-specific/linux/ply/default.nix index 9da2d9be9d7b..1959088b3436 100644 --- a/pkgs/os-specific/linux/ply/default.nix +++ b/pkgs/os-specific/linux/ply/default.nix @@ -65,7 +65,6 @@ stdenv.mkDerivation (finalAttrs: { license = [ lib.licenses.gpl2Only ]; maintainers = with lib.maintainers; [ mic92 - mbbx6spp snu ]; platforms = lib.platforms.linux; From 15ee3931529ea5385708b514de21b11a61b24b28 Mon Sep 17 00:00:00 2001 From: Ryan Omasta Date: Sun, 17 May 2026 23:40:37 -0600 Subject: [PATCH 09/69] maintainers: remove dsferruzza --- maintainers/maintainer-list.nix | 6 ------ pkgs/by-name/ve/veracrypt/package.nix | 5 +---- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4fd3e84b498e..36d50ece969d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7370,12 +7370,6 @@ github = "DSeeLP"; githubId = 46624152; }; - dsferruzza = { - email = "david.sferruzza@gmail.com"; - github = "dsferruzza"; - githubId = 1931963; - name = "David Sferruzza"; - }; dsluijk = { name = "Dany Sluijk"; email = "nix@dany.dev"; diff --git a/pkgs/by-name/ve/veracrypt/package.nix b/pkgs/by-name/ve/veracrypt/package.nix index d55219ecf251..dc19606ebea4 100644 --- a/pkgs/by-name/ve/veracrypt/package.nix +++ b/pkgs/by-name/ve/veracrypt/package.nix @@ -74,10 +74,7 @@ stdenv.mkDerivation (finalAttrs: { asl20 # and unfree # TrueCrypt License version 3.0 ]; - maintainers = with lib.maintainers; [ - dsferruzza - ryand56 - ]; + maintainers = [ lib.maintainers.ryand56 ]; platforms = lib.platforms.linux; }; }) From 46f49d39136daa7717c79dfc57521fdd282723b5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 19 May 2026 11:15:21 +0000 Subject: [PATCH 10/69] vuetorrent: 2.33.0 -> 2.34.0 --- pkgs/by-name/vu/vuetorrent/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/vu/vuetorrent/package.nix b/pkgs/by-name/vu/vuetorrent/package.nix index 79e2db2c5f98..c1f3e2349fd7 100644 --- a/pkgs/by-name/vu/vuetorrent/package.nix +++ b/pkgs/by-name/vu/vuetorrent/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "vuetorrent"; - version = "2.33.0"; + version = "2.34.0"; src = fetchFromGitHub { owner = "VueTorrent"; repo = "VueTorrent"; tag = "v${version}"; - hash = "sha256-7jr7spoJBt4YqOgTmIC2bNjygrSlUgF1AuDPzCe+YuU="; + hash = "sha256-Zz7ZFtxT26/4HCkM/HHVyLXxbmDvhTRFaJpiXA08JPY="; }; - npmDepsHash = "sha256-l8b/WazCUKWwxlv+b8OnLLYslhGezdoWIGsRExIsZyU="; + npmDepsHash = "sha256-PxTe/anj3VgdEaSdv37XuBYD8N3gs9wc+idCboX8Bic="; installPhase = '' runHook preInstall From 294b0b3cd92ce749b3bcd73ad3acce8971f6186d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 20 May 2026 08:12:54 +0000 Subject: [PATCH 11/69] mtail: 3.2.50 -> 3.2.51 --- pkgs/by-name/mt/mtail/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mt/mtail/package.nix b/pkgs/by-name/mt/mtail/package.nix index 3d1503472b5e..0f3cef760b97 100644 --- a/pkgs/by-name/mt/mtail/package.nix +++ b/pkgs/by-name/mt/mtail/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "mtail"; - version = "3.2.50"; + version = "3.2.51"; src = fetchFromGitHub { owner = "jaqx0r"; repo = "mtail"; rev = "v${finalAttrs.version}"; - hash = "sha256-RdDZgmnA9wDN7uEUGle85jLFRmgBNBaRGTu+MthCsfw="; + hash = "sha256-0ZgCcKudrKBgjx2653sp5HZCC8G6pgBymtMMmcbD4tg="; }; proxyVendor = true; From b18549bca1d941d5c551366bd40ecee9d0c9db9d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 20 May 2026 13:02:55 +0200 Subject: [PATCH 12/69] python3Packages.twilio: 9.10.5 -> 9.10.9 Diff: https://github.com/twilio/twilio-python/compare/9.10.5...9.10.9 Changelog: https://github.com/twilio/twilio-python/blob/9.10.9/CHANGES.md --- pkgs/development/python-modules/twilio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 3a1ab16d7216..55f883a1e659 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -19,14 +19,14 @@ buildPythonPackage (finalAttrs: { pname = "twilio"; - version = "9.10.5"; + version = "9.10.9"; pyproject = true; src = fetchFromGitHub { owner = "twilio"; repo = "twilio-python"; tag = finalAttrs.version; - hash = "sha256-WLgx8kAHfLf7BHhu4A7b4gI3pB7WODb/CPV1qw7oNXM="; + hash = "sha256-CQWP8QujDvV5+Z5JDUcWhQ4mJZqaXnxpScS9sBxIX4Q="; }; build-system = [ setuptools ]; From c5f1d81ef53e0b4c5195d9ee8166ced627d072d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mladen=20Brankovi=C4=87?= Date: Thu, 21 May 2026 00:17:34 +0200 Subject: [PATCH 13/69] hyperglot: 0.7.3 -> 0.8.1 --- .../python-modules/hyperglot/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/hyperglot/default.nix b/pkgs/development/python-modules/hyperglot/default.nix index 1722f06a28ce..549eaacf324b 100644 --- a/pkgs/development/python-modules/hyperglot/default.nix +++ b/pkgs/development/python-modules/hyperglot/default.nix @@ -1,23 +1,27 @@ { lib, nix-update-script, - fetchPypi, + fetchFromGitHub, buildPythonApplication, setuptools, + pytestCheckHook, click, fonttools, uharfbuzz, pyyaml, colorlog, + packaging, }: buildPythonApplication rec { pname = "hyperglot"; - version = "0.7.3"; + version = "0.8.1"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-Pd9Yxmv9a1T2xV03q2U1m1laHE3WifHwmnGBfTTCSxM="; + src = fetchFromGitHub { + owner = "rosettatype"; + repo = "hyperglot"; + tag = version; + hash = "sha256-fiiDYggMBwd7nTHeQLWnSc3BNDyU+JUgAIk8pHLntUY="; }; dependencies = [ @@ -26,10 +30,12 @@ buildPythonApplication rec { uharfbuzz pyyaml colorlog + packaging ]; build-system = [ setuptools ]; + nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "hyperglot" ]; passthru.updateScript = nix-update-script { }; @@ -38,7 +44,7 @@ buildPythonApplication rec { description = "Database and tools for detecting language support in fonts"; homepage = "https://hyperglot.rosettatype.com"; changelog = "https://github.com/rosettatype/hyperglot/blob/${version}/CHANGELOG.md"; - license = lib.licenses.gpl3Only; + license = lib.licenses.asl20; maintainers = with lib.maintainers; [ imatpot ]; mainProgram = "hyperglot"; }; From 8cce3899816ed8a6bd833c98f7fdb9335822a72a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 21 May 2026 18:13:21 +0000 Subject: [PATCH 14/69] python3Packages.uuid-utils: 0.14.1 -> 0.16.0 --- pkgs/development/python-modules/uuid-utils/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/uuid-utils/default.nix b/pkgs/development/python-modules/uuid-utils/default.nix index ccb143283ee9..c999d0cd959e 100644 --- a/pkgs/development/python-modules/uuid-utils/default.nix +++ b/pkgs/development/python-modules/uuid-utils/default.nix @@ -9,19 +9,19 @@ buildPythonPackage rec { pname = "uuid-utils"; - version = "0.14.1"; + version = "0.16.0"; pyproject = true; src = fetchFromGitHub { owner = "aminalaee"; repo = "uuid-utils"; tag = version; - hash = "sha256-AcHb/wGrucsGPHEuX8TkBDqDEUrCPhXKz/YTCVu/m4I="; + hash = "sha256-vHezizqhVS6vHowX7231ZJtmEDOp8PG4KtJgSwevqWM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname src version; - hash = "sha256-Zbtu8DbQo+8/8Kt0SJmXsOU0pRLihIOV0O7QjbR8AHU="; + hash = "sha256-MG2IonqvB+G8Vz+fHls/F8sUEGhXO2nA4a027yhfrCk="; }; nativeBuildInputs = with rustPlatform; [ From b2c4b23bcec610c09e88b85ca0800ed8b479350f Mon Sep 17 00:00:00 2001 From: eljamm Date: Tue, 12 May 2026 09:49:51 +0200 Subject: [PATCH 15/69] vg: init at 1.74.1 --- ...rerequisite-for-making-sure-dirs-exi.patch | 68 ++++++ pkgs/by-name/vg/vg/package.nix | 208 ++++++++++++++++++ 2 files changed, 276 insertions(+) create mode 100644 pkgs/by-name/vg/vg/0001-Use-order-only-prerequisite-for-making-sure-dirs-exi.patch create mode 100644 pkgs/by-name/vg/vg/package.nix diff --git a/pkgs/by-name/vg/vg/0001-Use-order-only-prerequisite-for-making-sure-dirs-exi.patch b/pkgs/by-name/vg/vg/0001-Use-order-only-prerequisite-for-making-sure-dirs-exi.patch new file mode 100644 index 000000000000..6ab121dadf68 --- /dev/null +++ b/pkgs/by-name/vg/vg/0001-Use-order-only-prerequisite-for-making-sure-dirs-exi.patch @@ -0,0 +1,68 @@ +From 27023ebb5e5b0fef98682c179889c3a9a799d2ae Mon Sep 17 00:00:00 2001 +From: eljamm +Date: Tue, 12 May 2026 18:02:52 +0200 +Subject: [PATCH] Use order-only prerequisite for making sure dirs exist + +instead of using `.pre-build` with `-include`, which could cause a +failure if targets start executing before it finishes. +--- + Makefile | 23 ++++++++++++----------- + 1 file changed, 12 insertions(+), 11 deletions(-) + +diff --git a/Makefile b/Makefile +index 4436f14..8e66c66 100644 +--- a/Makefile ++++ b/Makefile +@@ -47,20 +47,21 @@ test: all $(BIN_DIR)/test_libbdsg + docs: + cd $(DOC_DIR) && $(MAKE) html + +-.pre-build: +- @if [ ! -d $(LIB_DIR) ]; then mkdir -p $(LIB_DIR); fi +- @if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi +- @if [ ! -d $(BIN_DIR) ]; then mkdir -p $(BIN_DIR); fi +- +-# run .pre-build before we make anything at all. +--include .pre-build +- + # Make sure to pull in dependency files + include $(wildcard $(OBJ_DIR)/*.d) + + # Use a fake rule to build .d files, so we don't complain if they don't exist. + $(OBJ_DIR)/%.d: ; + ++$(OBJ_DIR): ++ mkdir -p $(OBJ_DIR) ++ ++$(LIB_DIR): ++ mkdir -p $(LIB_DIR) ++ ++$(BIN_DIR): ++ mkdir -p $(BIN_DIR) ++ + # Don't delete them. + .PRECIOUS: $(OBJ_DIR)/%.d + +@@ -69,16 +70,16 @@ $(OBJ_DIR)/%.d: ; + # Make sure to touch the .o file after the compiler finishes so it is always newer than the .d file + # Use static pattern rules so the dependency files will not be ignored if the output exists + # See +-$(OBJS): $(OBJ_DIR)/%.o : $(SRC_DIR)/%.cpp $(OBJ_DIR)/%.d ++$(OBJS): $(OBJ_DIR)/%.o : $(SRC_DIR)/%.cpp $(OBJ_DIR)/%.d | $(OBJ_DIR) + $(CXX) $(LDFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ + @touch $@ + + +-$(LIB_DIR)/libbdsg.a: $(OBJS) ++$(LIB_DIR)/libbdsg.a: $(OBJS) | $(LIB_DIR) + rm -f $@ + ar rs $@ $(OBJS) + +-$(BIN_DIR)/test_libbdsg: $(LIB_DIR)/libbdsg.a $(SRC_DIR)/test_libbdsg.cpp ++$(BIN_DIR)/test_libbdsg: $(LIB_DIR)/libbdsg.a $(SRC_DIR)/test_libbdsg.cpp | $(BIN_DIR) + mkdir -p $(BIN_DIR) + $(CXX) $(LDFLAGS) $(CPPFLAGS) $(CXXFLAGS) -L $(LIB_DIR) $(SRC_DIR)/test_libbdsg.cpp -o $(BIN_DIR)/test_libbdsg $(LIB_FLAGS) + chmod +x $(BIN_DIR)/test_libbdsg +-- +2.51.2 + diff --git a/pkgs/by-name/vg/vg/package.nix b/pkgs/by-name/vg/vg/package.nix new file mode 100644 index 000000000000..816af95965f1 --- /dev/null +++ b/pkgs/by-name/vg/vg/package.nix @@ -0,0 +1,208 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + runCommand, + + # build-time + autoconf, + automake, + bison, + cmake, + flex, + gettext, + hostname, + libtool, + perl, + pkg-config, + python3, + util-linux, + which, + whoami, + + # run-time + boost, + bzip2, + cairo, + curl, + expat, + jansson, + libxdmcp, + ncurses, + openssl, + protobuf, + xz, + zlib, + zstd, + + # test + graphviz, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "vg"; + version = "1.74.1"; + + src = fetchFromGitHub { + owner = "vgteam"; + repo = "vg"; + tag = "v${finalAttrs.version}"; + hash = "sha256-CY4nUtVetdmoex/sRnoncEbvuQloV0WMZXtQpPksO1s="; + fetchSubmodules = true; + }; + + postPatch = '' + substituteInPlace \ + Makefile \ + --replace-fail "/bin/bash" "${stdenv.shell}" \ + --replace-fail "\$(shell arch)" "${stdenv.hostPlatform.uname.processor}" \ + --replace-fail "vg_git_version.hpp]" "vg_git_version.hpp ]" + + substituteInPlace \ + deps/libbdsg/bdsg/deps/pybind11/tests/CMakeLists.txt \ + deps/vcflib/CMakeLists.txt \ + --replace-fail \ + "find_package(pybind11 " \ + "set(PYBIND11_FINDPYTHON ON) + find_package(pybind11 " + + patchShebangs ./ + patchShebangs deps/ + + patch -p1 -d deps/libbdsg -i ${./0001-Use-order-only-prerequisite-for-making-sure-dirs-exi.patch} + + pushd deps/htslib + PACKAGE_VERSION=$(./version.sh) + echo '#define HTSCODECS_VERSION_TEXT "$PACKAGE_VERSION"' > ./htscodecs/htscodecs/version.h + popd + ''; + + dontUseCmake = true; # cmake needed for deps, but not main package + dontConfigure = true; + enableParallelBuilding = true; + + __structuredAttrs = true; + strictDeps = true; + + nativeBuildInputs = [ + autoconf + automake + bison + cmake + finalAttrs.passthru.customPython + flex + gettext + hostname + libtool + perl + pkg-config + which + whoami + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + util-linux # rev, and possibly others + ]; + + buildInputs = [ + boost + bzip2 + cairo + curl + expat + jansson + ncurses + openssl + protobuf + xz + zlib + zstd + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libxdmcp + ]; + + passthru.customPython = python3.withPackages ( + ps: with ps; [ + pybind11 + ] + ); + + # needed, else build fails + env.VG_GIT_VERSION = finalAttrs.src.tag; + + # deps/elfutils + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=stringop-overflow" + "-Wno-error=unterminated-string-initialization" + ]; + + makeFlags = [ + # don't build statically + "START_STATIC=" + "END_STATIC=" + ]; + + preBuild = '' + # Install directories may not exist when parallel builds complete their + # output steps, so we create them here to prevent build failures. + mkdir -p lib include obj/{pic/algorithms,algorithms,config,io,subcommand,unittest/support} + ''; + + # no install target + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,lib} + + cp bin/* $out/bin/ + cp -R lib/lib{handlegraph,vgio,hts,deflate}.so* $out/lib/ + + runHook postInstall + ''; + + fixupPhase = '' + runHook preFixup + + for bin in $out/bin/* ; do + patchelf --allowed-rpath-prefixes /nix/store --shrink-rpath $bin + patchelf --set-rpath "$out/lib:$(patchelf --print-rpath $bin)" $bin + done + + # remove debugging symbols that make the binary bloated in size + strip -d $out/bin/vg + + runHook postFixup + ''; + + passthru = { + updateScript = nix-update-script { }; + tests = runCommand "test-vg-basic" { } '' + HOME=$(mktemp -d) # fontconfig cache + + cp -R ${finalAttrs.src}/test . + + # build graph + ${finalAttrs.finalPackage}/bin/vg construct \ + -r test/tiny/tiny.fa \ + -v test/tiny/tiny.vcf.gz \ + >x.vg + + # convert graph to image + ${finalAttrs.finalPackage}/bin/vg view -d x.vg >x.dot + ${graphviz}/bin/dot -Tpng x.dot -o $out + ''; + }; + + meta = { + description = "Tools for working with genome variation graphs"; + homepage = "https://github.com/vgteam/vg"; + changelog = "https://github.com/vgteam/vg/releases/tag/${finalAttrs.src.tag}"; + mainProgram = "vg"; + license = lib.licenses.mit; + # TODO: build on darwin + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + }; +}) From 0a3aaad7438d00ab907f3c0e83ee50565fab8097 Mon Sep 17 00:00:00 2001 From: gquetel Date: Sun, 10 May 2026 22:34:07 +0200 Subject: [PATCH 16/69] python3Packages.mlflow: build from PyPI wheel, fix server subprocess --- .../python-modules/mlflow/default.nix | 39 +++++++++++-------- .../mlflow/subprocess-pythonpath.patch | 14 +++++++ 2 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/python-modules/mlflow/subprocess-pythonpath.patch diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix index 8f3d77ca8b50..6804cae7e86a 100644 --- a/pkgs/development/python-modules/mlflow/default.nix +++ b/pkgs/development/python-modules/mlflow/default.nix @@ -1,10 +1,7 @@ { lib, buildPythonPackage, - fetchFromGitHub, - - # build-system - setuptools, + fetchPypi, # dependencies aiohttp, @@ -31,26 +28,32 @@ buildPythonPackage (finalAttrs: { pname = "mlflow"; version = "3.12.0"; - pyproject = true; + format = "wheel"; __structuredAttrs = true; - src = fetchFromGitHub { - owner = "mlflow"; - repo = "mlflow"; - tag = "v${finalAttrs.version}"; - hash = "sha256-OxhM+KCem0sb9cwtyzrUD/MGfoiiCfgU47qipYRDaFk="; + # We build from the PyPI wheel rather than fetchFromGitHub, because the mlflow-server + # JS UI is absent from GitHub but provided in the wheel. + src = fetchPypi { + pname = "mlflow"; + inherit (finalAttrs) version; + format = "wheel"; + dist = "py3"; + python = "py3"; + hash = "sha256-4cKO1MSFV8xSx2bxfxylgmdT3fJB1D8w+ZxF9+prPOA="; }; - # ppyproject.release.toml is the one shipped in the Pypi package, so we use it too. - postPatch = '' - mv pyproject.release.toml pyproject.toml + # Nix-wrapped python populates sys.path via NIX_PYTHONPATH/site hooks, + # but PYTHONPATH stays unset in os.environ. mlflow spawns the server + # in a subprocess with a curated env, so without this patch the child + # interpreter cannot import uvicorn / mlflow itself. + postInstall = '' + patch -p1 -d "$out/lib/python"*/site-packages < ${./subprocess-pythonpath.patch} ''; - build-system = [ setuptools ]; - pythonRelaxDeps = [ "cryptography" ]; + dependencies = [ aiohttp alembic @@ -85,8 +88,12 @@ buildPythonPackage (finalAttrs: { description = "Open source platform for the machine learning lifecycle"; mainProgram = "mlflow"; homepage = "https://github.com/mlflow/mlflow"; - changelog = "https://github.com/mlflow/mlflow/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + changelog = "https://github.com/mlflow/mlflow/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; + # Build from wheel which contains pure Python and pre-built JS bundle. + sourceProvenance = with lib.sourceTypes; [ + binaryBytecode + ]; maintainers = with lib.maintainers; [ GaetanLepage ]; diff --git a/pkgs/development/python-modules/mlflow/subprocess-pythonpath.patch b/pkgs/development/python-modules/mlflow/subprocess-pythonpath.patch new file mode 100644 index 000000000000..9e97218fdf92 --- /dev/null +++ b/pkgs/development/python-modules/mlflow/subprocess-pythonpath.patch @@ -0,0 +1,14 @@ +--- a/mlflow/server/__init__.py ++++ b/mlflow/server/__init__.py +@@ -471,6 +471,11 @@ + else tempfile.mkdtemp() + ) ++ # In Nix-packaged environments sys.path is populated by wrappers but ++ # PYTHONPATH is never set in os.environ, so subprocesses (uvicorn, ++ # gunicorn) cannot find packages. Propagate it when not already set. ++ if "PYTHONPATH" not in os.environ: ++ env_map.setdefault("PYTHONPATH", os.pathsep.join(p for p in sys.path if p)) + + server_proc = _exec_cmd( + full_command, + extra_env=env_map, From f19dc29153e60ae94a2338ad4a13a314fcd8329c Mon Sep 17 00:00:00 2001 From: gquetel Date: Mon, 11 May 2026 17:06:44 +0200 Subject: [PATCH 17/69] mlflow-server: drop broken gunicorn shim --- pkgs/by-name/ml/mlflow-server/package.nix | 39 ++++------------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/pkgs/by-name/ml/mlflow-server/package.nix b/pkgs/by-name/ml/mlflow-server/package.nix index 8155f9b5c0c5..5f9a71fdf047 100644 --- a/pkgs/by-name/ml/mlflow-server/package.nix +++ b/pkgs/by-name/ml/mlflow-server/package.nix @@ -1,37 +1,10 @@ -{ python3Packages, writers }: +{ python3Packages }: -let - py = python3Packages; - - gunicornScript = writers.writePython3 "gunicornMlflow" { } '' - import re - import sys - from gunicorn.app.wsgiapp import run - if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', ''', sys.argv[0]) - sys.exit(run()) - ''; -in -py.toPythonApplication ( - py.mlflow.overridePythonAttrs (old: { - - propagatedBuildInputs = old.dependencies ++ [ - py.boto3 - py.mysqlclient +python3Packages.toPythonApplication ( + python3Packages.mlflow.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ + python3Packages.boto3 + python3Packages.mysqlclient ]; - - postPatch = (old.postPatch or "") + '' - cat mlflow/utils/process.py - - substituteInPlace mlflow/utils/process.py --replace-fail \ - "process = subprocess.Popen(" \ - "cmd[0]='${gunicornScript}'; process = subprocess.Popen(" - ''; - - postInstall = '' - gpath=$out/bin/gunicornMlflow - cp ${gunicornScript} $gpath - chmod 555 $gpath - ''; }) ) From 5fb68dfd6aef0825065c14dae561124c87eae2ec Mon Sep 17 00:00:00 2001 From: gquetel Date: Tue, 19 May 2026 16:11:35 +0200 Subject: [PATCH 18/69] python3Packages.mlflow-{skinny,tracing}: move to PyPI wheel build --- .../python-modules/mlflow-skinny/default.nix | 12 ++++++++++- .../python-modules/mlflow-tracing/default.nix | 20 +++++++++++-------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/mlflow-skinny/default.nix b/pkgs/development/python-modules/mlflow-skinny/default.nix index 7683c7c045fb..9f5a818c7a82 100644 --- a/pkgs/development/python-modules/mlflow-skinny/default.nix +++ b/pkgs/development/python-modules/mlflow-skinny/default.nix @@ -1,5 +1,7 @@ { + lib, buildPythonPackage, + fetchFromGitHub, mlflow, # build-system @@ -30,10 +32,17 @@ buildPythonPackage (finalAttrs: { pname = "mlflow-skinny"; - inherit (mlflow) version src; + inherit (mlflow) version; pyproject = true; __structuredAttrs = true; + src = fetchFromGitHub { + owner = "mlflow"; + repo = "mlflow"; + rev = "v${finalAttrs.version}"; + hash = "sha256-OxhM+KCem0sb9cwtyzrUD/MGfoiiCfgU47qipYRDaFk="; + }; + sourceRoot = "${finalAttrs.src.name}/libs/skinny"; build-system = [ setuptools ]; @@ -69,5 +78,6 @@ buildPythonPackage (finalAttrs: { meta = mlflow.meta // { description = "Lightweight version of MLflow that is designed to minimize package size"; homepage = "https://github.com/mlflow/mlflow/tree/master/libs/skinny"; + sourceProvenance = with lib.sourceTypes; [ fromSource ]; }; }) diff --git a/pkgs/development/python-modules/mlflow-tracing/default.nix b/pkgs/development/python-modules/mlflow-tracing/default.nix index ca76c7112bad..9f78d2dcaa32 100644 --- a/pkgs/development/python-modules/mlflow-tracing/default.nix +++ b/pkgs/development/python-modules/mlflow-tracing/default.nix @@ -1,6 +1,7 @@ { lib, buildPythonPackage, + fetchFromGitHub, mlflow, # build-system @@ -15,9 +16,6 @@ packaging, protobuf, pydantic, - - # tests - pytestCheckHook, }: buildPythonPackage (finalAttrs: { pname = "mlflow-tracing"; @@ -25,13 +23,16 @@ buildPythonPackage (finalAttrs: { pyproject = true; __structuredAttrs = true; - inherit (mlflow) src; + src = fetchFromGitHub { + owner = "mlflow"; + repo = "mlflow"; + rev = "v${finalAttrs.version}"; + hash = "sha256-OxhM+KCem0sb9cwtyzrUD/MGfoiiCfgU47qipYRDaFk="; + }; sourceRoot = "${finalAttrs.src.name}/libs/tracing"; - build-system = [ - setuptools - ]; + build-system = [ setuptools ]; dependencies = [ cachetools @@ -53,6 +54,9 @@ buildPythonPackage (finalAttrs: { description = "Open-Source SDK for observability and monitoring GenAI applications"; homepage = "https://github.com/mlflow/mlflow/tree/master/libs/tracing"; inherit (mlflow.meta) license; - maintainers = with lib.maintainers; [ GaetanLepage ]; + maintainers = with lib.maintainers; [ + GaetanLepage + gquetel + ]; }; }) From 95b95bf7b9ac134dda195f143fefeb60e23d7ee6 Mon Sep 17 00:00:00 2001 From: gquetel Date: Tue, 19 May 2026 16:18:14 +0200 Subject: [PATCH 19/69] maintainers: add gquetel --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e37ff00cb911..3db521f6fd07 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10136,6 +10136,12 @@ githubId = 6893840; name = "Yacine Hmito"; }; + gquetel = { + email = "gregor.quetel@telecom-paris.fr"; + github = "gquetel"; + githubId = 48437427; + name = "Grégor Quetel"; + }; gracicot = { email = "dev@gracicot.com"; matrix = "@gracicot-59e8f173d73408ce4f7ac803:gitter.im"; From cb52e5fc59df44845f9620eed9aed8fc2c8e0ced Mon Sep 17 00:00:00 2001 From: gquetel Date: Tue, 19 May 2026 16:20:36 +0200 Subject: [PATCH 20/69] python3Packages.mlflow: add gquetel to maintainers --- pkgs/development/python-modules/mlflow/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix index 6804cae7e86a..65baefc85c0f 100644 --- a/pkgs/development/python-modules/mlflow/default.nix +++ b/pkgs/development/python-modules/mlflow/default.nix @@ -96,6 +96,7 @@ buildPythonPackage (finalAttrs: { ]; maintainers = with lib.maintainers; [ GaetanLepage + gquetel ]; }; }) From e21bc831c20a27c77d363d41765845ec3db643a2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 22 May 2026 15:58:16 +0000 Subject: [PATCH 21/69] sev-snp-measure: 0.0.12 -> 0.0.13 --- pkgs/development/python-modules/sev-snp-measure/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sev-snp-measure/default.nix b/pkgs/development/python-modules/sev-snp-measure/default.nix index 360ae863accc..9154d2d49eca 100644 --- a/pkgs/development/python-modules/sev-snp-measure/default.nix +++ b/pkgs/development/python-modules/sev-snp-measure/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "sev-snp-measure"; - version = "0.0.12"; + version = "0.0.13"; pyproject = true; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "virtee"; repo = "sev-snp-measure"; tag = "v${version}"; - hash = "sha256-UcXU6rNjcRN1T+iWUNrqeJCkSa02WU1/pBwLqHVPRyw="; + hash = "sha256-euAmKIdLJiA+iRlsPJCxPuquE9eznwd937LVWO4DKpc="; }; nativeBuildInputs = [ From addd7bcf23d812b6c29eb7567ef866f119407908 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 22 May 2026 17:30:22 +0000 Subject: [PATCH 22/69] v2ray-domain-list-community: 20260514020130 -> 20260522120028 --- pkgs/by-name/v2/v2ray-domain-list-community/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix index b8e32fd4d139..25f8a62a0eb7 100644 --- a/pkgs/by-name/v2/v2ray-domain-list-community/package.nix +++ b/pkgs/by-name/v2/v2ray-domain-list-community/package.nix @@ -9,12 +9,12 @@ let generator = pkgsBuildBuild.buildGoModule rec { pname = "v2ray-domain-list-community"; - version = "20260514020130"; + version = "20260522120028"; src = fetchFromGitHub { owner = "v2fly"; repo = "domain-list-community"; rev = version; - hash = "sha256-OlR+lo2Xh3p/30RU7+ok3JWhYsB9FkGzXGIhccECeSk="; + hash = "sha256-+w+waGLxlkrp42Cy0WJoawcUpBuXbssD5/lokJhUJyw="; }; vendorHash = "sha256-9tXv+rDBowxDN9gH4zHCr4TRbic4kijco3Y6bojJKRk="; meta = { From 1be44dd38889ff705531203bffd30153be5806cc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 23 May 2026 02:49:32 +0000 Subject: [PATCH 23/69] versatiles: 4.1.0 -> 4.1.2 --- pkgs/by-name/ve/versatiles/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ve/versatiles/package.nix b/pkgs/by-name/ve/versatiles/package.nix index 34519c00bb94..bddbb7144cdc 100644 --- a/pkgs/by-name/ve/versatiles/package.nix +++ b/pkgs/by-name/ve/versatiles/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "versatiles"; - version = "4.1.0"; + version = "4.1.2"; src = fetchFromGitHub { owner = "versatiles-org"; repo = "versatiles-rs"; tag = "v${finalAttrs.version}"; - hash = "sha256-U83jh74h1GKb6JKO62mDfDa8monknUqQ33oXlC6E6Q0="; + hash = "sha256-kWUosTubAD/qk6xEGKUiLrw4mrAaOwwuQ3r+UeLsEJU="; }; - cargoHash = "sha256-yD4oBrk8GaI9E7Lq1Z45yqFTpRnLgNXq6CyzzV7Z/0Q="; + cargoHash = "sha256-rTVk8c00b94x6wEIDLvwadCQ/DXSFOPWcKYFSI9YI64="; nativeBuildInputs = [ pkg-config From 0b34b8ed2628e3f24364dcc1b24c51262bce12d1 Mon Sep 17 00:00:00 2001 From: Thomas Butter Date: Thu, 21 May 2026 20:51:11 +0000 Subject: [PATCH 24/69] git-branchless: 0.10.0 -> 0.11.0 --- .../fix-esl01-indexedlog-for-rust-1_89.patch | 18 ----------------- pkgs/by-name/gi/git-branchless/package.nix | 20 +++---------------- 2 files changed, 3 insertions(+), 35 deletions(-) delete mode 100644 pkgs/by-name/gi/git-branchless/fix-esl01-indexedlog-for-rust-1_89.patch diff --git a/pkgs/by-name/gi/git-branchless/fix-esl01-indexedlog-for-rust-1_89.patch b/pkgs/by-name/gi/git-branchless/fix-esl01-indexedlog-for-rust-1_89.patch deleted file mode 100644 index c5b03dc82d3d..000000000000 --- a/pkgs/by-name/gi/git-branchless/fix-esl01-indexedlog-for-rust-1_89.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/lock.rs b/src/lock.rs ---- a/src/lock.rs -+++ b/src/lock.rs -@@ -132,10 +132,10 @@ impl ScopedDirLock { - - // Lock - match (opts.exclusive, opts.non_blocking) { -- (true, false) => file.lock_exclusive(), -- (true, true) => file.try_lock_exclusive(), -- (false, false) => file.lock_shared(), -- (false, true) => file.try_lock_shared(), -+ (true, false) => fs2::FileExt::lock_exclusive(&file), -+ (true, true) => fs2::FileExt::try_lock_exclusive(&file), -+ (false, false) => fs2::FileExt::lock_shared(&file), -+ (false, true) => fs2::FileExt::try_lock_shared(&file), - } - .context(&path, || { - format!( diff --git a/pkgs/by-name/gi/git-branchless/package.nix b/pkgs/by-name/gi/git-branchless/package.nix index eb7dacea305e..2dda6ddcc832 100644 --- a/pkgs/by-name/gi/git-branchless/package.nix +++ b/pkgs/by-name/gi/git-branchless/package.nix @@ -13,30 +13,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "git-branchless"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "arxanas"; repo = "git-branchless"; rev = "v${finalAttrs.version}"; - hash = "sha256-8uv+sZRr06K42hmxgjrKk6FDEngUhN/9epixRYKwE3U="; + hash = "sha256-mxZLS39/QNDSR3RZsG17Sd+ses3IEqtbqIMASxOpzmo="; }; - # Patch the vendored esl01-indexedlog crate. - # This is necessary to fix the build for rust 1.89. See: - # - https://github.com/NixOS/nixpkgs/issues/437051 - # - https://github.com/arxanas/git-branchless/issues/1585 - # - https://github.com/facebook/sapling/issues/1119 - # The patch is derived from: - # - https://github.com/facebook/sapling/commit/9e27acb84605079bf4e305afb637a4d6801831ac - postPatch = '' - ( - cd $cargoDepsCopy/*/esl01-indexedlog-*/ - patch -p1 < ${./fix-esl01-indexedlog-for-rust-1_89.patch} - ) - ''; - - cargoHash = "sha256-i7KpTd4fX3PrhDjj3R9u98rdI0uHkpQCxSmEF+Gu7yk="; + cargoHash = "sha256-bAZ0M3/RD3L+x0Xb+n6XPn0wRj+bQkoOmErSDuOHIRw="; nativeBuildInputs = [ pkg-config ]; From 4ae5f1586af13918c959646fede1a5e7234735e2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 23 May 2026 11:30:07 +0000 Subject: [PATCH 25/69] lint-staged: 17.0.4 -> 17.0.5 --- pkgs/by-name/li/lint-staged/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/lint-staged/package.nix b/pkgs/by-name/li/lint-staged/package.nix index 0ef2d8a853b1..495ecff0c54e 100644 --- a/pkgs/by-name/li/lint-staged/package.nix +++ b/pkgs/by-name/li/lint-staged/package.nix @@ -8,16 +8,16 @@ buildNpmPackage rec { pname = "lint-staged"; - version = "17.0.4"; + version = "17.0.5"; src = fetchFromGitHub { owner = "okonet"; repo = "lint-staged"; rev = "v${version}"; - hash = "sha256-E0qShnB3zVz7oL+qPzPzLhEJ9PQDlMc4+L4vpD2enI8="; + hash = "sha256-W9OW4ylRhgeUq7AlJlSkfN0IKv8Us6IEhmfE08UXzH8="; }; - npmDepsHash = "sha256-KYltk2z/1nTnaLroTErIu6eTyofvWp/wC1awEf0Ryg0="; + npmDepsHash = "sha256-ifz75kaLfDq42cdnN7eel/HtG6Fmr+1BFbD0b1vcjCA="; dontNpmBuild = true; From 39c9142f837a4393ec8954fd4a0a0d5fb0da08b5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 23 May 2026 12:00:07 +0000 Subject: [PATCH 26/69] kimai: 2.56.0 -> 2.57.0 --- pkgs/by-name/ki/kimai/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ki/kimai/package.nix b/pkgs/by-name/ki/kimai/package.nix index 3bdeb4c32106..7ea0e7599521 100644 --- a/pkgs/by-name/ki/kimai/package.nix +++ b/pkgs/by-name/ki/kimai/package.nix @@ -7,13 +7,13 @@ php.buildComposerProject2 (finalAttrs: { pname = "kimai"; - version = "2.56.0"; + version = "2.57.0"; src = fetchFromGitHub { owner = "kimai"; repo = "kimai"; tag = finalAttrs.version; - hash = "sha256-rax67E/Zr50ejSAjA4Aa1NDsAbJYuAAE4k8hji5UhOg="; + hash = "sha256-WbZivDI5xU/pM52yFvG6vMK3LaCjbLoJGNFP3Exb8qc="; }; php = php.buildEnv { @@ -38,7 +38,7 @@ php.buildComposerProject2 (finalAttrs: { ''; }; - vendorHash = "sha256-XHicbYXOfCPFIMKrhyBpchd89anj6kG1/7prpER7aCo="; + vendorHash = "sha256-6WthU0w8V69sDlBjtz2MIavkmyYXWQ+5NflZLGQCLJs="; composerNoPlugins = false; postInstall = '' From 87b5d2857fa4e2ed9cb88675842901da443544b2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 23 May 2026 14:26:21 +0000 Subject: [PATCH 27/69] cargo-dist: 0.31.0 -> 0.32.0 --- pkgs/by-name/ca/cargo-dist/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-dist/package.nix b/pkgs/by-name/ca/cargo-dist/package.nix index 7aefed0d936d..2637886978de 100644 --- a/pkgs/by-name/ca/cargo-dist/package.nix +++ b/pkgs/by-name/ca/cargo-dist/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-dist"; - version = "0.31.0"; + version = "0.32.0"; src = fetchFromGitHub { owner = "axodotdev"; repo = "cargo-dist"; tag = "v${finalAttrs.version}"; - hash = "sha256-BSE3pXo7Kk104v7VEh5WUk+Km1/n/kNf8NJGVGjUKoc="; + hash = "sha256-WNbo3sm5tSNYQMLB4bjiNtLwp5pD4KAoyG2lwWYEpzk="; }; - cargoHash = "sha256-bfX2Yt0wrPg1pbvYdr2O9VUqYlCFVRh4PIABWxZTgjg="; + cargoHash = "sha256-gzaDAGAjWDcJyoES0foFOyhTP4HDsaQHrrwCQmAzXZA="; nativeBuildInputs = [ pkg-config From 0fd92a5150ad32facdb6f58cfb89a2299401d064 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 May 2026 05:56:32 +0000 Subject: [PATCH 28/69] polarity: latest-unstable-2026-04-28 -> 0-unstable-2026-05-20 --- pkgs/by-name/po/polarity/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/po/polarity/package.nix b/pkgs/by-name/po/polarity/package.nix index 813a847c9ece..5537b7523aef 100644 --- a/pkgs/by-name/po/polarity/package.nix +++ b/pkgs/by-name/po/polarity/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "polarity"; - version = "latest-unstable-2026-04-28"; + version = "0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "polarity-lang"; repo = "polarity"; - rev = "dbcece0e8b572193a5605296392ef1f0d85bba74"; - hash = "sha256-8wVsiLSTbjIZOObdiawvQy5rw+sf93cp6+wbY+XaByI="; + rev = "522f7a7b70608cda6ce3207c81d26bef17b0cdf9"; + hash = "sha256-o2+tOrWr8Rjy+r05PX9C6qtx70HDyhWlvza2Ssw15mk="; }; - cargoHash = "sha256-9PMQQHydqgeKeB0eM49dJpL+8cstK8yUkc728ATXroQ="; + cargoHash = "sha256-7vBLZwUpZ/LQ4MO1JZhpErFvh5EQyS+7IN1U5wyAP/E="; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; From 70c3e2179fe5c0f660dd04c5d4f9183cffd379bf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 May 2026 10:32:15 +0000 Subject: [PATCH 29/69] vscode-extensions.saoudrizwan.claude-dev: 3.83.0 -> 3.84.0 --- .../vscode/extensions/saoudrizwan.claude-dev/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix index 054acad39eb7..e1b4fc361ec3 100644 --- a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix +++ b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-dev"; publisher = "saoudrizwan"; - version = "3.83.0"; - hash = "sha256-d9b8mXi/PI87T9J67yzI2yID7hhd6OPdM2+Na3I5Wg8="; + version = "3.84.0"; + hash = "sha256-j+EnHm4ucqzMgB0u5J4ki1x3YhMPWFj3/p/C95sbQH0="; }; meta = { From 43d998e6c09494aa66ebd677a2aa63eb7d1b3f3d Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 16 Apr 2026 20:43:32 +0100 Subject: [PATCH 30/69] types.attrListOf: init This adds a type for name-value mappings that preserve ordering. Motivating use case: command line flags for package modules / wrappers / modular services. The option value can be transformed into a command line in the correct order. Additionally, a convenience readOnly option could be provided to give easy introspection access to the values in an ad hoc manner. --- lib/tests/modules.sh | 7 + lib/tests/modules/declare-attrList.nix | 730 ++++++++++++++++++ lib/tests/modules/types.nix | 22 + lib/types.nix | 144 ++++ .../development/option-types.section.md | 17 + 5 files changed, 920 insertions(+) create mode 100644 lib/tests/modules/declare-attrList.nix diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 515ab169fe43..ac9cc83030d5 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -899,6 +899,13 @@ checkConfigError 'Did you mean .enable., .ebe. or .enabled.\?' config ./error-ty checkConfigError 'Did you mean .services\.myservice\.port. or .services\.myservice\.enable.\?' config.services.myservice ./error-typo-submodule.nix checkConfigError 'Did you mean .services\.nginx\.virtualHosts\."example\.com"\.ssl\.certificate. or .services\.nginx\.virtualHosts\."example\.com"\.ssl\.certificateKey.\?' config.services.nginx.virtualHosts.\"example.com\" ./error-typo-deeply-nested.nix +# types.attrListOf +checkConfigOutput '"ok"' config.assertions ./declare-attrList.nix +checkConfigError 'A definition for option .attrListInt.badValue.a. is not of type .signed integer.. Definition values:' config.attrListIntStrict.badValue ./declare-attrList.nix +checkConfigError 'A definition for option .attrList.badListElem. is not of type .attribute list of string.. Each list element must be a single-key attribute set.' config.attrListStrict.badListElem ./declare-attrList.nix +checkConfigError 'A definition for option .attrList.badString. is not of type .attribute list of string.. TypeError: Definition values:' config.attrListStrict.badString ./declare-attrList.nix +checkConfigError 'A definition for option .attrList.badListString. is not of type .attribute list of string.. Each list element must be a single-key attribute set.' config.attrListStrict.badListString ./declare-attrList.nix + cat <0)"; + assert + (attrListOf (enum [ + "a" + "b" + ])).description == "attribute list of (one of \"a\", \"b\")"; + assert + (attrListOf (strMatching "[0-9]+")).description + == "attribute list of string matching the pattern [0-9]+"; + assert + (attrListOf (nonEmptyListOf str)).description == "attribute list of non-empty (list of string)"; + assert (attrListOf (submodule { })).description == "attribute list of (submodule)"; + assert (coercedTo str abort int).description == "signed integer or string convertible to it"; assert (coercedTo int abort str).description == "string or signed integer convertible to it"; assert (coercedTo bool abort str).description == "string or boolean convertible to it"; diff --git a/lib/types.nix b/lib/types.nix index 5a42ada60d84..34d5b600322e 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -20,6 +20,7 @@ let isStorePath isString substring + sort throwIf toDerivation toList @@ -27,6 +28,7 @@ let ; inherit (lib.lists) concatLists + concatMap elemAt filter foldl' @@ -70,6 +72,9 @@ let mergeDefinitions fixupOptionType mergeOptionDecls + defaultOrderPriority + defaultOverridePriority + mkOverride ; inherit (lib.fileset) isFileset @@ -805,6 +810,145 @@ rec { substSubModules = m: nonEmptyListOf (elemType.substSubModules m); }; + attrListOf = + elemType: + mkOptionType rec { + name = "attrListOf"; + description = "attribute list of ${ + optionDescriptionPhrase (class: class == "noun" || class == "composite") elemType + }"; + descriptionClass = "composite"; + check = { + __functor = _self: x: isList x || isAttrs x; + isV2MergeCoherent = true; + }; + merge = { + __functor = + self: loc: defs: + (self.v2 { inherit loc defs; }).value; + v2 = + { loc, defs }: + let + # Peel order and override properties from a value in any nesting order. + # Returns { value, prio, overridePrio }. + # mkOrder is stripped (we consume it for sorting). + # mkOverride is preserved in value (mergeDefinitions strips it). + peelProperties = + value: + let + type = value._type or null; + in + if type == "order" then + let + inner = peelProperties value.content; + in + { + inherit (inner) value overridePrio; + prio = value.priority; + } + else if type == "override" then + let + inner = peelProperties value.content; + in + { + inherit (inner) prio; + overridePrio = value.priority; + # Re-wrap mkOverride around the inner value (with mkOrder stripped) + value = mkOverride value.priority inner.value; + } + else + { + inherit value; + prio = defaultOrderPriority; + overridePrio = defaultOverridePriority; + }; + + # Extract { file, key, value, prio, overridePrio } from a single-key attrset, + # optionally wrapped in mkOrder at the element level (list format). + extractItem = + file: raw: + let + hasOrder = raw._type or null == "order"; + item = if hasOrder then raw.content else raw; + key = head (attrNames item); + peeled = peelProperties item.${key}; + in + if isAttrs item && length (attrNames item) == 1 then + peeled + // { + inherit file key; + prio = if hasOrder then raw.priority else peeled.prio; + } + else + throw "A definition for option `${showOption loc}' is not of type `${description}'. Each list element must be a single-key attribute set."; + + # Convert a definition to a flat list of { file, key, value, prio, overridePrio } + defToItems = + def: + if isList def.value then + map (extractItem def.file) def.value + else + # isAttrs: properties are on the values directly + map ( + key: + peelProperties def.value.${key} + // { + inherit (def) file; + inherit key; + } + ) (attrNames def.value); + + allItems = concatMap defToItems defs; + + # Per key, find the highest override priority (lowest number) + winningOverridePrio = foldl' ( + acc: item: + let + prev = acc.${item.key} or defaultOverridePriority; + in + if item.overridePrio < prev then + acc // { ${item.key} = item.overridePrio; } + else + # minimize `//` operations + acc + ) { } allItems; + + # Keep only items at the winning override priority for their key + items = sort (a: b: a.prio < b.prio) ( + filter ( + item: item.overridePrio == winningOverridePrio.${item.key} or defaultOverridePriority + ) allItems + ); + + evals = filter (e: e.eval.optionalValue ? value) ( + map (item: { + inherit (item) key; + eval = mergeDefinitions (loc ++ [ item.key ]) elemType [ + { + inherit (item) file value; + } + ]; + }) items + ); + in + { + headError = checkDefsForError check loc defs; + value = map (e: { ${e.key} = e.eval.optionalValue.value or e.eval.mergedValue; }) evals; + valueMeta.attrList = map (e: e.eval.checkedAndMerged.valueMeta) evals; + }; + }; + emptyValue = { + value = [ ]; + }; + getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "*" ]); + getSubModules = elemType.getSubModules; + substSubModules = m: attrListOf (elemType.substSubModules m); + functor = elemTypeFunctor name { inherit elemType; } // { + type = payload: types.attrListOf payload.elemType; + }; + nestedTypes.elemType = elemType; + }; + attrsOf = elemType: attrsWith { inherit elemType; }; # A version of attrsOf that's lazy in its values at the expense of diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md index cc195abcc37b..24b966fbf3b3 100644 --- a/nixos/doc/manual/development/option-types.section.md +++ b/nixos/doc/manual/development/option-types.section.md @@ -494,6 +494,23 @@ Composed types are types that take a type as parameter. `listOf Displays the option as `foo.` in the manual. +`types.attrListOf` *`t`* + +: An ordered list of single-attribute attribute sets, where each value is of *`t`* type. + The output is always `[ { name1 = value1; } { name2 = value2; } ... ]`. + + Definitions can be provided in two formats, which may be mixed via `lib.mkMerge`, `imports`, etc: + + - **List format**: `[ { a = 1; } { b = 2; } ]` — each element must be a single-attribute attribute set. + Elements may be wrapped in `lib.mkOrder` (or `lib.mkBefore`/`lib.mkAfter`) to control ordering; + unwrapped elements use the default order priority. + + - **Attribute set format**: `{ a = lib.mkOrder 100 1; b = 2; }` — each name-value pair becomes a single-attribute attribute set in the output. + Values may be wrapped in `lib.mkOrder` (or `lib.mkBefore`/`lib.mkAfter`) to control ordering. + Values without `lib.mkOrder` use the default priority. + + Multiple definitions of the same option are concatenated and then sorted by priority. + Entries at the same priority level preserve their definition order. `types.uniq` *`t`* From 17fdb6f68af2e48cce69536e50b471391b22ad19 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Apr 2026 13:00:03 +0100 Subject: [PATCH 31/69] types.attrListWith: init Trivial extraction from attrListOf. --- lib/types.nix | 6 ++++-- .../doc/manual/development/option-types.section.md | 13 +++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/types.nix b/lib/types.nix index 34d5b600322e..836efdf41831 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -810,8 +810,10 @@ rec { substSubModules = m: nonEmptyListOf (elemType.substSubModules m); }; - attrListOf = - elemType: + attrListOf = elemType: attrListWith { inherit elemType; }; + + attrListWith = + { elemType }: mkOptionType rec { name = "attrListOf"; description = "attribute list of ${ diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md index 24b966fbf3b3..ff35193a746c 100644 --- a/nixos/doc/manual/development/option-types.section.md +++ b/nixos/doc/manual/development/option-types.section.md @@ -512,6 +512,19 @@ Composed types are types that take a type as parameter. `listOf Multiple definitions of the same option are concatenated and then sorted by priority. Entries at the same priority level preserve their definition order. +`types.attrListWith` { *`elemType`* } + +: An ordered list of single-attribute attribute sets, where each value is of *`elemType`* type. + + **Parameters** + + `elemType` (Required) + : Specifies the type of each value in the attribute list. + + **Behavior** + + - `attrListWith { elemType = t; }` is equivalent to `attrListOf t` + `types.uniq` *`t`* : Ensures that type *`t`* cannot be merged. It is used to ensure option From f1b62fdc4ebb63ffc48ca7e1add32979fa98055b Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 19 Apr 2026 13:00:32 +0100 Subject: [PATCH 32/69] types.attrListWith: add asAttrs This allows the type's return value to be accessed more easily. Motivating use case: - Built-in module provides CLI functionality by declaring an `attrListWith { asAttrs = true; }`, extracting the ordered list from `valueMeta` for the purpose of creating the `argv`. - User modules can read the command line's flags directly without having to parse the list of attrs. --- lib/tests/modules/declare-attrList.nix | 141 ++++++++++++++++++ lib/types.nix | 30 +++- .../development/option-types.section.md | 13 +- 3 files changed, 178 insertions(+), 6 deletions(-) diff --git a/lib/tests/modules/declare-attrList.nix b/lib/tests/modules/declare-attrList.nix index b83599de7a77..b6e664422af1 100644 --- a/lib/tests/modules/declare-attrList.nix +++ b/lib/tests/modules/declare-attrList.nix @@ -42,6 +42,27 @@ in ); }; + # asAttrs: value is a merged attrset, ordered list in valueMeta + asAttrs = mkOption { + type = types.lazyAttrsOf ( + types.attrListWith { + elemType = types.str; + asAttrs = true; + mergeAttrValues = _name: values: lib.last values; + } + ); + }; + + # asAttrs with default mergeAttrValues: duplicates collected into lists + asAttrsDefault = mkOption { + type = types.lazyAttrsOf ( + types.attrListWith { + elemType = types.int; + asAttrs = true; + } + ); + }; + # Strict wrappers that force deep evaluation, for testing error cases attrListStrict = mkOption { type = types.lazyAttrsOf types.raw; @@ -381,6 +402,53 @@ in } ]; + # asAttrs: unique keys — value is a plain attrset + asAttrs.unique = [ + { a = "alpha"; } + { b = "beta"; } + ]; + + # asAttrs: duplicate keys — last in order wins + asAttrs.duplicateKeys = mkMerge [ + { x = mkOrder 500 "first"; } + { x = mkOrder 1500 "last"; } + { y = "only"; } + ]; + + # asAttrs: with ordering — value is attrset, ordered list in valueMeta + asAttrs.ordered = { + z = mkOrder 200 "z-val"; + a = mkOrder 100 "a-val"; + }; + + # asAttrs: with mkForce — forced key overrides + asAttrs.withForce = mkMerge [ + { x = "unused: overridden by mkForce"; } + { + x = mkForce "forced"; + y = "kept"; + } + ]; + + # asAttrs: empty + asAttrs.empty = [ ]; + + # asAttrsDefault: unique keys + asAttrsDefault.unique = [ + { a = 1; } + { b = 2; } + ]; + + # asAttrsDefault: duplicate keys — default collects into lists + asAttrsDefault.duplicates = mkMerge [ + { x = mkOrder 500 10; } + { x = mkOrder 1500 30; } + { y = 99; } + [ + { x = 20; } + ] + ]; + # either: attrList branch matches for list input eitherAttrListOrInt = [ { a = "hello"; } @@ -723,6 +791,79 @@ in { a = "hello"; } ]; + # asAttrs: unique keys — value is a plain attrset + assert + cfg.asAttrs.unique == { + a = "alpha"; + b = "beta"; + }; + # ordered list preserved in valueMeta + assert + c.options.asAttrs.valueMeta.attrs.unique.attrListValue == [ + { a = "alpha"; } + { b = "beta"; } + ]; + + # asAttrs: duplicate keys — last in order wins + assert + cfg.asAttrs.duplicateKeys == { + x = "last"; + y = "only"; + }; + assert + c.options.asAttrs.valueMeta.attrs.duplicateKeys.attrListValue == [ + { x = "first"; } + { y = "only"; } + { x = "last"; } + ]; + + # asAttrs: ordered — value is attrset (unordered), list in valueMeta preserves order + assert + cfg.asAttrs.ordered == { + a = "a-val"; + z = "z-val"; + }; + assert + c.options.asAttrs.valueMeta.attrs.ordered.attrListValue == [ + { a = "a-val"; } + { z = "z-val"; } + ]; + + # asAttrs: mkForce — forced key overrides, value is attrset + assert + cfg.asAttrs.withForce == { + x = "forced"; + y = "kept"; + }; + + # asAttrs: empty — value is empty attrset + assert cfg.asAttrs.empty == { }; + + # asAttrsDefault: unique keys — each value wrapped in singleton list + assert + cfg.asAttrsDefault.unique == { + a = [ 1 ]; + b = [ 2 ]; + }; + + # asAttrsDefault: duplicate keys — values collected into list in order + assert + cfg.asAttrsDefault.duplicates == { + x = [ + 10 + 20 + 30 + ]; + y = [ 99 ]; + }; + assert + c.options.asAttrsDefault.valueMeta.attrs.duplicates.attrListValue == [ + { x = 10; } + { y = 99; } + { x = 20; } + { x = 30; } + ]; + # Error cases are tested via checkConfigError in modules.sh "ok"; diff --git a/lib/types.nix b/lib/types.nix index 836efdf41831..6079ea11b410 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -813,7 +813,11 @@ rec { attrListOf = elemType: attrListWith { inherit elemType; }; attrListWith = - { elemType }: + { + elemType, + asAttrs ? false, + mergeAttrValues ? _name: values: values, + }: mkOptionType rec { name = "attrListOf"; description = "attribute list of ${ @@ -932,21 +936,37 @@ rec { ]; }) items ); + + attrListValue = map (e: { ${e.key} = e.eval.optionalValue.value or e.eval.mergedValue; }) evals; in { headError = checkDefsForError check loc defs; - value = map (e: { ${e.key} = e.eval.optionalValue.value or e.eval.mergedValue; }) evals; + value = if asAttrs then zipAttrsWith mergeAttrValues attrListValue else attrListValue; valueMeta.attrList = map (e: e.eval.checkedAndMerged.valueMeta) evals; + /** + The ordered list representation, especially useful when asAttrs is set. + */ + valueMeta.attrListValue = attrListValue; }; }; emptyValue = { - value = [ ]; + value = if asAttrs then { } else [ ]; }; getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "*" ]); getSubModules = elemType.getSubModules; - substSubModules = m: attrListOf (elemType.substSubModules m); + substSubModules = + m: + attrListWith { + inherit asAttrs mergeAttrValues; + elemType = elemType.substSubModules m; + }; functor = elemTypeFunctor name { inherit elemType; } // { - type = payload: types.attrListOf payload.elemType; + type = + payload: + types.attrListWith { + inherit asAttrs mergeAttrValues; + inherit (payload) elemType; + }; }; nestedTypes.elemType = elemType; }; diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md index ff35193a746c..720f5823d068 100644 --- a/nixos/doc/manual/development/option-types.section.md +++ b/nixos/doc/manual/development/option-types.section.md @@ -512,7 +512,7 @@ Composed types are types that take a type as parameter. `listOf Multiple definitions of the same option are concatenated and then sorted by priority. Entries at the same priority level preserve their definition order. -`types.attrListWith` { *`elemType`* } +`types.attrListWith` { *`elemType`*, *`asAttrs`* ? false, *`mergeAttrValues`* ? _name: values: values } : An ordered list of single-attribute attribute sets, where each value is of *`elemType`* type. @@ -521,6 +521,17 @@ Composed types are types that take a type as parameter. `listOf `elemType` (Required) : Specifies the type of each value in the attribute list. + `asAttrs` + : When `true`, the option value is an attribute set instead of a list. + Duplicate keys are merged using `mergeAttrValues`. + The ordered list is always available via `valueMeta.attrListValue`. + + `mergeAttrValues` + : A function `name: values: mergedValue` that controls how duplicate keys + are combined when `asAttrs = true`. This is passed as the callback to + `lib.zipAttrsWith`. The `values` list is in order of priority. + By default, all values are collected into a list. + **Behavior** - `attrListWith { elemType = t; }` is equivalent to `attrListOf t` From e29bf2412b0395f559b15fef91f1d7e095b5149f Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 4 May 2026 16:00:39 +0200 Subject: [PATCH 33/69] lib.modules.mapDefinitionValue: init --- lib/modules.nix | 23 ++++++++++++ lib/tests/misc.nix | 92 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) diff --git a/lib/modules.nix b/lib/modules.nix index 21ffbb9591c5..1adee44f7a33 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -1598,6 +1598,28 @@ let inherit priority content; }; + /** + Applies a function to the value inside a definition, + preserving all surrounding properties (`mkForce`, `mkOrder`, `mkIf`, etc.). + */ + mapDefinitionValue = + f: def: + if def ? _type then + if def._type == "merge" then + def // { contents = map (mapDefinitionValue f) def.contents; } + else if def._type == "if" then + def // { content = mapDefinitionValue f def.content; } + else if def._type == "override" then + def // { content = mapDefinitionValue f def.content; } + else if def._type == "order" then + def // { content = mapDefinitionValue f def.content; } + else if def._type == "definition" then + def // { value = mapDefinitionValue f def.value; } + else + f def + else + f def; + mkBefore = mkOrder 500; defaultOrderPriority = 1000; mkAfter = mkOrder 1500; @@ -2302,6 +2324,7 @@ private importApply importJSON importTOML + mapDefinitionValue mergeDefinitions mergeAttrDefinitionsWithPrio mergeOptionDecls # should be private? diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index e2872dcafce9..021a7eca25b8 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -5114,4 +5114,96 @@ runTests { ); expected = false; }; + + # mapDefinitionValue + + testMapDefinitionValuePlain = { + expr = lib.modules.mapDefinitionValue (x: x + 1) 5; + expected = 6; + }; + + testMapDefinitionValueMkForce = { + expr = lib.modules.mapDefinitionValue (x: x + 1) (lib.mkForce 5); + expected = lib.mkForce 6; + }; + + testMapDefinitionValueMkDefault = { + expr = lib.modules.mapDefinitionValue (x: x + 1) (lib.mkDefault 5); + expected = lib.mkDefault 6; + }; + + testMapDefinitionValueMkOrder = { + expr = lib.modules.mapDefinitionValue (x: x + 1) (lib.mkOrder 500 5); + expected = lib.mkOrder 500 6; + }; + + testMapDefinitionValueMkOverrideNested = { + expr = lib.modules.mapDefinitionValue (x: x + 1) (lib.mkForce (lib.mkOrder 500 5)); + expected = lib.mkForce (lib.mkOrder 500 6); + }; + + testMapDefinitionValueMkIf = { + expr = lib.modules.mapDefinitionValue (x: x + 1) (lib.mkIf true 5); + expected = lib.mkIf true 6; + }; + + testMapDefinitionValueMkMerge = { + expr = lib.modules.mapDefinitionValue (x: x + 1) ( + lib.mkMerge [ + 5 + 10 + ] + ); + expected = lib.mkMerge [ + 6 + 11 + ]; + }; + + testMapDefinitionValueMkDefinition = { + expr = lib.modules.mapDefinitionValue (x: x + 1) ( + lib.mkDefinition { + file = "test"; + value = 5; + } + ); + expected = lib.mkDefinition { + file = "test"; + value = 6; + }; + }; + + testMapDefinitionValueDeep = { + expr = lib.modules.mapDefinitionValue (x: x + 1) (lib.mkIf true (lib.mkForce (lib.mkOrder 500 5))); + expected = lib.mkIf true (lib.mkForce (lib.mkOrder 500 6)); + }; + + testMapDefinitionValueAllNested = { + expr = lib.modules.mapDefinitionValue (x: x + 1) ( + lib.mkMerge [ + (lib.mkIf true ( + lib.mkForce ( + lib.mkOrder 500 ( + lib.mkDefinition { + file = "test"; + value = lib.mkBefore 5; + } + ) + ) + )) + ] + ); + expected = lib.mkMerge [ + (lib.mkIf true ( + lib.mkForce ( + lib.mkOrder 500 ( + lib.mkDefinition { + file = "test"; + value = lib.mkBefore 6; + } + ) + ) + )) + ]; + }; } From 8aa6e3dbb9761e1a8f07c705aa76d7a0b81d8a50 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 4 May 2026 17:08:18 +0200 Subject: [PATCH 34/69] types.attrListWith: add valueMeta.definitions --- lib/tests/modules.sh | 3 ++ ...definitions-file-diagnostic-forwarding.nix | 25 +++++++++ lib/tests/modules/declare-attrList.nix | 54 +++++++++++++++++++ lib/types.nix | 11 +++- 4 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 lib/tests/modules/attrList-valueMeta-definitions-file-diagnostic-forwarding.nix diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index ac9cc83030d5..c7b661e2e2fe 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -906,6 +906,9 @@ checkConfigError 'A definition for option .attrList.badListElem. is not of type checkConfigError 'A definition for option .attrList.badString. is not of type .attribute list of string.. TypeError: Definition values:' config.attrListStrict.badString ./declare-attrList.nix checkConfigError 'A definition for option .attrList.badListString. is not of type .attribute list of string.. Each list element must be a single-key attribute set.' config.attrListStrict.badListString ./declare-attrList.nix +# attrListWith valueMeta.definitions: file propagation +checkConfigError 'the-defs-file\.nix' config.argv ./attrList-valueMeta-definitions-file-diagnostic-forwarding.nix + cat < Date: Sun, 24 May 2026 15:23:24 +0200 Subject: [PATCH 35/69] types.attrListWith: review fixes - Improve extractItem error messages: distinguish non-attrset elements from multi-key attrsets, and include the faulty definition via showDefs. - Use isType instead of raw _type access for order detection. - Disable type merging (typeMerge = t: null) instead of providing a functor-based merge. Add test confirming duplicate declarations fail. --- lib/tests/modules.sh | 7 ++++-- .../modules/declare-attrList-type-merge.nix | 12 +++++++++ lib/types.nix | 25 +++++++++++-------- 3 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 lib/tests/modules/declare-attrList-type-merge.nix diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index c7b661e2e2fe..4eb86ddd4962 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -902,13 +902,16 @@ checkConfigError 'Did you mean .services\.nginx\.virtualHosts\."example\.com"\.s # types.attrListOf checkConfigOutput '"ok"' config.assertions ./declare-attrList.nix checkConfigError 'A definition for option .attrListInt.badValue.a. is not of type .signed integer.. Definition values:' config.attrListIntStrict.badValue ./declare-attrList.nix -checkConfigError 'A definition for option .attrList.badListElem. is not of type .attribute list of string.. Each list element must be a single-key attribute set.' config.attrListStrict.badListElem ./declare-attrList.nix +checkConfigError 'A definition for option .attrList.badListElem. is not of type .attribute list of string.. Each list element must be a single-key attribute set, but got 2 keys' config.attrListStrict.badListElem ./declare-attrList.nix checkConfigError 'A definition for option .attrList.badString. is not of type .attribute list of string.. TypeError: Definition values:' config.attrListStrict.badString ./declare-attrList.nix -checkConfigError 'A definition for option .attrList.badListString. is not of type .attribute list of string.. Each list element must be a single-key attribute set.' config.attrListStrict.badListString ./declare-attrList.nix +checkConfigError 'A definition for option .attrList.badListString. is not of type .attribute list of string.. Each list element must be an attribute set, but got string' config.attrListStrict.badListString ./declare-attrList.nix # attrListWith valueMeta.definitions: file propagation checkConfigError 'the-defs-file\.nix' config.argv ./attrList-valueMeta-definitions-file-diagnostic-forwarding.nix +# attrListOf does not support type merging +checkConfigError 'The option .merged. in .*/declare-attrList-type-merge.nix. is already declared in .*/declare-attrList-type-merge.nix' config.merged ./declare-attrList-type-merge.nix + cat < Date: Sun, 24 May 2026 18:42:21 +0200 Subject: [PATCH 36/69] workflows/periodic-merge: allow testing in forks Manually dispatching in your fork should still trigger the workflow to test. --- .github/workflows/periodic-merge-24h.yml | 2 +- .github/workflows/periodic-merge-6h.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml index 0455c9f5a5e1..fcd3b7ca1e6b 100644 --- a/.github/workflows/periodic-merge-24h.yml +++ b/.github/workflows/periodic-merge-24h.yml @@ -22,7 +22,7 @@ defaults: jobs: periodic-merge: - if: github.repository_owner == 'NixOS' + if: github.repository_owner == 'NixOS' || github.event_name == 'workflow_dispatch' strategy: # don't fail fast, so that all pairs are tried fail-fast: false diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml index edd4cb0b2df6..ad81eb6c9a3b 100644 --- a/.github/workflows/periodic-merge-6h.yml +++ b/.github/workflows/periodic-merge-6h.yml @@ -22,7 +22,7 @@ defaults: jobs: periodic-merge: - if: github.repository_owner == 'NixOS' + if: github.repository_owner == 'NixOS' || github.event_name == 'workflow_dispatch' strategy: # don't fail fast, so that all pairs are tried fail-fast: false From 85ff4f4eb15d0301e5d43da6fbdae0df2531f545 Mon Sep 17 00:00:00 2001 From: Alex Epelde Date: Sun, 24 May 2026 13:14:14 -0400 Subject: [PATCH 37/69] invidious: unpin crystal version --- pkgs/by-name/in/invidious/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/in/invidious/package.nix b/pkgs/by-name/in/invidious/package.nix index af7b702691ea..e32b5816a5e9 100644 --- a/pkgs/by-name/in/invidious/package.nix +++ b/pkgs/by-name/in/invidious/package.nix @@ -1,7 +1,7 @@ { lib, callPackage, - crystal_1_16, + crystal, fetchFromGitHub, librsvg, pkg-config, @@ -27,7 +27,6 @@ let # normally video.js is downloaded at build time videojs = callPackage ./videojs.nix { inherit versions; }; - crystal = crystal_1_16; in crystal.buildCrystalPackage rec { pname = "invidious"; @@ -69,7 +68,7 @@ crystal.buildCrystalPackage rec { # Patch the assets and locales paths to be absolute substituteInPlace src/invidious.cr \ - --replace-fail 'public_folder "assets"' 'public_folder "${placeholder "out"}/share/invidious/assets"' + --replace-fail 'StaticAssetsHandler.new("assets"' 'StaticAssetsHandler.new("${placeholder "out"}/share/invidious/assets"' substituteInPlace src/invidious/helpers/i18n.cr \ --replace-fail 'File.read("locales/' 'File.read("${placeholder "out"}/share/invidious/locales/' From 6cf2462ea8af0b0ca8478b93ee74d86d97cd6cea Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Sun, 24 May 2026 20:10:54 +0200 Subject: [PATCH 38/69] python3Packages.adax: migrate to pyproject --- pkgs/development/python-modules/adax/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/adax/default.nix b/pkgs/development/python-modules/adax/default.nix index 9ba1fb50181a..34d18e08af2b 100644 --- a/pkgs/development/python-modules/adax/default.nix +++ b/pkgs/development/python-modules/adax/default.nix @@ -4,12 +4,13 @@ async-timeout, buildPythonPackage, fetchFromGitHub, + setuptools, }: buildPythonPackage rec { pname = "adax"; version = "0.4.0"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "Danielhiversen"; @@ -18,7 +19,9 @@ buildPythonPackage rec { hash = "sha256-wmcZtiML02i1XfqpFzni2WDrxutTvP5laVvTAGtNg0Y="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ aiohttp async-timeout ]; From b7cc9fe261df4d188de79e887469ca5685ebf6e7 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Sun, 24 May 2026 20:11:20 +0200 Subject: [PATCH 39/69] python3Packages.adax: use finalAttrs --- pkgs/development/python-modules/adax/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/adax/default.nix b/pkgs/development/python-modules/adax/default.nix index 34d18e08af2b..f49ba99fd73f 100644 --- a/pkgs/development/python-modules/adax/default.nix +++ b/pkgs/development/python-modules/adax/default.nix @@ -7,7 +7,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "adax"; version = "0.4.0"; pyproject = true; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "Danielhiversen"; repo = "pyadax"; - tag = version; + tag = finalAttrs.version; hash = "sha256-wmcZtiML02i1XfqpFzni2WDrxutTvP5laVvTAGtNg0Y="; }; @@ -34,8 +34,8 @@ buildPythonPackage rec { meta = { description = "Python module to communicate with Adax"; homepage = "https://github.com/Danielhiversen/pyAdax"; - changelog = "https://github.com/Danielhiversen/pyAdax/releases/tag/${version}"; + changelog = "https://github.com/Danielhiversen/pyAdax/releases/tag/${finalAttrs.version}"; license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 52ab510ea510f004b6af407c5d44f3455574a564 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 24 May 2026 09:53:47 -0500 Subject: [PATCH 40/69] vimPlugins: update on 2026-05-24 --- .../editors/vim/plugins/generated.nix | 332 +++++++++--------- 1 file changed, 166 insertions(+), 166 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 062453785e7d..95a715c72eba 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -446,12 +446,12 @@ final: prev: { SchemaStore-nvim = buildVimPlugin { pname = "SchemaStore.nvim"; - version = "0-unstable-2026-05-19"; + version = "0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "b0o"; repo = "SchemaStore.nvim"; - rev = "05a0a69ca52c31aa687e8251ae11dd913df10061"; - hash = "sha256-eM8plzS2vjOsNCzicPXfJbCs86Hc+plJeQOl+6diSJ8="; + rev = "68ba9015c0cc77a0fe954bd2578dfa7a5c24134f"; + hash = "sha256-Odk14VqfchdeGwSAaQyNmIX42GaJSm/1xpX7jth6oxU="; }; meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; meta.license = getLicenseFromSpdxId "Apache-2.0"; @@ -755,12 +755,12 @@ final: prev: { aerial-nvim = buildVimPlugin { pname = "aerial.nvim"; - version = "3.1.0"; + version = "4.0.0"; src = fetchFromGitHub { owner = "stevearc"; repo = "aerial.nvim"; - tag = "v3.1.0"; - hash = "sha256-ugzNA/+Z2ReIy/8ks9wHEtmpTwpr8qqVR0xemw+GrUc="; + tag = "v4.0.0"; + hash = "sha256-rFVYNwNkIYqJxH6bSNmXJ/e2T919NTeH+Uz1nF/JC+0="; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/aerial.nvim/"; @@ -1260,12 +1260,12 @@ final: prev: { asynctasks-vim = buildVimPlugin { pname = "asynctasks.vim"; - version = "0-unstable-2026-04-29"; + version = "0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "skywind3000"; repo = "asynctasks.vim"; - rev = "14892013f671614afae315f91ed5ef700334e773"; - hash = "sha256-RsZ8NjOH4j4m9gO4PiQCJVzdatvhiveoSL2gESaon/8="; + rev = "281cca79bf98ffe3913427b76adae59413823bd7"; + hash = "sha256-6859GtjXxM7Pxp6U95Oz+/hg8FClulT2t2R2FY4yq7A="; }; meta.homepage = "https://github.com/skywind3000/asynctasks.vim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -1400,12 +1400,12 @@ final: prev: { auto-session = buildVimPlugin { pname = "auto-session"; - version = "2.5.1-unstable-2026-05-05"; + version = "2.5.1-unstable-2026-05-21"; src = fetchFromGitHub { owner = "rmagatti"; repo = "auto-session"; - rev = "daa7c996a0395e26342934843938647d0f1e87f4"; - hash = "sha256-Dy538JjSm47paDiXbPw+gM+UiPQlM4dM7bcRWzYY9w8="; + rev = "3e145ee9af42eb6764908a1a481f53fe7f0bdbe5"; + hash = "sha256-Ew7l61hyWpF1YkyvDEzh8U1+zIslPP5UQpOt7O242Qs="; }; meta.homepage = "https://github.com/rmagatti/auto-session/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -3456,12 +3456,12 @@ final: prev: { coc-nvim = buildVimPlugin { pname = "coc.nvim"; - version = "0.0.82-unstable-2026-05-12"; + version = "0.0.82-unstable-2026-05-22"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "269f4465f304f7f2412b9cc46fbdc98667b84546"; - hash = "sha256-3YaXdNL7Kh2aVZAU1hVtdWfMLB12NGrknts6OUiTtYg="; + rev = "a23e8e5c3a7ee77073862c98800948ef20a5e7e6"; + hash = "sha256-3l0e0jbtVvALHVfOHeCiWY3/Z5MfPCJqI43UrKk3FKM="; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; meta.license = unfree; @@ -3932,12 +3932,12 @@ final: prev: { conform-nvim = buildVimPlugin { pname = "conform.nvim"; - version = "9.1.0-unstable-2026-05-15"; + version = "9.1.0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "stevearc"; repo = "conform.nvim"; - rev = "18aeab3d63d350dcf44d64c462cc489a3412af40"; - hash = "sha256-+NzRZItrF344sp+xt07vKcu+EbHO1wtSGolYtIz0CP4="; + rev = "24c70347f6b2128679f47d2eb765156ef34bf9e0"; + hash = "sha256-Jky3GonVfO4M5G9KD8JQYorNav9PKSe4NvZXVbn9EYg="; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/conform.nvim/"; @@ -4549,12 +4549,12 @@ final: prev: { ddc-source-file = buildVimPlugin { pname = "ddc-source-file"; - version = "0-unstable-2025-09-03"; + version = "0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "LumaKernel"; repo = "ddc-source-file"; - rev = "e2386ed1e6739f48d4f3cfea9cc961fb5785480a"; - hash = "sha256-UndfTc+awrlzJUziPEv5FFwwDjQTSqOVZXheQ/CERpg="; + rev = "294a3274eaff4b3a37d1a033effd07f4d0d6cec1"; + hash = "sha256-y03JT0/QOEjfxOBPzwN7c5xorCkSOUKkcZs+OVh5Q6A="; }; meta.homepage = "https://github.com/LumaKernel/ddc-source-file/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -4563,12 +4563,12 @@ final: prev: { ddc-source-lsp = buildVimPlugin { pname = "ddc-source-lsp"; - version = "1.2.0-unstable-2026-05-15"; + version = "1.2.0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "Shougo"; repo = "ddc-source-lsp"; - rev = "1debc85415b3175cd76b6313efda70dbb5bfdfeb"; - hash = "sha256-bzAkGV0N6HS+lQg28szTIQwFaHUIzaEmIMOdH/kio+U="; + rev = "a8fef26851f3b648e064fa3aeb7c8c054684e846"; + hash = "sha256-vB3sCEJw67kJLON+AXo6B/38jBAFq079EouVxaI9QlQ="; }; meta.homepage = "https://github.com/Shougo/ddc-source-lsp/"; meta.license = unfree; @@ -5377,12 +5377,12 @@ final: prev: { easy-dotnet-nvim = buildVimPlugin { pname = "easy-dotnet.nvim"; - version = "0-unstable-2026-05-18"; + version = "0-unstable-2026-05-22"; src = fetchFromGitHub { owner = "GustavEikaas"; repo = "easy-dotnet.nvim"; - rev = "5bdd2b8f6891c64607393698be7fd0f441443c1d"; - hash = "sha256-dp4N8fn9c7/uGM1G8HT2tM/zjCN089eik6I6M8w3ncQ="; + rev = "5d5b3e2491a81efe252004e1876bd67af7dfc9c1"; + hash = "sha256-0rvkOKGWSYrB/GoV48Q4JSwbcz5SKIJGvXPwR7vJROM="; }; meta.homepage = "https://github.com/GustavEikaas/easy-dotnet.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -5504,12 +5504,12 @@ final: prev: { efmls-configs-nvim = buildVimPlugin { pname = "efmls-configs-nvim"; - version = "1.11.1-unstable-2026-04-10"; + version = "1.11.1-unstable-2026-05-24"; src = fetchFromGitHub { owner = "creativenull"; repo = "efmls-configs-nvim"; - rev = "5dc52088c231f2721f545570fcb541b04802ce6b"; - hash = "sha256-QO4R/+qAMXV+NN3gsMcKz7Z2BHZbwbwNBoD1AxfA/aY="; + rev = "2f5dc31042cc76fc3d5a859842a8416085c4d41f"; + hash = "sha256-mtHihfpaV9gJFqZBD0h90dAC6kECNxbFPH3OYJoKVT0="; }; meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -6192,12 +6192,12 @@ final: prev: { fugit2-nvim = buildVimPlugin { pname = "fugit2.nvim"; - version = "0.2.1-unstable-2026-05-03"; + version = "0.2.1-unstable-2026-05-24"; src = fetchFromGitHub { owner = "SuperBo"; repo = "fugit2.nvim"; - rev = "e1543df308f36a02a3b2c1128c6e7a54de5c764c"; - hash = "sha256-LFgwf7TNuL/Z1CsJF2OCb0Hb7Zu+06cE843Qa+v5UH0="; + rev = "d6513bfc443470a85426ab366be591aadd444053"; + hash = "sha256-bvr/iosdWFGUEfbwELCdV/tnlxeDfg/94AssXGVZSEw="; }; meta.homepage = "https://github.com/SuperBo/fugit2.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -6318,12 +6318,12 @@ final: prev: { fzf-vim = buildVimPlugin { pname = "fzf.vim"; - version = "0-unstable-2026-04-10"; + version = "0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf.vim"; - rev = "b9624aa012ddcbae9e79964bfd30cc1fbe3cf263"; - hash = "sha256-VPxTYXdJaVbr2U7d6VuO4CpIyTC62uo3TAuf1MYiAXI="; + rev = "e5b53de3d3b402d2ef9f74da91c2bb808d0afb34"; + hash = "sha256-6xu9+EC4V9CaqlogvVSCb0U7YJU35UWPMGrrdam4Ug0="; }; meta.homepage = "https://github.com/junegunn/fzf.vim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -6612,11 +6612,11 @@ final: prev: { gitlab-vim = buildVimPlugin { pname = "gitlab.vim"; - version = "1.1.0-unstable-2026-05-13"; + version = "1.1.0-unstable-2026-05-21"; src = fetchgit { url = "https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim"; - rev = "915a6265430a578fa4a1d7f8063e9e6fabca1184"; - hash = "sha256-9dmIWXQNUEp0IfZ3nJaA5HYzDVejNZfS/ueorremBNM="; + rev = "9e196cf8497eb99c4a0834f801d2f55499630cc9"; + hash = "sha256-yXVtP6SZ5H121VWUiFTDcWZ2l/xst1O38jI3iBav6VA="; }; meta.homepage = "https://gitlab.com/gitlab-org/editor-extensions/gitlab.vim"; meta.license = unfree; @@ -7003,12 +7003,12 @@ final: prev: { guihua-lua = buildVimPlugin { pname = "guihua.lua"; - version = "0.1-unstable-2026-05-19"; + version = "0.1-unstable-2026-05-24"; src = fetchFromGitHub { owner = "ray-x"; repo = "guihua.lua"; - rev = "26e2e557f5b1a0c5cb25cab41d71ddba61523cba"; - hash = "sha256-9VeU2HS1IRyixmbt1/jblHU5SNoqc+FJI52fAOq85aI="; + rev = "8c34ebbb59990c6cb70110d786ad82b2a7182c78"; + hash = "sha256-TWXsHAYXz4UejiRpsMyuYKA70wFrXGvVMXsFL8qnGyY="; }; meta.homepage = "https://github.com/ray-x/guihua.lua/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -8545,11 +8545,11 @@ final: prev: { leap-nvim = buildVimPlugin { pname = "leap.nvim"; - version = "0-unstable-2026-05-09"; + version = "0-unstable-2026-05-17"; src = fetchgit { url = "https://codeberg.org/andyg/leap.nvim/"; - rev = "940bc5e716a8cde63bd47e1b13f30fd9075ec0c8"; - hash = "sha256-bwyZzOq0OGYMqJks3ijEWD3wgdbTNhUwNT96tWUNXK4="; + rev = "59d70b1bdf8e76e0637e6ebcc150fb6767f67fc5"; + hash = "sha256-B3nwquR/ilBtuIPXw0r0048Ougt1VZ7FUFhT66yAH+8="; }; meta.homepage = "https://codeberg.org/andyg/leap.nvim/"; meta.license = unfree; @@ -9482,12 +9482,12 @@ final: prev: { mason-nvim = buildVimPlugin { pname = "mason.nvim"; - version = "2.2.1-unstable-2026-05-18"; + version = "2.3.0"; src = fetchFromGitHub { owner = "mason-org"; repo = "mason.nvim"; - rev = "cbf8d285e1462dd24acf3507817be2bbcb035919"; - hash = "sha256-DLhPbrp591zwn9STDiyOXcKmLFy/AtGscsWn3vU2U+E="; + tag = "v2.3.0"; + hash = "sha256-O+11o3c0iNZ4tMZV80QbzwuMV3mP2Ml4lXQKHz4uR54="; }; meta.homepage = "https://github.com/mason-org/mason.nvim/"; meta.license = getLicenseFromSpdxId "Apache-2.0"; @@ -9692,12 +9692,12 @@ final: prev: { mini-ai = buildVimPlugin { pname = "mini.ai"; - version = "0.17.0-unstable-2026-05-12"; + version = "0.17.0-unstable-2026-05-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.ai"; - rev = "a783ce6e1a5b3bc90519f20b51f4a5f6702734af"; - hash = "sha256-mxc3ZO9vwJd7GvwOFmiFUYtMaYj8uMje3eQSSgJwdwQ="; + rev = "4ce4c35e411ea329a15d4b15e9c89c2a3089e437"; + hash = "sha256-mLdjjacl8Lx5wJG0nfYnD4l+h3xIUQjw09iqKJx1uRs="; }; meta.homepage = "https://github.com/nvim-mini/mini.ai/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -9748,12 +9748,12 @@ final: prev: { mini-basics = buildVimPlugin { pname = "mini.basics"; - version = "0.17.0-unstable-2026-05-18"; + version = "0.17.0-unstable-2026-05-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.basics"; - rev = "69d3f97431788b27df5edf90e9922ba4af38f990"; - hash = "sha256-r3UxzMl8Z171XzkBlPfxw7dyrnt0TKCXPWAtTIneUDs="; + rev = "4255727accba14db930823da4168c7f1ea68ff80"; + hash = "sha256-UVZkMfRub44plD0+wOd+//P7BejCqwf3mxCH9fMiosw="; }; meta.homepage = "https://github.com/nvim-mini/mini.basics/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -9916,12 +9916,12 @@ final: prev: { mini-extra = buildVimPlugin { pname = "mini.extra"; - version = "0.17.0-unstable-2026-05-12"; + version = "0.17.0-unstable-2026-05-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.extra"; - rev = "cf027da13fd217cfe3af6ef978d0e947c7ee0f7a"; - hash = "sha256-LSbcIx/1GtTDWhZGKzFPOdiDp2qglcI+1ymn9k2dAio="; + rev = "5b0acf09d7f7958946973367c66bf5aafe4209dd"; + hash = "sha256-+uTcSFEYSgfk72rg6t+1+TMNzeqJUplg2WKCulw778g="; }; meta.homepage = "https://github.com/nvim-mini/mini.extra/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -10126,12 +10126,12 @@ final: prev: { mini-nvim = buildVimPlugin { pname = "mini.nvim"; - version = "0.17.0-unstable-2026-05-19"; + version = "0.17.0-unstable-2026-05-23"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.nvim"; - rev = "264b5c8fc6e82212af0dc5c345145cfa916efeb6"; - hash = "sha256-2E8EYYWQcN3rpsKqV8AYzPPAF7PalLpDTe3t3Lo9SmE="; + rev = "44657837c7338e52727facc85c1d95bec1f6bd7c"; + hash = "sha256-BjGHDUWVyyodTJmTbMqUWDy70Ug5iCqpPkCJwhOLTaI="; }; meta.homepage = "https://github.com/nvim-mini/mini.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -10168,12 +10168,12 @@ final: prev: { mini-pick = buildVimPlugin { pname = "mini.pick"; - version = "0.17.0-unstable-2026-05-19"; + version = "0.17.0-unstable-2026-05-21"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.pick"; - rev = "0e25916ec4b0f3ad81329e529db55ef350ac9901"; - hash = "sha256-OmGZQ3MK++mgtSNgLQhdWsQkbHr81iTfsQnLl8gBxoM="; + rev = "4522d9ab65224675df2cf1ede8c12f0410aae2be"; + hash = "sha256-ppt7E8v/8deRpKbx0aknqGvZ7FM8a3T1jsMsoitaizA="; }; meta.homepage = "https://github.com/nvim-mini/mini.pick/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -10252,12 +10252,12 @@ final: prev: { mini-surround = buildVimPlugin { pname = "mini.surround"; - version = "0.17.0-unstable-2026-05-19"; + version = "0.17.0-unstable-2026-05-22"; src = fetchFromGitHub { owner = "nvim-mini"; repo = "mini.surround"; - rev = "c375ea503646fe8393593b5fb8a40406eaa437b2"; - hash = "sha256-uwip1qJ6qGbVmOrttjCCoOybQ1/3vYsIO+fJ5Xnrs2g="; + rev = "1e37ade260e2b655c3a9b8407ba7e6b0fb995b28"; + hash = "sha256-ruFYkITEmjRC3Luat1X3fW2vXBUBe785c9DRn6fWjIE="; }; meta.homepage = "https://github.com/nvim-mini/mini.surround/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -10882,12 +10882,12 @@ final: prev: { neoconf-nvim = buildVimPlugin { pname = "neoconf.nvim"; - version = "1.4.0-unstable-2026-05-19"; + version = "1.4.0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "folke"; repo = "neoconf.nvim"; - rev = "39609069a03ac7fc7604a2b45944df15b67f3ed8"; - hash = "sha256-KbQ97HC/66cVH+McpIzACYtWsffVgcImNJ9P33zctT0="; + rev = "de6cd4ce8491116a7df44b714b4b963dbad50393"; + hash = "sha256-8RJ/jjbFa6C389u7CfYAqx+yM33Lijh40egIg+Vt1sU="; }; meta.homepage = "https://github.com/folke/neoconf.nvim/"; meta.license = getLicenseFromSpdxId "Apache-2.0"; @@ -11333,12 +11333,12 @@ final: prev: { neotest-java = buildVimPlugin { pname = "neotest-java"; - version = "0.37.1"; + version = "0.37.3"; src = fetchFromGitHub { owner = "rcasia"; repo = "neotest-java"; - tag = "v0.37.1"; - hash = "sha256-t+nqylLLHITU8li1cOl97jFKkZRmvmDbSAwvmv1yk+M="; + tag = "v0.37.3"; + hash = "sha256-ALVudtC49gAQOGwucOh7zvhbUyZX0lTGyizhn+QCPl4="; }; meta.homepage = "https://github.com/rcasia/neotest-java/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -11794,12 +11794,12 @@ final: prev: { nightfly = buildVimPlugin { pname = "nightfly"; - version = "0-unstable-2026-04-26"; + version = "0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "bluz71"; repo = "vim-nightfly-colors"; - rev = "4980ccc6de5f361fc9da116240ce7592e7d9a53a"; - hash = "sha256-UGGHRCSZXq7vxgWntXTZDTiKuIDBs0MhWdeOucO3cxo="; + rev = "e197d138ecdac92c28de82fbebdc9ba2de77162a"; + hash = "sha256-P424oLG8GefnMyol3uEMpKXHoIWbgOSqKx9ob3Yu4ko="; }; meta.homepage = "https://github.com/bluz71/vim-nightfly-colors/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -12340,11 +12340,11 @@ final: prev: { nvim-dap = buildVimPlugin { pname = "nvim-dap"; - version = "0.10.0-unstable-2026-04-06"; + version = "0.10.0-unstable-2026-05-20"; src = fetchgit { url = "https://codeberg.org/mfussenegger/nvim-dap/"; - rev = "45a69eba683a2c448dd9ecfc4de89511f0646b5f"; - hash = "sha256-9NF0+QoHOEAg6pd+oRBxr3ExWLqbvRrIMoMSZvNdqX4="; + rev = "531771530d4f82ad2d21e436e3cc052d68d7aebb"; + hash = "sha256-pgD51NWFyjK1FrXZ8MFFIM9DX2OBxL7cd7JlST2Twvc="; }; meta.homepage = "https://codeberg.org/mfussenegger/nvim-dap/"; meta.license = unfree; @@ -12463,12 +12463,12 @@ final: prev: { nvim-dap-ruby = buildVimPlugin { pname = "nvim-dap-ruby"; - version = "0-unstable-2025-07-08"; + version = "0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "suketa"; repo = "nvim-dap-ruby"; - rev = "ba36f9905ca9c6d89e5af5467a52fceeb2bbbf6d"; - hash = "sha256-57BBhdrikDEswZe2QW+jHMSgfXIjauc6iDNpWS0YUaU="; + rev = "fa73da2f5124d10a4cd09ce589441b5901df706a"; + hash = "sha256-oLohNzCdLu8kGG90NvFoRgpWov2waXfTENi5XvwWLS8="; }; meta.homepage = "https://github.com/suketa/nvim-dap-ruby/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -12785,11 +12785,11 @@ final: prev: { nvim-jdtls = buildVimPlugin { pname = "nvim-jdtls"; - version = "0.2.0-unstable-2026-02-10"; + version = "0.2.0-unstable-2026-05-20"; src = fetchgit { url = "https://codeberg.org/mfussenegger/nvim-jdtls/"; - rev = "77ccaeb422f8c81b647605da5ddb4a7f725cda90"; - hash = "sha256-ySaJ/eKtYmFoTWEKoFiiNWf+B8YIwUEqg/tKUOTcFfI="; + rev = "6e9d953f0b82bccdb834cfde0e893f3119c22592"; + hash = "sha256-4EQxTo9MQagXCdWGs8oCR153VHhEm745dzgr2FdlS0s="; }; meta.homepage = "https://codeberg.org/mfussenegger/nvim-jdtls/"; meta.license = unfree; @@ -12923,11 +12923,11 @@ final: prev: { nvim-lint = buildVimPlugin { pname = "nvim-lint"; - version = "05-unstable-2026-05-18"; + version = "05-unstable-2026-05-19"; src = fetchgit { url = "https://codeberg.org/mfussenegger/nvim-lint/"; - rev = "8b06eeec3c674744b993caecd73343df108c052d"; - hash = "sha256-aDMmKNQSwo+evuHJtub85rX1eQGVSIhx2gvmWhlM/vA="; + rev = "d48f3a76189d03b2239f6df1b2f7e3fa8353743b"; + hash = "sha256-5mlNCE0KFGfJTocV5NMlczZMmZKGzxqVdUO23KVZ4O8="; }; meta.homepage = "https://codeberg.org/mfussenegger/nvim-lint/"; meta.license = unfree; @@ -13398,12 +13398,12 @@ final: prev: { nvim-sioyek-highlights = buildVimPlugin { pname = "nvim-sioyek-highlights"; - version = "0-unstable-2026-05-17"; + version = "0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "jbuck95"; repo = "nvim-sioyek-highlights"; - rev = "1dc885c08e895178f2d5b2474bc366a962077849"; - hash = "sha256-9wEFRB4OSBnRYLW8BbUgGjs5XbiZ6ZpxC5LPXJ/Mi7k="; + rev = "753f5d309d08229325134e5992cd032d06f72ee8"; + hash = "sha256-JiHBw/3LqYW4oxT+ObvU3IsDU1Q5JaKr4TDBZautNV0="; }; meta.homepage = "https://github.com/jbuck95/nvim-sioyek-highlights/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -14280,12 +14280,12 @@ final: prev: { opencode-nvim = buildVimPlugin { pname = "opencode.nvim"; - version = "0.10.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "nickjvandyke"; repo = "opencode.nvim"; - tag = "v0.10.0"; - hash = "sha256-H++d+0xdqfkYM7XjnDRN5MgHOTIJA3fBNRY1zBgGonk="; + tag = "v0.10.1"; + hash = "sha256-hpRlUUI1wEluMyWfAnxjztbozIVgN7Yan2zH+HmEsSw="; }; meta.homepage = "https://github.com/nickjvandyke/opencode.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -14392,12 +14392,12 @@ final: prev: { overseer-nvim = buildVimPlugin { pname = "overseer.nvim"; - version = "2.1.0-unstable-2026-05-14"; + version = "2.1.0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "stevearc"; repo = "overseer.nvim"; - rev = "3d0c7e7bbfe1a1c6f9bfecd0af8709171a97df71"; - hash = "sha256-hxVnBKiyIFtb2PkRHOlClVXSJ20Gtg2w7QzuwpiVqsQ="; + rev = "473944a838d7efa112a6c8e481d27f1a76236a90"; + hash = "sha256-Ie4yhebBv+Pq7pqBx+TGHA7p3HUCU1+nQ5d/IpcjUqU="; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/overseer.nvim/"; @@ -14533,12 +14533,12 @@ final: prev: { parrot-nvim = buildVimPlugin { pname = "parrot.nvim"; - version = "2.5.1-unstable-2026-01-21"; + version = "2.5.1-unstable-2026-05-20"; src = fetchFromGitHub { owner = "frankroeder"; repo = "parrot.nvim"; - rev = "34bff8b294d85f445843cb70faa205e07e22d4f0"; - hash = "sha256-xXrjfZQOzqXfm0vq1eQjwjyMxQMSrzF3CNBBd3LgG9Y="; + rev = "964675ca588efae2a50bef35b01729acc36cb3d5"; + hash = "sha256-EPrisAicCUpUPl0q5h/uBBSpQuuzOlSCbQpu0ispwvU="; }; meta.homepage = "https://github.com/frankroeder/parrot.nvim/"; meta.license = unfree; @@ -14996,12 +14996,12 @@ final: prev: { pum-vim = buildVimPlugin { pname = "pum.vim"; - version = "2.0-unstable-2026-05-02"; + version = "2.0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "Shougo"; repo = "pum.vim"; - rev = "16a70a73d98e08f0327a7317450590a449ebcbb9"; - hash = "sha256-Qa0AYO91rUsLgDpUsD0hqMLJQhwo6jg/72nolnc2Jh0="; + rev = "f3c2436bd93f6d4818a91e480f991ccc3b20338e"; + hash = "sha256-cfd3yckABLaG8CQtDwyUgivAH6rHxPSubqVvNJrzxdk="; }; meta.homepage = "https://github.com/Shougo/pum.vim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -15123,12 +15123,12 @@ final: prev: { quicker-nvim = buildVimPlugin { pname = "quicker.nvim"; - version = "1.5.0-unstable-2026-05-15"; + version = "1.5.1"; src = fetchFromGitHub { owner = "stevearc"; repo = "quicker.nvim"; - rev = "1c9322b7e2967472548ba9bccd1ccd40e49d0a49"; - hash = "sha256-K1jaWpTSNCni6CgR9mlNguiPyhQ1BMjj4p3/V+6XoMA="; + tag = "v1.5.1"; + hash = "sha256-CVW0GJhSD/J4iSFgGpXlTWViPePIlw+Wu3tF9urWMIE="; }; meta.homepage = "https://github.com/stevearc/quicker.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -15318,12 +15318,12 @@ final: prev: { refactoring-nvim = buildVimPlugin { pname = "refactoring.nvim"; - version = "0-unstable-2026-05-13"; + version = "0-unstable-2026-05-23"; src = fetchFromGitHub { owner = "theprimeagen"; repo = "refactoring.nvim"; - rev = "f5b54f3605d9ed709521db1827b8686dea283622"; - hash = "sha256-h2ZOwdva5f3VeZASKjq/DhBiuaZI2Ovpc/vzBMerv9g="; + rev = "8f2045241fb105ab092021e3e58b5b99f34f07d0"; + hash = "sha256-ZYEX22JJ1d+BeTq1aaTR/sKwjVCUlJMnEOtyVBrVt9A="; }; meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -15444,12 +15444,12 @@ final: prev: { resession-nvim = buildVimPlugin { pname = "resession.nvim"; - version = "1.2.1-unstable-2025-11-05"; + version = "1.2.1-unstable-2026-05-24"; src = fetchFromGitHub { owner = "stevearc"; repo = "resession.nvim"; - rev = "05adc14db5c2d0eae064765101dd5e9c594c7851"; - hash = "sha256-7Wa3PwTWEueRkhKBhOMbvstT5vFj2sxyiHoJOrdcJAc="; + rev = "0983fbdd3fe938c80fb7dd33817f08f428426ac8"; + hash = "sha256-uvKyEgd/tnRZvYS/+vR5airpgE8cFo5CqGxNWBKbMdQ="; fetchSubmodules = true; }; meta.homepage = "https://github.com/stevearc/resession.nvim/"; @@ -15543,12 +15543,12 @@ final: prev: { roslyn-nvim = buildVimPlugin { pname = "roslyn.nvim"; - version = "0-unstable-2026-05-18"; + version = "0-unstable-2026-05-22"; src = fetchFromGitHub { owner = "seblyng"; repo = "roslyn.nvim"; - rev = "49526a2958893d0c8000d03b16ed923340ce13cc"; - hash = "sha256-MUosD7oF1hBA9sYl5RAAogxco+jLiyu0YKKpzui6Vs4="; + rev = "426984d6c1e8ee88a394a562eb925e687340f91e"; + hash = "sha256-gbYRc8l0MrP7cnp3ggpjXBmXB8IZUXHD8bHgMiu16FM="; }; meta.homepage = "https://github.com/seblyng/roslyn.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -15892,12 +15892,12 @@ final: prev: { seoul256-vim = buildVimPlugin { pname = "seoul256.vim"; - version = "0-unstable-2026-04-17"; + version = "0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "junegunn"; repo = "seoul256.vim"; - rev = "d8499250154f0b26a398cd76769861afd8fb68fd"; - hash = "sha256-dPwFpT8O91uxnxJ9drKvou+quM4iFqFW9EyeAFdWNoU="; + rev = "88997adf362f57c3eadedde6b8c1393fe218c02c"; + hash = "sha256-Em9vpXJmUyLfBHOLHVQQUGsOuluwyx+J4Q5vU8akyS0="; }; meta.homepage = "https://github.com/junegunn/seoul256.vim/"; meta.license = unfree; @@ -16019,12 +16019,12 @@ final: prev: { smart-splits-nvim = buildVimPlugin { pname = "smart-splits.nvim"; - version = "2.1.0-unstable-2026-05-15"; + version = "2.1.0-unstable-2026-05-22"; src = fetchFromGitHub { owner = "mrjones2014"; repo = "smart-splits.nvim"; - rev = "3151100591670148cb0065388117622212208ee3"; - hash = "sha256-uRMQy89pDA2LwgDKj2mcvrTLCf7LyCIM2EHdq8EBcq4="; + rev = "b24335c3186b6c35522fa108af63646a2f70b3b6"; + hash = "sha256-GNcTzTqwHaiDbMW9tHUYDb0AQsBc3eA608cthW2vN8U="; }; meta.homepage = "https://github.com/mrjones2014/smart-splits.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -16089,12 +16089,12 @@ final: prev: { snacks-nvim = buildVimPlugin { pname = "snacks.nvim"; - version = "2.31.0-unstable-2026-03-21"; + version = "2.31.0-unstable-2026-05-21"; src = fetchFromGitHub { owner = "folke"; repo = "snacks.nvim"; - rev = "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e"; - hash = "sha256-7lDH1JlTM+H/LWjMlAQPNY6A+xmS/cp+wChy4buGYIU="; + rev = "0770753c88228f7f15449c6a5b242e3f7cd0d71c"; + hash = "sha256-lMCozVT9RRgJwsudAUrrinI6WdiPb+gykcQe46OmRh4="; }; meta.homepage = "https://github.com/folke/snacks.nvim/"; meta.license = getLicenseFromSpdxId "Apache-2.0"; @@ -16354,12 +16354,12 @@ final: prev: { splitjoin-vim = buildVimPlugin { pname = "splitjoin.vim"; - version = "1.2.0-unstable-2026-04-10"; + version = "1.2.0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "AndrewRadev"; repo = "splitjoin.vim"; - rev = "8c4c87e72d20d8d5eee8b29c320eb61767578841"; - hash = "sha256-6QLiYYanMcJjPcw1pWaYCcsqPijox8E85BF7PwTzyfA="; + rev = "b26971a7fdc7ca645b766459e3ed7949300c404f"; + hash = "sha256-IWBFDaltzAhM0QSTPTgb7wdrCM4CysQpaZ3kw0NkQAU="; fetchSubmodules = true; }; meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/"; @@ -17128,12 +17128,12 @@ final: prev: { telescope-frecency-nvim = buildVimPlugin { pname = "telescope-frecency.nvim"; - version = "1.2.2-unstable-2026-05-10"; + version = "1.2.2-unstable-2026-05-21"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope-frecency.nvim"; - rev = "ab7b69366f46a8749e3c3ec21ba0cbc59a440ddd"; - hash = "sha256-FVo2odnwxImjSd+mYciHznwrRwY8W80mn4lJtQKAEZE="; + rev = "5479d8a269e30479280c59e44f805396127653e6"; + hash = "sha256-gC3pmeBCUPDFvBSNNn6RXAbbeBRcIqiAyZVCO3TKJz4="; }; meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -17217,7 +17217,7 @@ final: prev: { src = fetchFromGitHub { owner = "alduraibi"; repo = "telescope-glyph.nvim"; - rev = "f63f01e129e71cc25b79637610674bbf0be5ce9d"; + rev = "6e0bdece0d0382e664b2dc716a9c5641994148c9"; hash = "sha256-6H4afMXtaZn066oBq3z8vvR7WH7WhqZkvziyOXlsNVg="; }; meta.homepage = "https://github.com/alduraibi/telescope-glyph.nvim/"; @@ -18028,12 +18028,12 @@ final: prev: { treewalker-nvim = buildVimPlugin { pname = "treewalker.nvim"; - version = "0-unstable-2026-05-08"; + version = "0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "aaronik"; repo = "treewalker.nvim"; - rev = "fcaa112f8c3dfba3a91c52a5a95701a7917f61e3"; - hash = "sha256-5s3P1xekniVgtEfAwuxbOwGsSi90UuutctVLgXC/C0g="; + rev = "0b081bf6c6875cf3e478b633796a9e2b64b730e8"; + hash = "sha256-+TwgQm109yt1LXOWzU+vWjWYVKmZ5snsqRrikUZfVJE="; }; meta.homepage = "https://github.com/aaronik/treewalker.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -18422,12 +18422,12 @@ final: prev: { unified-nvim = buildVimPlugin { pname = "unified.nvim"; - version = "0.0.2-unstable-2026-03-05"; + version = "0.0.4"; src = fetchFromGitHub { owner = "axkirillov"; repo = "unified.nvim"; - rev = "d4427c8d0d89fc3737bb5f53d56a2ea153c94ec7"; - hash = "sha256-BPoSViNDO678SWVaGl9FHfSzWLEbqFR39v+MmfOPSo4="; + tag = "0.0.4"; + hash = "sha256-CmMq6Kw5q6vKDj4Tktu7q4YeQHmLVJYa9AN5BTb4V2E="; }; meta.homepage = "https://github.com/axkirillov/unified.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -18464,12 +18464,12 @@ final: prev: { unison = buildVimPlugin { pname = "unison"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "unisonweb"; repo = "unison"; - tag = "release/1.2.0"; - hash = "sha256-ku6Bxg3jJruYOgrBRUzsankQtNryDmv1nWWjhvdskXs="; + tag = "release/1.3.0"; + hash = "sha256-uw1QBTY6Shj2liDdLaoNjqkEAYr5pMG7SfrLuhdDi8k="; }; meta.homepage = "https://github.com/unisonweb/unison/"; meta.license = unfree; @@ -18604,12 +18604,12 @@ final: prev: { venv-selector-nvim = buildVimPlugin { pname = "venv-selector.nvim"; - version = "0-unstable-2026-05-18"; + version = "0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "linux-cultist"; repo = "venv-selector.nvim"; - rev = "a46c77978abc1aa1b3e17918d964bd30287abb42"; - hash = "sha256-dyB/2aPr0XNTi6W1ikRcHQtxaYpe2JiVT5NZhSLpsKg="; + rev = "cc4bb3975de8835291f9bb45889e96c6b2795fc4"; + hash = "sha256-+GRJuvsO4nf+RczyDOojfUc+nfsM9JIENUv43fEZPYU="; }; meta.homepage = "https://github.com/linux-cultist/venv-selector.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -22008,12 +22008,12 @@ final: prev: { vim-lsp-settings = buildVimPlugin { pname = "vim-lsp-settings"; - version = "0.0.1-unstable-2026-04-04"; + version = "0.0.1-unstable-2026-05-21"; src = fetchFromGitHub { owner = "mattn"; repo = "vim-lsp-settings"; - rev = "a0ec2ee4e75a14f2471896a1192c1970d7be4258"; - hash = "sha256-G7+ToiCUgdwANcPtVZFqBsAEcON+mwgpaRQtOaXtpb8="; + rev = "1558bbaba4cbb593901e3dfc4d0f1a0cd212b09c"; + hash = "sha256-wMF4y4eMz7UR50GpBvStDsQ0SpKUt48tll6rqEr6AHY="; }; meta.homepage = "https://github.com/mattn/vim-lsp-settings/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -22148,12 +22148,12 @@ final: prev: { vim-matchup = buildVimPlugin { pname = "vim-matchup"; - version = "0.8.0-unstable-2026-04-10"; + version = "0.8.0-unstable-2026-05-19"; src = fetchFromGitHub { owner = "andymass"; repo = "vim-matchup"; - rev = "dccb2d12ef2a703d2f076b3cda36a3339449d1eb"; - hash = "sha256-REbSURtBOLWhjyZyJdEQ4VQXifX6e3bv9+B9PpKlq8o="; + rev = "a2d618496223386844acb5a6763cfc3cc1357af1"; + hash = "sha256-6v4kWrOxGvrtSkL7itcxXgOarKWmb0y++8mLnyc1XRI="; }; meta.homepage = "https://github.com/andymass/vim-matchup/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -22288,12 +22288,12 @@ final: prev: { vim-moonfly-colors = buildVimPlugin { pname = "vim-moonfly-colors"; - version = "0-unstable-2026-04-26"; + version = "0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "bluz71"; repo = "vim-moonfly-colors"; - rev = "4ed07bc0c6083cdd547c63f5c245e02c068b0c45"; - hash = "sha256-78F44cldvn+D/cfeaSe4A7LURMArCvkUJER22oTUuyM="; + rev = "1c0a9994bb6bb5b43859c67924aabd061c4b7905"; + hash = "sha256-x3IbuNHg+y0NtNguJnWCpz3bsj9aR41ecTToUYFQlNM="; }; meta.homepage = "https://github.com/bluz71/vim-moonfly-colors/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -22904,12 +22904,12 @@ final: prev: { vim-plug = buildVimPlugin { pname = "vim-plug"; - version = "0.14.0-unstable-2026-05-17"; + version = "0.14.0-unstable-2026-05-22"; src = fetchFromGitHub { owner = "junegunn"; repo = "vim-plug"; - rev = "d7db1b637c68f7c9a6b4c2c2bc73d8c18e7b40c0"; - hash = "sha256-MqmNRtjN/tvDJKZjiUqqzVuq/tvD9OO5bgWmN2Fa058="; + rev = "88e31471818e9a29a8a20a0ee61360cfd7bdc1cd"; + hash = "sha256-zdk3aAAH3N8oBxd1if8p42Cp9FIuRCdk5wgivX6IyVw="; }; meta.homepage = "https://github.com/junegunn/vim-plug/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -23813,12 +23813,12 @@ final: prev: { vim-spirv = buildVimPlugin { pname = "vim-spirv"; - version = "0.5.2-unstable-2026-05-16"; + version = "0.5.2-unstable-2026-05-21"; src = fetchFromGitHub { owner = "kbenzie"; repo = "vim-spirv"; - rev = "46a58ad2e5b173ada034e6bfe23f746c29df94a1"; - hash = "sha256-DDOxzEp0L1M3hJYkOF1BeEscShaTx5oINuJPE0haJBk="; + rev = "4f35017d1a52c3fa836329a50c29783fc765da5e"; + hash = "sha256-xIoJeN7wOM5piBFGBJNzuzguCanAZfBZCZGUPJpV8Jk="; }; meta.homepage = "https://github.com/kbenzie/vim-spirv/"; meta.license = getLicenseFromSpdxId "MIT"; @@ -23827,12 +23827,12 @@ final: prev: { vim-splunk = buildVimPlugin { pname = "vim-splunk"; - version = "0-unstable-2025-08-25"; + version = "0-unstable-2026-05-24"; src = fetchFromGitHub { owner = "yorokobi"; repo = "vim-splunk"; - rev = "b6306fc0105caa3ff9d8a2bb0a858a691a98a4af"; - hash = "sha256-cacNP4C9vl4h36GzWrrSZlRg53HelyYt+oXX0krHnyA="; + rev = "003bc863caa442dbcbb711d8c61ad8895c0da47a"; + hash = "sha256-KRF707b0O9FuS5R7m688+9x7RxNzRlDFI3Nz2g6nels="; }; meta.homepage = "https://github.com/yorokobi/vim-splunk/"; meta.license = getLicenseFromSpdxId "Unlicense"; @@ -25675,12 +25675,12 @@ final: prev: { yanky-nvim = buildVimPlugin { pname = "yanky.nvim"; - version = "2.0.0-unstable-2026-03-12"; + version = "2.0.0-unstable-2026-05-20"; src = fetchFromGitHub { owner = "gbprod"; repo = "yanky.nvim"; - rev = "784188e0a7363e762e53140f39124d786aec0832"; - hash = "sha256-oGiXbSXo48NbaImzIKquEvplPCotLeIs4scvbhO6wyA="; + rev = "b13d318dc7c816e2eee626dde61fa0a7237bc77e"; + hash = "sha256-6WukBxyEIc9vEay0vN8R0zfxxU54+bkxLAQzsqc6AA8="; }; meta.homepage = "https://github.com/gbprod/yanky.nvim/"; meta.license = getLicenseFromSpdxId "WTFPL"; @@ -25704,12 +25704,12 @@ final: prev: { yazi-nvim = buildVimPlugin { pname = "yazi.nvim"; - version = "13.1.5-unstable-2026-05-19"; + version = "13.1.6"; src = fetchFromGitHub { owner = "mikavilpas"; repo = "yazi.nvim"; - rev = "cad24771df41423022233f11078087c4c8400e51"; - hash = "sha256-ln4eMzgrrdMCQBWJrJaCb3q5VLYFkmWExgTYcp1dL+g="; + tag = "v13.1.6"; + hash = "sha256-8NDBtyAWddj4t76Sl0phUdA9pTbEf4Q1RvodDd/bN4w="; }; meta.homepage = "https://github.com/mikavilpas/yazi.nvim/"; meta.license = getLicenseFromSpdxId "MIT"; From f8a361aa03318eef717f5b3cd4eedd2e12b9bcdc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 May 2026 19:20:17 +0000 Subject: [PATCH 41/69] proxelar: 0.4.4 -> 0.4.5 --- pkgs/by-name/pr/proxelar/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pr/proxelar/package.nix b/pkgs/by-name/pr/proxelar/package.nix index 96548c6c3c08..8e88bee7ae56 100644 --- a/pkgs/by-name/pr/proxelar/package.nix +++ b/pkgs/by-name/pr/proxelar/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "proxelar"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = "emanuele-em"; repo = "proxelar"; tag = "v${finalAttrs.version}"; - hash = "sha256-dUz20mk9ghUyCRuxkEpjjibhDMk7kAezZxGPadQhhM0="; + hash = "sha256-/uRvk0bUkDtxpNEKLOgh8J1V2+xaTxAHZdrXTnLApFM="; }; - cargoHash = "sha256-Jc6NExi2BUs1Hoia4MyDouj/LUO9tCRN0Pu2/32uG7c="; + cargoHash = "sha256-j94fVzAJa/4B4et98LowZmbKwAy9eZ/qhfKjZ9p/9NI="; __structuredAttrs = true; From 5b18b0edf249ce42162a668842c295b371b57eec Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 24 May 2026 22:55:51 +0200 Subject: [PATCH 42/69] python3Packages.aiovodafone: 3.2.0 -> 3.3.0 Diff: https://github.com/chemelli74/aiovodafone/compare/v3.2.0...v3.3.0 Changelog: https://github.com/chemelli74/aiovodafone/blob/v3.3.0/CHANGELOG.md --- .../development/python-modules/aiovodafone/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/aiovodafone/default.nix b/pkgs/development/python-modules/aiovodafone/default.nix index cb4b5a5beffc..d2484c3b03b6 100644 --- a/pkgs/development/python-modules/aiovodafone/default.nix +++ b/pkgs/development/python-modules/aiovodafone/default.nix @@ -3,35 +3,33 @@ aiohttp, beautifulsoup4, buildPythonPackage, - colorlog, cryptography, fetchFromGitHub, orjson, - poetry-core, pycryptodome, pytest-cov-stub, pytestCheckHook, segno, + setuptools, }: buildPythonPackage (finalAttrs: { pname = "aiovodafone"; - version = "3.2.0"; + version = "3.3.0"; pyproject = true; src = fetchFromGitHub { owner = "chemelli74"; repo = "aiovodafone"; tag = "v${finalAttrs.version}"; - hash = "sha256-CZz/rRRgZwP7gowYORkt8j99mU0CMgOX+M1JExvFNDI="; + hash = "sha256-KKd8dOabm/6YksBG6+51zYUsgiA4wFW6dGe2tiX3fQA="; }; - build-system = [ poetry-core ]; + build-system = [ setuptools ]; dependencies = [ aiohttp beautifulsoup4 - colorlog cryptography orjson pycryptodome From 7b9d80ef9581c6870cdd4b398ac3ea3683dcfc1c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 May 2026 21:04:55 +0000 Subject: [PATCH 43/69] seconlay: 0-unstable-2026-04-30 -> 0-unstable-2026-05-21 --- pkgs/by-name/se/seconlay/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/se/seconlay/package.nix b/pkgs/by-name/se/seconlay/package.nix index 96f91cf3e929..405a92cad0f3 100644 --- a/pkgs/by-name/se/seconlay/package.nix +++ b/pkgs/by-name/se/seconlay/package.nix @@ -12,14 +12,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "seconlay"; - version = "0-unstable-2026-04-30"; + version = "0-unstable-2026-05-21"; src = fetchFromGitLab { group = "alasca.cloud"; owner = "scl"; repo = "scl-management"; - rev = "a2020efbbc950d037e17a3ae8d628e3205a80447"; - hash = "sha256-/m2HUdyT/euFVvWPZAHjPGsBH9XeUMuNGlfJFfH/A8Y="; + rev = "3ebeeda26e919750790c24899320ac1f6ba82904"; + hash = "sha256-+erlSKH8FBG2Ncpn6D61itTiB2IhbMefgO7EZ7NgZa8="; }; cargoHash = "sha256-pb9xqdgWrf8Lc10jSkkDb/1n0e15fMQ3AcKNPw6/vi8="; From d50bf01a684e92a24388ded29a572374cbf9add4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 May 2026 21:24:10 +0000 Subject: [PATCH 44/69] python3Packages.agent-client-protocol: 0.10.0 -> 0.10.1 --- .../python-modules/agent-client-protocol/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/agent-client-protocol/default.nix b/pkgs/development/python-modules/agent-client-protocol/default.nix index 043585007409..a4c117d13d6a 100644 --- a/pkgs/development/python-modules/agent-client-protocol/default.nix +++ b/pkgs/development/python-modules/agent-client-protocol/default.nix @@ -19,7 +19,7 @@ buildPythonPackage (finalAttrs: { pname = "agent-client-protocol"; - version = "0.10.0"; + version = "0.10.1"; pyproject = true; __structuredAttrs = true; @@ -27,7 +27,7 @@ buildPythonPackage (finalAttrs: { owner = "agentclientprotocol"; repo = "python-sdk"; tag = finalAttrs.version; - hash = "sha256-JndUYT3oimoDs6WDA4ixhNCZnswUAZA4nab5DT1xpbQ="; + hash = "sha256-iVmNzAx/YlvFXXVPjS1SmjDqGAr9aRDdSW93Nw2ayAY="; }; build-system = [ From 210e8f4276800ca402f4a5e55d7104155307cfac Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 May 2026 21:35:28 +0000 Subject: [PATCH 45/69] officecli: 1.0.93 -> 1.0.97 --- pkgs/by-name/of/officecli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/of/officecli/package.nix b/pkgs/by-name/of/officecli/package.nix index 856e91b45d39..4d2523070cde 100644 --- a/pkgs/by-name/of/officecli/package.nix +++ b/pkgs/by-name/of/officecli/package.nix @@ -8,7 +8,7 @@ buildDotnetModule (finalAttrs: { pname = "officecli"; - version = "1.0.93"; + version = "1.0.97"; strictDeps = true; __structuredAttrs = true; @@ -17,7 +17,7 @@ buildDotnetModule (finalAttrs: { owner = "iOfficeAI"; repo = "OfficeCLI"; tag = "v${finalAttrs.version}"; - hash = "sha256-FCBq3Ua3mSvkIqmtwSi+j5Z76Pe/uGDUVVbDOMC/DaA="; + hash = "sha256-JQQbMQhuT2S808Z64RQSkGcarmPaF1T8oypnUUTmV7Y="; }; projectFile = "src/officecli/officecli.csproj"; From 543917695099481eb55573957591114d619e3547 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Fri, 22 May 2026 23:45:53 +0200 Subject: [PATCH 46/69] 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. --- .github/workflows/periodic-merge-24h.yml | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml index fcd3b7ca1e6b..34282fb2c8f9 100644 --- a/.github/workflows/periodic-merge-24h.yml +++ b/.github/workflows/periodic-merge-24h.yml @@ -49,3 +49,34 @@ jobs: name: ${{ matrix.pairs.name || format('{0} → {1}', matrix.pairs.from, matrix.pairs.into) }} secrets: NIXPKGS_CI_APP_PRIVATE_KEY: ${{ secrets.NIXPKGS_CI_APP_PRIVATE_KEY }} + + # Resets the target branch of the current haskell-updates PR. + # This makes GitHub hide all the commits that are already part of staging and gives us a much clearer PR view. + haskell-updates: + needs: periodic-merge + runs-on: ubuntu-slim + permissions: + pull-requests: write + steps: + - name: Find PR and update target branch + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + with: + script: | + // There will at most be a single haskell-updates PR anyway, so no need to paginate. + await Promise.all( + ( + await github.rest.pulls.list({ + ...context.repo, + state: 'open', + head: `${context.repo.owner}:haskell-updates`, + }) + ).data.map((pr) => + github.rest.pulls.update({ + ...context.repo, + pull_number: pr.number, + // Just updating to the same branch to trigger a UI update. + // This is staging most of the time, but could be staging-next in rare cases. + base: pr.base.ref, + }), + ), + ) From bea3dfef20b6e057780295c8d0b4ffd398bdd67e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 24 May 2026 22:56:04 +0000 Subject: [PATCH 47/69] ncspot: 1.3.3 -> 1.3.4 --- pkgs/by-name/nc/ncspot/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nc/ncspot/package.nix b/pkgs/by-name/nc/ncspot/package.nix index 6ea05bc88c3b..f904d3326345 100644 --- a/pkgs/by-name/nc/ncspot/package.nix +++ b/pkgs/by-name/nc/ncspot/package.nix @@ -32,16 +32,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "ncspot"; - version = "1.3.3"; + version = "1.3.4"; src = fetchFromGitHub { owner = "hrkfdn"; repo = "ncspot"; tag = "v${finalAttrs.version}"; - hash = "sha256-U2uadZzC38pZf4For6Nyo91IXr9XqNSU6B+gpuTZJQo="; + hash = "sha256-QQeiVmMRF5ql2GVR5nopKtBrTAP8K1Rjs/B89+Azg5s="; }; - cargoHash = "sha256-ny1vGZSUHxjUZb/nxu2SXP1gimPlPBUejAjiqPpe+CM="; + cargoHash = "sha256-u6T5zaeN+rmTH5eM7Inpw/EZh48RauhhVhnAmUMYFIc="; nativeBuildInputs = [ pkg-config ] ++ lib.optional withClipboard python3; From 24e8d730ef4adac7727652e666cbf9dce4d21d03 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Mon, 25 May 2026 01:25:39 +0200 Subject: [PATCH 48/69] voicevox-engine: fix build by disabling failing test --- pkgs/by-name/vo/voicevox-engine/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/vo/voicevox-engine/package.nix b/pkgs/by-name/vo/voicevox-engine/package.nix index 41466c761e90..7f9aa888b195 100644 --- a/pkgs/by-name/vo/voicevox-engine/package.nix +++ b/pkgs/by-name/vo/voicevox-engine/package.nix @@ -97,6 +97,11 @@ python3Packages.buildPythonApplication (finalAttrs: { httpx ]; + disabledTests = [ + # test expects an exact response, but OpenAPI is returning something a tiny bit different + "test_OpenAPIの形が変わっていないことを確認" + ]; + passthru = { resources = fetchFromGitHub { name = "voicevox-resource-${finalAttrs.version}"; # this contains ${version} to invalidate the hash upon updating the package From 246b0d213592c846e31a626b5b4b571bc605f8a6 Mon Sep 17 00:00:00 2001 From: daspk04 Date: Sun, 24 May 2026 20:00:10 -0500 Subject: [PATCH 49/69] python3Packages.geoarrow-rust: fix the failing tests --- .../python-modules/geoarrow-rust/default.nix | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/geoarrow-rust/default.nix b/pkgs/development/python-modules/geoarrow-rust/default.nix index f7c5413a6fc4..26cc88a89d86 100644 --- a/pkgs/development/python-modules/geoarrow-rust/default.nix +++ b/pkgs/development/python-modules/geoarrow-rust/default.nix @@ -5,11 +5,21 @@ rustPlatform, pytestCheckHook, arro3-core, + obstore, + + # tests pyarrow, pyproj, numpy, pandas, geoarrow-types, + geopandas, + geodatasets, + shapely, + pyogrio, + pytest-asyncio, + arro3-io, + arro3-compute, }: let version = "0.6.1"; @@ -101,6 +111,7 @@ let dependencies = [ arro3-core pyproj + obstore ]; }; @@ -114,15 +125,39 @@ let nativeCheckInputs = [ pytestCheckHook + pytest-asyncio geoarrow-types pandas pyarrow numpy + geopandas + geodatasets + shapely + pyogrio + obstore + arro3-io + arro3-compute geoarrow-rust-core geoarrow-rust-io ]; - pytestFlags = [ "python" ]; + # use the latest test folder (skips the tests_old folder) + pytestFlags = [ "python/tests" ]; + + disabledTests = [ + # require internet access to download datasets + "test_parse_nybb" + "test_parse_nybb_chunked" + "test_getitem" + "test_geo_interface_polygon" + "test_parquet_file" + ]; + + # fix the directory name, as it is named as source for nix build + postPatch = '' + substituteInPlace python/tests/utils.py \ + --replace-fail 'while current_dir.stem != "geoarrow-rs":' 'while current_dir.stem != "source":' + ''; }; in { From 37249a0a29082516dd32312067e0be1cb59d04df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 24 May 2026 10:03:44 -0700 Subject: [PATCH 50/69] 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 --- pkgs/by-name/au/authentik/package.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/au/authentik/package.nix b/pkgs/by-name/au/authentik/package.nix index 680c719f0f06..ac0f05e63f4a 100644 --- a/pkgs/by-name/au/authentik/package.nix +++ b/pkgs/by-name/au/authentik/package.nix @@ -20,13 +20,13 @@ let nodejs = nodejs_24; - version = "2025.12.4"; + version = "2025.12.5"; src = fetchFromGitHub { owner = "goauthentik"; repo = "authentik"; tag = "version/${version}"; - hash = "sha256-alTyrMBbjZbw4jhEna8saabf93sqSrZCu+Z5xH3pZ7M="; + hash = "sha256-LPGAhbtmuztDQ4CVhUXb+vBU5HjvNZ7JicI5r3lr1QQ="; }; meta = { @@ -52,7 +52,7 @@ let src = fetchFromGitHub { owner = "goauthentik"; repo = "client-go"; - tag = "v3.${version}"; + tag = "v3.2025.12.4"; hash = "sha256-+/CfOE2HkBU+ZddvdXGenB/z8xNFk8cujpZpMXyh3cY="; }; @@ -137,8 +137,8 @@ let outputHash = { - "aarch64-linux" = "sha256-GL5FPIBnoEXYtw8DPJpRPe3tT3qioN4AdoeOmCoiYsM="; - "x86_64-linux" = "sha256-AnceTipq6uUvTbOAZanVshAbAJ9LS1kwImbttTOcWxc="; + "aarch64-linux" = "sha256-smm9x29z7gOI7Wq0NvP45KHtBbT6p1lH6IjEf9LRuGs="; + "x86_64-linux" = "sha256-K86wnn50svP+QG3i0mggH8RQgfoIqEmyQTouz35xzw8="; } .${stdenvNoCC.hostPlatform.system} or (throw "authentik-website-deps: unsupported host platform"); @@ -208,8 +208,8 @@ let outputHash = { - "aarch64-linux" = "sha256-eZZ5Ynj81KwFsU5emPtYZ2CxO8MFvWbJnCHs+L88KQQ="; - "x86_64-linux" = "sha256-yUAyyO1NFav1EptrRYGSzC8dxCxYVj0FmzHk8IckFZM="; + "aarch64-linux" = "sha256-J9wGQe7iMfKznNk3woqi0VNVNA/dE6TGi2f44DOlG1c="; + "x86_64-linux" = "sha256-9Q590Rw0mk3q5osxOKGWU7+XtKwkTyA+CLC2LxAA/3g="; } .${stdenvNoCC.hostPlatform.system} or (throw "authentik-webui-deps: unsupported host platform"); outputHashMode = "recursive"; From 0deb8382a832362ed85b2123eb6908f8a86fc508 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 01:18:57 +0000 Subject: [PATCH 51/69] garnet: 1.1.6 -> 1.1.9 --- pkgs/by-name/ga/garnet/deps.json | 4 ++-- pkgs/by-name/ga/garnet/package.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ga/garnet/deps.json b/pkgs/by-name/ga/garnet/deps.json index f4d238205c6a..615f91d8eefb 100644 --- a/pkgs/by-name/ga/garnet/deps.json +++ b/pkgs/by-name/ga/garnet/deps.json @@ -31,8 +31,8 @@ }, { "pname": "diskann-garnet", - "version": "1.0.26", - "hash": "sha256-xKcv20olcK/0HBKsiaB+gNXqz6YyKHEdvYVjqssIjy0=" + "version": "1.0.27", + "hash": "sha256-z1kj3LbJGVk0X4SDocHO9SaS/b5bMhRIvHNhjTEObi8=" }, { "pname": "KeraLua", diff --git a/pkgs/by-name/ga/garnet/package.nix b/pkgs/by-name/ga/garnet/package.nix index fbcfdd1c7f00..2e94b9fb39a9 100644 --- a/pkgs/by-name/ga/garnet/package.nix +++ b/pkgs/by-name/ga/garnet/package.nix @@ -8,13 +8,13 @@ buildDotnetModule rec { pname = "garnet"; - version = "1.1.6"; + version = "1.1.9"; src = fetchFromGitHub { owner = "microsoft"; repo = "garnet"; tag = "v${version}"; - hash = "sha256-OUCztqeE8oHaO0Cz/4Oz6bsp8GKszxwTjpbMLFvkCTE="; + hash = "sha256-8oZrUb3ed/M3juchn6OSRQAX6tfplekwmLLjHURtms8="; }; projectFile = "main/GarnetServer/GarnetServer.csproj"; From 9032d1d976934df487e56ebcd5c59d3d626e1235 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 01:35:41 +0000 Subject: [PATCH 52/69] tmux-sessionizer: 0.5.0 -> 0.6.0 --- pkgs/by-name/tm/tmux-sessionizer/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tm/tmux-sessionizer/package.nix b/pkgs/by-name/tm/tmux-sessionizer/package.nix index babf4f711d14..daf97c4e2ba2 100644 --- a/pkgs/by-name/tm/tmux-sessionizer/package.nix +++ b/pkgs/by-name/tm/tmux-sessionizer/package.nix @@ -9,16 +9,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "tmux-sessionizer"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "jrmoulton"; repo = "tmux-sessionizer"; rev = "v${finalAttrs.version}"; - hash = "sha256-6eMKwp5639DIyhM6OD+db7jr4uF34JSt0Xg+lpyIPSI="; + hash = "sha256-tJ8aKajSWc62BZ8hb3u+OQtlu04z8Ala5nAK5H4Byp4="; }; - cargoHash = "sha256-gIsqHbCmfYs1c3LPNbE4zLVjzU3GJ4MeHMt0DC5sS3c="; + cargoHash = "sha256-AJqlzLr6MDFfPssSFMxslxFFuPVxoQGcuG7sZeu+8pg="; nativeInstallCheckInputs = [ versionCheckHook From 3fb9f6e816be914ce970e35ddf8d7ecafebf39f0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 02:24:12 +0000 Subject: [PATCH 53/69] kirimoto: 4.6.3 -> 4.7.0 --- pkgs/by-name/ki/kirimoto/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ki/kirimoto/package.nix b/pkgs/by-name/ki/kirimoto/package.nix index 47f70c734141..608466b56362 100644 --- a/pkgs/by-name/ki/kirimoto/package.nix +++ b/pkgs/by-name/ki/kirimoto/package.nix @@ -5,12 +5,12 @@ }: let - version = "4.6.3"; + version = "4.7.0"; pname = "kirimoto"; src = fetchurl { url = "https://github.com/GridSpace/grid-apps/releases/download/${version}/KiriMoto-linux-x86_64.AppImage"; - hash = "sha256-YCfDCR92xtwL3634iIMYf6IjkeqoWrF7/YNCwKSjnfs=="; + hash = "sha256-bLeGDZzAzBVC4tTwcC8uDngqOEeJ/vyTJGre+EovOgs="; }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; From 15c65151bbe6e4295c7197884fe6d3960fad4afa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 04:25:21 +0000 Subject: [PATCH 54/69] icm: 0.10.49 -> 0.10.50 --- pkgs/by-name/ic/icm/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ic/icm/package.nix b/pkgs/by-name/ic/icm/package.nix index 65a8df3cb152..15a9f5957d4d 100644 --- a/pkgs/by-name/ic/icm/package.nix +++ b/pkgs/by-name/ic/icm/package.nix @@ -12,17 +12,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "icm"; - version = "0.10.49"; + version = "0.10.50"; __structuredAttrs = true; src = fetchFromGitHub { owner = "rtk-ai"; repo = "icm"; tag = "icm-v${finalAttrs.version}"; - hash = "sha256-GB2SH/Y2l4AkxoFqJfWcsGmWK4uOayCs1FSxBuXShwc="; + hash = "sha256-zaKpKMVH2vzUk0ryWupE4ByqqcmAdJwAe5ybb2TNlvM="; }; - cargoHash = "sha256-U0mHWzRI6BDVC4LRpwWz/QbCeT0fEPxKoY5+1DrI048="; + cargoHash = "sha256-5NcmFaRqDla2ei694fJiqNr5n4V3A/ai3/9fzBHNa3s="; nativeBuildInputs = [ pkg-config From edd20afb0b70d886553d934a860b31bcd0712214 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 04:38:27 +0000 Subject: [PATCH 55/69] rio: 0.4.4 -> 0.4.5 --- pkgs/by-name/ri/rio/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ri/rio/package.nix b/pkgs/by-name/ri/rio/package.nix index d4e4249bfe9e..21a169c0288a 100644 --- a/pkgs/by-name/ri/rio/package.nix +++ b/pkgs/by-name/ri/rio/package.nix @@ -51,16 +51,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "rio"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = "raphamorim"; repo = "rio"; tag = "v${finalAttrs.version}"; - hash = "sha256-fjPuB2/sEXsE8gnnvDLU5a6Qgac3crbs7v/kOlUhtZE="; + hash = "sha256-ON7CJ1NDwLfjvLZ0ugN45LUjBGiwRNASiQwuDa6F1vM="; }; - cargoHash = "sha256-4J9JppiaL377m2THRZhxCkDuHJggJBCHhnWaV1E0fIA="; + cargoHash = "sha256-vSQ5heZZ8tYKeMABhZ8AziEAniavnAasH04BVlqYF4g="; nativeBuildInputs = [ rustPlatform.bindgenHook From 0a8be13f306f6e79f851bcc0f492a76cdedc796c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 04:54:10 +0000 Subject: [PATCH 56/69] daktari: 0.0.321 -> 0.0.324 --- pkgs/by-name/da/daktari/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/da/daktari/package.nix b/pkgs/by-name/da/daktari/package.nix index 51ae7fd0f4b9..b790d4e82dae 100644 --- a/pkgs/by-name/da/daktari/package.nix +++ b/pkgs/by-name/da/daktari/package.nix @@ -7,7 +7,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "daktari"; - version = "0.0.321"; + version = "0.0.324"; pyproject = true; __structuredAttrs = true; @@ -15,7 +15,7 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "genio-learn"; repo = "daktari"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZxSyN1yv0MCKo5y9uTGFRURA3hc04DnzOzXAuNHi/s0="; + hash = "sha256-f9TpdxarSTMmXhalrjFmGT+zIUNMY+add5OiTq/xW7A="; }; patches = [ ./optional-pyclip.patch ]; From 9a1419dce076c18b427ac661b11fb7a61d58dd32 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 05:06:45 +0000 Subject: [PATCH 57/69] python3Packages.pytest-resource-path: 1.4.1 -> 1.5.0 --- .../python-modules/pytest-resource-path/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytest-resource-path/default.nix b/pkgs/development/python-modules/pytest-resource-path/default.nix index 811bb87e5968..9ed070b1cd50 100644 --- a/pkgs/development/python-modules/pytest-resource-path/default.nix +++ b/pkgs/development/python-modules/pytest-resource-path/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pytest-resource-path"; - version = "1.4.1"; + version = "1.5.0"; pyproject = true; src = fetchFromGitHub { owner = "yukihiko-shinoda"; repo = "pytest-resource-path"; tag = "v${version}"; - hash = "sha256-f0jN6V6tQRbr/DHOKKTrFCb1EBUUxZAQRckMy2iiVqI="; + hash = "sha256-Y/mB5Gmkt3Rt8rRBOFZrWIREnpEiSxf/MChqymXDNws="; }; build-system = [ setuptools ]; From 88aa5af92363220a9a1de131c75b608c8d3ae1b5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 07:05:03 +0000 Subject: [PATCH 58/69] python3Packages.disposable-email-domains: 0.0.181 -> 0.0.188 --- .../python-modules/disposable-email-domains/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/disposable-email-domains/default.nix b/pkgs/development/python-modules/disposable-email-domains/default.nix index 702461222ff4..479d579f46cb 100644 --- a/pkgs/development/python-modules/disposable-email-domains/default.nix +++ b/pkgs/development/python-modules/disposable-email-domains/default.nix @@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: { pname = "disposable-email-domains"; - version = "0.0.181"; + version = "0.0.188"; pyproject = true; __structuredAttrs = true; @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { src = fetchPypi { pname = "disposable_email_domains"; inherit (finalAttrs) version; - hash = "sha256-BtW0MXgFTphae3O5XPDnix8RTKDx/tvzpTN4znZjFSI="; + hash = "sha256-CRSFrSo7wSUIBY3l/n5Uf3wM0AwbrxRiELepz0NWOXQ="; }; build-system = [ From 30575c536be8237607e568c4e8236a20e3c2f78f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 25 May 2026 07:20:52 +0000 Subject: [PATCH 59/69] python3Packages.geoarrow-rust: sort entries --- .../python-modules/geoarrow-rust/default.nix | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/pkgs/development/python-modules/geoarrow-rust/default.nix b/pkgs/development/python-modules/geoarrow-rust/default.nix index 26cc88a89d86..8bb08b06c22b 100644 --- a/pkgs/development/python-modules/geoarrow-rust/default.nix +++ b/pkgs/development/python-modules/geoarrow-rust/default.nix @@ -8,18 +8,18 @@ obstore, # tests - pyarrow, - pyproj, + arro3-compute, + arro3-io, + geoarrow-types, + geodatasets, + geopandas, numpy, pandas, - geoarrow-types, - geopandas, - geodatasets, - shapely, + pyarrow, pyogrio, + pyproj, pytest-asyncio, - arro3-io, - arro3-compute, + shapely, }: let version = "0.6.1"; @@ -110,8 +110,8 @@ let pythonImportsCheck = [ "geoarrow.rust.io" ]; dependencies = [ arro3-core - pyproj obstore + pyproj ]; }; @@ -124,21 +124,21 @@ let dontInstall = true; nativeCheckInputs = [ - pytestCheckHook - pytest-asyncio - geoarrow-types - pandas - pyarrow - numpy - geopandas - geodatasets - shapely - pyogrio - obstore - arro3-io arro3-compute + arro3-io geoarrow-rust-core geoarrow-rust-io + geoarrow-types + geodatasets + geopandas + numpy + obstore + pandas + pyarrow + pyogrio + pytest-asyncio + pytestCheckHook + shapely ]; # use the latest test folder (skips the tests_old folder) From de7a08e42e79ae83656710b4a065ae738025f1db Mon Sep 17 00:00:00 2001 From: Victor Jacobs Date: Mon, 25 May 2026 09:23:26 +0200 Subject: [PATCH 60/69] jellyfin: 10.11.8 -> 10.11.10 --- pkgs/by-name/je/jellyfin-web/package.nix | 6 +++--- pkgs/by-name/je/jellyfin/package.nix | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/je/jellyfin-web/package.nix b/pkgs/by-name/je/jellyfin-web/package.nix index 64a18cea81eb..9a3cdc75d5f3 100644 --- a/pkgs/by-name/je/jellyfin-web/package.nix +++ b/pkgs/by-name/je/jellyfin-web/package.nix @@ -13,7 +13,7 @@ }: buildNpmPackage (finalAttrs: { pname = "jellyfin-web"; - version = "10.11.8"; + version = "10.11.10"; src = assert finalAttrs.version == jellyfin.version; @@ -21,7 +21,7 @@ buildNpmPackage (finalAttrs: { owner = "jellyfin"; repo = "jellyfin-web"; tag = "v${finalAttrs.version}"; - hash = "sha256-Nrh4BNlhJyzj9cXQ6Yr7349r5H+4r9W3aldcg9+J6dU="; + hash = "sha256-fSpzF6Arx0JfL9fuQHjzf3m82XZR2BZkV0lA37L4DN4="; }; nodejs = nodejs_22; @@ -31,7 +31,7 @@ buildNpmPackage (finalAttrs: { --replace-fail "git describe --always --dirty" "echo ${finalAttrs.src.rev}" ''; - npmDepsHash = "sha256-oxytp6n/4X1bhpfFqpqMAji86sbjV669F324zY3hoK4="; + npmDepsHash = "sha256-DCFgivbZrDufRaB+4PeFxO6ISbEM9lXhXmlzc/5GbVU="; preBuild = '' # using sass-embedded fails at executing node_modules/sass-embedded-linux-x64/dart-sass/src/dart diff --git a/pkgs/by-name/je/jellyfin/package.nix b/pkgs/by-name/je/jellyfin/package.nix index 975ae1745201..89353c557a47 100644 --- a/pkgs/by-name/je/jellyfin/package.nix +++ b/pkgs/by-name/je/jellyfin/package.nix @@ -14,13 +14,13 @@ buildDotnetModule (finalAttrs: { pname = "jellyfin"; - version = "10.11.8"; # ensure that jellyfin-web has matching version + version = "10.11.10"; # ensure that jellyfin-web has matching version src = fetchFromGitHub { owner = "jellyfin"; repo = "jellyfin"; tag = "v${finalAttrs.version}"; - hash = "sha256-wBf561mZvC65Hu4MHHSu8YeILQDp/WN9vGA+JxGXwE8="; + hash = "sha256-bad532F8Ln5Y3TV4x5c7mgsiI+ZJGTZoahuSZhefMvQ="; }; propagatedBuildInputs = [ sqlite ]; From c8272f5d4cbb3061510a48aac27ad075c4d0c995 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 07:30:20 +0000 Subject: [PATCH 61/69] nushell: 0.112.2 -> 0.113.0 --- pkgs/by-name/nu/nushell/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nu/nushell/package.nix b/pkgs/by-name/nu/nushell/package.nix index 342f64aa4af0..82f6c4a939eb 100644 --- a/pkgs/by-name/nu/nushell/package.nix +++ b/pkgs/by-name/nu/nushell/package.nix @@ -24,16 +24,16 @@ rustPlatform.buildRustPackage (finalAttrs: { # NOTE: when updating this to a new non-patch version, please also try to # update the plugins. Plugins only work if they are compiled for the same # major/minor version. - version = "0.112.2"; + version = "0.113.0"; src = fetchFromGitHub { owner = "nushell"; repo = "nushell"; tag = finalAttrs.version; - hash = "sha256-wc7mfbwkJO5gq9mwsiTVx74+btqU6Ox8tPhnXkfmXRU="; + hash = "sha256-qIiPEW2XO2gf9pMDHhGEvCfSU5iiOKMwi+9wAQEfjjw="; }; - cargoHash = "sha256-KBDgICbdYcqgMLtUXWQsMPe1fO7zT4NcavAyS2i0cDc="; + cargoHash = "sha256-E7xO6oTw4uWh41g92AqkQ5iIr/uD6RCc2kBAYUP3Flg="; nativeBuildInputs = [ pkg-config From 4f2f5d3940bbe2db020d50ae35b4e7f46930cabb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 20 May 2026 13:12:31 +0000 Subject: [PATCH 62/69] python3Packages.geoarrow-rust-core: 0.6.1 -> 0.6.2 --- pkgs/development/python-modules/geoarrow-rust/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/geoarrow-rust/default.nix b/pkgs/development/python-modules/geoarrow-rust/default.nix index 8bb08b06c22b..e1967b606158 100644 --- a/pkgs/development/python-modules/geoarrow-rust/default.nix +++ b/pkgs/development/python-modules/geoarrow-rust/default.nix @@ -22,13 +22,13 @@ shapely, }: let - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "geoarrow"; repo = "geoarrow-rs"; tag = "py-v${version}"; - hash = "sha256-3/HOQsgQVpEd9iAVvIHvpb0slg55/V6X6KLLvhDUVz4="; + hash = "sha256-qQGGG8aGwFR7ApLaQAE0iQSElpSBeRTtbq4+1xbTC/o="; }; cargoDeps = rustPlatform.fetchCargoVendor { From d1e1404d547b80e6b66de0d96c436fa4405db3f7 Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Sat, 20 Dec 2025 18:19:19 -0500 Subject: [PATCH 63/69] tmuxPlugins.search-panes: init at 0-unstable-2025-07-27 --- pkgs/misc/tmux-plugins/default.nix | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix index 2415eba2774f..28c809ed996d 100644 --- a/pkgs/misc/tmux-plugins/default.nix +++ b/pkgs/misc/tmux-plugins/default.nix @@ -770,6 +770,42 @@ in }; }; + search-panes = mkTmuxPlugin { + pluginName = "search-panes"; + version = "0-unstable-2025-07-27"; + src = fetchFromGitHub { + owner = "multi-io"; + repo = "tmux-search-panes"; + rev = "3996b5c56c6be69d3a85ef26065b1877d9ac71c6"; + hash = "sha256-Z9Gu4v2LAyG6UxXVLTvQUz1wU4PaJlBQXjLiSzfSP7s="; + }; + rtpFilePath = "tmux-search-panes.tmux"; + nativeBuildInputs = [ pkgs.makeWrapper ]; + postInstall = '' + for f in search-panes.sh _fzf-and-switch.sh _render-preview.sh; do + chmod +x $target/bin/$f + wrapProgram $target/bin/$f \ + --prefix PATH : ${ + with pkgs; + lib.makeBinPath [ + coreutils + fzf + gnugrep + gnused + tmux + ] + } + done + ''; + meta = { + homepage = "https://github.com/multi-io/tmux-search-panes"; + description = "Tmux plugin that allows you to perform a fulltext search"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.DieracDelta ]; + }; + }; + sensible = mkTmuxPlugin { pluginName = "sensible"; version = "unstable-2022-08-14"; From 0b740d626fcc6e408bda8815ad7dc80324e71318 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 10:30:25 +0000 Subject: [PATCH 64/69] pscale: 0.282.0 -> 0.284.0 --- pkgs/by-name/ps/pscale/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ps/pscale/package.nix b/pkgs/by-name/ps/pscale/package.nix index 23367cc65a96..8830202c0fc6 100644 --- a/pkgs/by-name/ps/pscale/package.nix +++ b/pkgs/by-name/ps/pscale/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "pscale"; - version = "0.282.0"; + version = "0.284.0"; src = fetchFromGitHub { owner = "planetscale"; repo = "cli"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-qCbdsSu4XTMbinW87AUO6y125nHhsD+dQ0JioMXIqVM="; + sha256 = "sha256-Zc9QPqina0GWPeS+mHe5lc9Flmo+xAyWPdLq+Znptmw="; }; - vendorHash = "sha256-+XZRC6Q2Qc1Oc4fn6SsLNqDvZTvgK6HDFESrmvxKzGo="; + vendorHash = "sha256-bI939rwDZMP0UJqKJ7UdQnd1FK1RkeyOToFTfDCmSVc="; ldflags = [ "-s" From 06d04f05f4256324d99eb42dc29af778656292e4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 25 May 2026 13:02:24 +0200 Subject: [PATCH 65/69] python3Packages.pytest-resource-path: migrate to finalAttrs --- .../python-modules/pytest-resource-path/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pytest-resource-path/default.nix b/pkgs/development/python-modules/pytest-resource-path/default.nix index 9ed070b1cd50..37ea36285457 100644 --- a/pkgs/development/python-modules/pytest-resource-path/default.nix +++ b/pkgs/development/python-modules/pytest-resource-path/default.nix @@ -8,7 +8,7 @@ setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pytest-resource-path"; version = "1.5.0"; pyproject = true; @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "yukihiko-shinoda"; repo = "pytest-resource-path"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-Y/mB5Gmkt3Rt8rRBOFZrWIREnpEiSxf/MChqymXDNws="; }; @@ -36,4 +36,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 874bdfab83cf7405f81f48466f66b4fe907324ea Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 25 May 2026 14:05:28 +0200 Subject: [PATCH 66/69] deadbeefPlugins.lyricbar: move env variable into env --- pkgs/applications/audio/deadbeef/plugins/lyricbar.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix index ca704d100a12..8c2e9b34f650 100644 --- a/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix +++ b/pkgs/applications/audio/deadbeef/plugins/lyricbar.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { libxmlxx3 ]; - NIX_CFLAGS_COMPILE = "-Wno-incompatible-pointer-types"; + env.NIX_CFLAGS_COMPILE = "-Wno-incompatible-pointer-types"; buildFlags = [ "gtk3" ]; From c2349435ceaff56e7b658a73d7b0eac6d24e6889 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 25 May 2026 14:05:42 +0200 Subject: [PATCH 67/69] deadbeefPlugins.musical-spectrum: move env variable into env --- pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix b/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix index a5d89de1e3c7..4a25d26d7068 100644 --- a/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix +++ b/pkgs/applications/audio/deadbeef/plugins/musical-spectrum.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation { ]; makeFlags = [ "gtk3" ]; - NIX_CFLAGS_COMPILE = "-Wno-incompatible-pointer-types"; + env.NIX_CFLAGS_COMPILE = "-Wno-incompatible-pointer-types"; installPhase = '' runHook preInstall From 8696923960195f975d72b2bb87db212cdf105349 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 May 2026 12:18:59 +0000 Subject: [PATCH 68/69] whosthere: 0.7.1 -> 0.8.2 --- pkgs/by-name/wh/whosthere/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wh/whosthere/package.nix b/pkgs/by-name/wh/whosthere/package.nix index 821630d4e830..29e4128f8668 100644 --- a/pkgs/by-name/wh/whosthere/package.nix +++ b/pkgs/by-name/wh/whosthere/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "whosthere"; - version = "0.7.1"; + version = "0.8.2"; src = fetchFromGitHub { owner = "ramonvermeulen"; repo = "whosthere"; tag = "v${finalAttrs.version}"; - hash = "sha256-+cG9iJhIkIQ3yakx/DYGKqd+pX/AaqnCgDdC/3Spvws="; + hash = "sha256-FgjsmUg4oEF+WVBhZXIE0MzpBr+s9sXuXIFxqHKD8U8="; }; - vendorHash = "sha256-sNx1Ej8vh/Lw4wpitWQdLZ2LM8K6JgM/snSZRw9RN94="; + vendorHash = "sha256-mQ17BCJGc4LQOUdyWGlWoSJPbqwg55vRGfEbrcDllG4="; nativeBuildInputs = [ installShellFiles From 349a55616fc5218a8485cde485763cc49de4c3d2 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 25 May 2026 14:21:23 +0200 Subject: [PATCH 69/69] vg: move NIX_CFLAGS_COMPILE into env for consistency The rest of nixpkgs (minus some stragglers) has had this moved into env. This commit does actually cause a rebuild since structuredAttrs is already enabled. --- pkgs/by-name/vg/vg/package.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/vg/vg/package.nix b/pkgs/by-name/vg/vg/package.nix index 816af95965f1..8a698ab71403 100644 --- a/pkgs/by-name/vg/vg/package.nix +++ b/pkgs/by-name/vg/vg/package.nix @@ -128,14 +128,15 @@ stdenv.mkDerivation (finalAttrs: { ] ); - # needed, else build fails - env.VG_GIT_VERSION = finalAttrs.src.tag; - - # deps/elfutils - NIX_CFLAGS_COMPILE = toString [ - "-Wno-error=stringop-overflow" - "-Wno-error=unterminated-string-initialization" - ]; + env = { + # needed, else build fails + VG_GIT_VERSION = finalAttrs.src.tag; + # deps/elfutils + NIX_CFLAGS_COMPILE = toString [ + "-Wno-error=stringop-overflow" + "-Wno-error=unterminated-string-initialization" + ]; + }; makeFlags = [ # don't build statically