From c33e4fb975cc2b54f5fc15a5ce13707aa64fa59b Mon Sep 17 00:00:00 2001 From: Timofey Katkov Date: Mon, 2 Mar 2026 13:59:17 +0300 Subject: [PATCH 001/124] maintainers: add katok --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7212202f4846..df3ad46fa490 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13699,6 +13699,13 @@ matrix = "@katexochen:matrix.org"; name = "Paul Meyer"; }; + katok = { + name = "katok"; + email = "kat.ok.timofey@gmail.com"; + matrix = "@kat.ok:matrix.org"; + github = "Hi-Timofey"; + githubId = 43324422; + }; katrinafyi = { name = "katrinafyi"; github = "katrinafyi"; From 351caafd8791a03fd4522284fd3393ec1da8fa70 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Mon, 23 Mar 2026 03:45:27 +0100 Subject: [PATCH 002/124] Revert "python3Packages.taskw-ng: 0.2.7 -> 2.0.0" This reverts commit f1e973e23daeef6c26f054ebf687927885f558de. --- pkgs/development/python-modules/taskw-ng/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/taskw-ng/default.nix b/pkgs/development/python-modules/taskw-ng/default.nix index 03f4d82ab771..b4e216a53278 100644 --- a/pkgs/development/python-modules/taskw-ng/default.nix +++ b/pkgs/development/python-modules/taskw-ng/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "taskw-ng"; - version = "2.0.0"; + version = "0.2.7"; pyproject = true; src = fetchFromGitHub { owner = "bergercookie"; repo = "taskw-ng"; - tag = version; - hash = "sha256-hTZi6Y3jVlBI+CGQtHZ4PBU5rjEjE2l8o2rusCkEma0="; + tag = "v${version}"; + hash = "sha256-KxXLSDvUclQlNbMR+Zzl6tgBrH2QxqjLVoyBK3OiKVU="; }; pythonRelaxDeps = [ From 3f1ae69d93b027b3b98708761663a413ce86a8ef Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Mon, 23 Mar 2026 03:48:05 +0100 Subject: [PATCH 003/124] python3Packages.taskw-ng: skipBulkUpdate --- pkgs/development/python-modules/taskw-ng/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/taskw-ng/default.nix b/pkgs/development/python-modules/taskw-ng/default.nix index b4e216a53278..5174da5d5039 100644 --- a/pkgs/development/python-modules/taskw-ng/default.nix +++ b/pkgs/development/python-modules/taskw-ng/default.nix @@ -44,6 +44,7 @@ buildPythonPackage rec { # TODO: doesn't pass because `can_use` fails and `task --version` seems not to be answering. # pythonImportsCheck = [ "taskw_ng" ]; + passthru.skipBulkUpdate = true; meta = { description = "Module to interact with the Taskwarrior API"; From 3690c3a96967191f5041cd9a003796e034be359a Mon Sep 17 00:00:00 2001 From: Timofey Katkov Date: Mon, 2 Mar 2026 13:59:25 +0300 Subject: [PATCH 004/124] jxscout: init at 0.9.4 --- pkgs/by-name/jx/jxscout/package.nix | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pkgs/by-name/jx/jxscout/package.nix diff --git a/pkgs/by-name/jx/jxscout/package.nix b/pkgs/by-name/jx/jxscout/package.nix new file mode 100644 index 000000000000..dddfe226d890 --- /dev/null +++ b/pkgs/by-name/jx/jxscout/package.nix @@ -0,0 +1,50 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + makeWrapper, + prettier, + bun, + nodejs, +}: + +buildGoModule (finalAttrs: { + pname = "jxscout"; + version = "0.9.4"; + + src = fetchFromGitHub { + owner = "francisconeves97"; + repo = "jxscout"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DvvhcnjBHRHUEW5mWHLa7ufC+7yzYwKKOV79Syk5zME="; + }; + + subPackages = [ "cmd/jxscout" ]; + + vendorHash = null; + + nativeBuildInputs = [ makeWrapper ]; + + doCheck = true; + + postInstall = '' + wrapProgram $out/bin/jxscout --prefix PATH : ${ + lib.makeBinPath [ + prettier + bun + nodejs + ] + } + ''; + + meta = { + description = "jxscout superpowers JavaScript analysis for security researchers (free version)"; + homepage = "https://jxscout.app/"; + downloadPage = "https://github.com/francisconeves97/jxscout"; + changelog = "https://github.com/francisconeves97/jxscout/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + mainProgram = "jxscout"; + maintainers = with lib.maintainers; [ katok ]; + platforms = lib.platforms.linux ++ lib.platforms.darwin ++ lib.platforms.windows; + }; +}) From a10e03093f940f02068ec7b2a734678c6d70410c Mon Sep 17 00:00:00 2001 From: LunaFox Date: Thu, 29 Jan 2026 23:14:34 -0300 Subject: [PATCH 005/124] jetbrains.jdk: 21.0.9-1163.86 -> 25.0.2-329.72 Changelog: https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-25.0.2b329.72 --- .../compilers/jetbrains-jdk/default.nix | 36 ++++++++++++++++--- pkgs/top-level/all-packages.nix | 6 ++-- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix index 33f6231aafbd..fee99c50f5d5 100644 --- a/pkgs/development/compilers/jetbrains-jdk/default.nix +++ b/pkgs/development/compilers/jetbrains-jdk/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, + fetchurl, fetchFromGitHub, jetbrains, jdk, @@ -26,6 +27,8 @@ libdrm, libgbm, wayland, + wayland-scanner, + wayland-protocols, udev, fontconfig, shaderc, @@ -45,27 +48,38 @@ let in jdk.overrideAttrs (oldAttrs: rec { pname = "jetbrains-jdk" + lib.optionalString withJcef "-jcef"; - javaVersion = "21.0.9"; - build = "1163.86"; + javaVersion = "25.0.2"; + build = "329.72"; # To get the new tag: # git clone https://github.com/jetbrains/jetbrainsruntime # cd jetbrainsruntime # git tag --points-at [revision] # Look for the line that starts with jbr- - openjdkTag = "jbr-release-21.0.9b1163.86"; version = "${javaVersion}-b${build}"; + openjdkTag = "jbr-release-${javaVersion}b${build}"; src = fetchFromGitHub { owner = "JetBrains"; repo = "JetBrainsRuntime"; rev = "jb${version}"; - hash = "sha256-P2boCbGB66X8LB4sZHGFO8lqHbv6F4kqGVMGBd9yKu0="; + hash = "sha256-K4Izbij+1YO4UERHS0mwGKZX/VtIaxyNPZD068Vf99Q="; }; + gtk-protocols = + let + rev = "refs/tags/4.22.1"; + hash = "sha256-zCcXuiEYL2N4Q+WT96ouVDwdZVSohgU/QA2BkGlnZZ0="; + in + fetchurl { + # We only need the wayland protocols file + url = "https://raw.githubusercontent.com/GNOME/gtk/${rev}/gdk/wayland/protocol/gtk-shell.xml"; + hash = hash; + }; + env = (oldAttrs.env or { }) // { BOOT_JDK = jdk.home; # run `git log -1 --pretty=%ct` in jdk repo for new value on update - SOURCE_DATE_EPOCH = 1765114563; + SOURCE_DATE_EPOCH = 1769205294; }; patches = [ ]; @@ -76,25 +90,35 @@ jdk.overrideAttrs (oldAttrs: rec { runHook preBuild ${lib.optionalString withJcef "cp -r ${jetbrains.jcef} jcef_linux_${arch}"} + cp -r ${gtk-protocols.out} gtk-shell.xml sed \ -e "s/OPENJDK_TAG=.*/OPENJDK_TAG=${openjdkTag}/" \ -e "s/SOURCE_DATE_EPOCH=.*//" \ -e "s/export SOURCE_DATE_EPOCH//" \ -i jb/project/tools/common/scripts/common.sh + declare -a realConfigureFlags + for configureFlag in "''${configureFlags[@]}"; do case "$configureFlag" in --host=*) # intentionally omit flag ;; + --with-vendor-version-string=*) + # Replace the flag from the JDK to include that it is JBR and the package version, so it passes the installation tests + realConfigureFlags+=('--with-vendor-version-string="nix/JBR-${version}${lib.optionalString withJcef "-jcef"}"') + ;; *) realConfigureFlags+=("$configureFlag") ;; esac done + realConfigureFlags+=("--with-wayland-protocols=${wayland-protocols.out}/share/wayland-protocols") echo "computed configure flags: ''${realConfigureFlags[*]}" + substituteInPlace jb/project/tools/linux/scripts/mkimages_${arch}.sh --replace-fail "STATIC_CONF_ARGS" "STATIC_CONF_ARGS ''${realConfigureFlags[*]}" + sed \ -e "s/create_image_bundle \"jb/#/" \ -e "s/echo Creating /exit 0 #/" \ @@ -175,6 +199,8 @@ jdk.overrideAttrs (oldAttrs: rec { unzip rsync shaderc # glslc + wayland-scanner + libxkbcommon ] ++ oldAttrs.nativeBuildInputs; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cec6f9074e6e..51293390c3f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9620,14 +9620,14 @@ with pkgs; ) // { jdk-no-jcef = callPackage ../development/compilers/jetbrains-jdk { - jdk = jdk21; + jdk = jdk25; withJcef = false; }; jdk = callPackage ../development/compilers/jetbrains-jdk { - jdk = jdk21; + jdk = jdk25; }; jcef = callPackage ../development/compilers/jetbrains-jdk/jcef.nix { - jdk = jdk21; + jdk = jdk25; }; } // lib.optionalAttrs config.allowAliases { From cebab056b44e0fc3885c392604d16fce2df9af68 Mon Sep 17 00:00:00 2001 From: LunaFox Date: Sat, 31 Jan 2026 12:51:14 -0300 Subject: [PATCH 006/124] jetbrains.jcef: 1086 -> 1131 This fixes issues during the post build steps and updates it to the latest version --- .../compilers/jetbrains-jdk/jcef.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/jetbrains-jdk/jcef.nix b/pkgs/development/compilers/jetbrains-jdk/jcef.nix index 2bc5004691aa..7e9eb75e2e91 100644 --- a/pkgs/development/compilers/jetbrains-jdk/jcef.nix +++ b/pkgs/development/compilers/jetbrains-jdk/jcef.nix @@ -9,6 +9,7 @@ jdk, git, rsync, + which, lib, ant, ninja, @@ -91,11 +92,11 @@ let in stdenv.mkDerivation rec { pname = "jcef-jetbrains"; - rev = "6f9ab690b28a1262f82e6f869c310bdf1d0697ac"; + rev = "a492f5c1bbe877d2f58d4b066d0a1c89ab579b84"; # This is the commit number - # Currently from the branch: https://github.com/JetBrains/jcef/tree/251 + # Currently from the branch: https://github.com/JetBrains/jcef/tree/261 # Run `git rev-list --count HEAD` - version = "1086"; + version = "1131"; nativeBuildInputs = [ cmake @@ -103,12 +104,14 @@ stdenv.mkDerivation rec { jdk git rsync + which ant ninja strip-nondeterminism stripJavaArchivesHook autoPatchelfHook ]; + buildInputs = [ boost libGL @@ -123,7 +126,7 @@ stdenv.mkDerivation rec { owner = "jetbrains"; repo = "jcef"; inherit rev; - hash = "sha256-w5t1M66KW5cUbNTpAc4ksGd+414EJsXwbq1UP1COFsw="; + hash = "sha256-c1gJu6gogALx3viLi9saLvqOn+zS9jCpWizB2g1Xa/g="; }; # Find the hash in tools/buildtools/linux64/clang-format.sha1 @@ -172,6 +175,13 @@ stdenv.mkDerivation rec { postBuild = '' export JCEF_ROOT_DIR=$(realpath ..) + + # Apply https://github.com/JetBrains/jcef/pull/42 + substituteInPlace ../build.xml \ + --replace-fail \ + '' \ + '' + ../tools/compile.sh ${platform} Release ''; From a0b297630fb12fe04599ea980f2b2e518dde820e Mon Sep 17 00:00:00 2001 From: aoli-al Date: Tue, 7 Apr 2026 12:04:25 -0400 Subject: [PATCH 007/124] jetbrains.jdk-21, jetbrains.jdk-no-jcef-21: init --- .../editors/jetbrains/source/build.nix | 2 +- pkgs/by-name/an/animeko/package.nix | 4 +- .../compilers/jetbrains-jdk/21.nix | 26 ++ .../compilers/jetbrains-jdk/common.nix | 236 +++++++++++++++++ .../compilers/jetbrains-jdk/default.nix | 241 +++--------------- pkgs/top-level/all-packages.nix | 10 + 6 files changed, 304 insertions(+), 215 deletions(-) create mode 100644 pkgs/development/compilers/jetbrains-jdk/21.nix create mode 100644 pkgs/development/compilers/jetbrains-jdk/common.nix diff --git a/pkgs/applications/editors/jetbrains/source/build.nix b/pkgs/applications/editors/jetbrains/source/build.nix index 37d776045f6e..aac0fa6f5140 100644 --- a/pkgs/applications/editors/jetbrains/source/build.nix +++ b/pkgs/applications/editors/jetbrains/source/build.nix @@ -45,7 +45,7 @@ let }; }); - jbr = jetbrains.jdk-no-jcef; + jbr = jetbrains.jdk-no-jcef-21; ideaSrc = fetchFromGitHub { owner = "jetbrains"; diff --git a/pkgs/by-name/an/animeko/package.nix b/pkgs/by-name/an/animeko/package.nix index d2c4b7729294..8b46b3b138da 100644 --- a/pkgs/by-name/an/animeko/package.nix +++ b/pkgs/by-name/an/animeko/package.nix @@ -142,12 +142,12 @@ stdenv.mkDerivation (finalAttrs: { }; env = { - JAVA_HOME = jetbrains.jdk; + JAVA_HOME = jetbrains.jdk-21; ANDROID_SDK_HOME = "$(pwd)"; }; gradleFlags = [ - "-Dorg.gradle.java.home=${jetbrains.jdk}" + "-Dorg.gradle.java.home=${jetbrains.jdk-21}" ]; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/jetbrains-jdk/21.nix b/pkgs/development/compilers/jetbrains-jdk/21.nix new file mode 100644 index 000000000000..821202d6da21 --- /dev/null +++ b/pkgs/development/compilers/jetbrains-jdk/21.nix @@ -0,0 +1,26 @@ +{ + callPackage, + jetbrains, + jdk, + debugBuild ? false, + withJcef ? true, +}: + +callPackage ./common.nix + { + inherit jdk debugBuild withJcef; + } + { + # To get the new tag: + # git clone https://github.com/jetbrains/jetbrainsruntime + # cd jetbrainsruntime + # git tag --points-at [revision] + # Look for the line that starts with jbr- + javaVersion = "21.0.10"; + build = "1163.110"; + # run `git log -1 --pretty=%ct` in jdk repo for new value on update + sourceDateEpoch = 1765114563; + srcHash = "sha256-Qmffu7p6frBoH2Zh+EiqvEoMNNBE79qfkgLSC3+XuI0="; + homePath = "${jetbrains.jdk-21}/lib/openjdk"; + jcefPackage = jetbrains.jcef-21; + } diff --git a/pkgs/development/compilers/jetbrains-jdk/common.nix b/pkgs/development/compilers/jetbrains-jdk/common.nix new file mode 100644 index 000000000000..4a685776d46a --- /dev/null +++ b/pkgs/development/compilers/jetbrains-jdk/common.nix @@ -0,0 +1,236 @@ +{ + lib, + stdenv, + fetchFromGitHub, + jdk, + git, + autoconf, + unzip, + rsync, + shaderc, + vulkan-headers, + libxdamage, + libxxf86vm, + libxrandr, + libxi, + libxcursor, + libxrender, + libx11, + libxext, + libxkbcommon, + libxcb, + nss, + nspr, + libdrm, + libgbm, + wayland, + udev, + fontconfig, + debugBuild ? false, + withJcef ? true, +}: + +{ + javaVersion, + build, + sourceDateEpoch, + srcHash, + homePath, + jcefPackage ? null, + extraBuildPhase ? "", + vendorVersionString ? null, + extraConfigureFlags ? [ ], + extraNativeBuildInputs ? [ ], + extraBuildInputs ? [ ], +}: + +assert debugBuild -> withJcef; + +let + arch = + { + "aarch64-linux" = "aarch64"; + "x86_64-linux" = "x64"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + cpu = stdenv.hostPlatform.parsed.cpu.name; + version = "${javaVersion}-b${build}"; + openjdkTag = "jbr-release-${javaVersion}b${build}"; +in +jdk.overrideAttrs (oldAttrs: { + pname = "jetbrains-jdk" + lib.optionalString withJcef "-jcef"; + inherit + javaVersion + build + version + openjdkTag + ; + + src = fetchFromGitHub { + owner = "JetBrains"; + repo = "JetBrainsRuntime"; + rev = "jb${version}"; + hash = srcHash; + }; + + env = (oldAttrs.env or { }) // { + BOOT_JDK = jdk.home; + # run `git log -1 --pretty=%ct` in jdk repo for new value on update + SOURCE_DATE_EPOCH = sourceDateEpoch; + }; + + patches = [ ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + ${lib.optionalString withJcef "cp -r ${jcefPackage} jcef_linux_${arch}"} + ${extraBuildPhase} + + sed \ + -e "s/OPENJDK_TAG=.*/OPENJDK_TAG=${openjdkTag}/" \ + -e "s/SOURCE_DATE_EPOCH=.*//" \ + -e "s/export SOURCE_DATE_EPOCH//" \ + -i jb/project/tools/common/scripts/common.sh + + declare -a realConfigureFlags + + for configureFlag in "''${configureFlags[@]}"; do + case "$configureFlag" in + --host=*) + # intentionally omit flag + ;; + ${lib.optionalString (vendorVersionString != null) '' + --with-vendor-version-string=*) + # Replace the flag from the JDK to include that it is JBR and the package version, so it passes the installation tests + realConfigureFlags+=('--with-vendor-version-string="${vendorVersionString}"') + ;; + ''} + *) + realConfigureFlags+=("$configureFlag") + ;; + esac + done + + ${lib.concatMapStringsSep "\n" (flag: ''realConfigureFlags+=("${flag}")'') extraConfigureFlags} + + echo "computed configure flags: ''${realConfigureFlags[*]}" + substituteInPlace jb/project/tools/linux/scripts/mkimages_${arch}.sh --replace-fail "STATIC_CONF_ARGS" "STATIC_CONF_ARGS ''${realConfigureFlags[*]}" + + sed \ + -e "s/create_image_bundle \"jb/#/" \ + -e "s/echo Creating /exit 0 #/" \ + -i jb/project/tools/linux/scripts/mkimages_${arch}.sh + + patchShebangs . + ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${ + if debugBuild then "fd" else (if withJcef then "jcef" else "nomod") + } + + runHook postBuild + ''; + + installPhase = + let + buildType = if debugBuild then "fastdebug" else "release"; + debugSuffix = if debugBuild then "-fastdebug" else ""; + jcefSuffix = if debugBuild || !withJcef then "" else "_jcef"; + jbrsdkDir = "jbrsdk${jcefSuffix}-${javaVersion}-linux-${arch}${debugSuffix}-b${build}"; + in + '' + runHook preInstall + + mv build/linux-${cpu}-server-${buildType}/images/jdk/man build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} + rm -rf build/linux-${cpu}-server-${buildType}/images/jdk + mv build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} build/linux-${cpu}-server-${buildType}/images/jdk + '' + + oldAttrs.installPhase + + "runHook postInstall"; + + postInstall = lib.optionalString withJcef '' + chmod +x $out/lib/openjdk/lib/chrome-sandbox + ''; + + dontStrip = debugBuild; + + postFixup = '' + # Build the set of output library directories to rpath against + LIBDIRS="${ + lib.makeLibraryPath [ + libxdamage + libxxf86vm + libxrandr + libxi + libxcursor + libxrender + libx11 + libxext + libxkbcommon + libxcb + nss + nspr + libdrm + libgbm + wayland + udev + fontconfig + ] + }" + for output in ${lib.concatStringsSep " " oldAttrs.outputs}; do + if [ "$output" = debug ]; then continue; fi + LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS" + done + # Add the local library paths to remove dependencies on the bootstrap + for output in ${lib.concatStringsSep " " oldAttrs.outputs}; do + if [ "$output" = debug ]; then continue; fi + OUTPUTDIR=$(eval echo \$$output) + BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) + echo "$BINLIBS" | while read i; do + patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true + done + done + ''; + + nativeBuildInputs = [ + git + autoconf + unzip + rsync + shaderc # glslc + ] + ++ extraNativeBuildInputs + ++ oldAttrs.nativeBuildInputs; + + buildInputs = [ + vulkan-headers + ] + ++ extraBuildInputs + ++ oldAttrs.buildInputs or [ ]; + + meta = { + description = "OpenJDK fork to better support Jetbrains's products"; + longDescription = '' + JetBrains Runtime is a runtime environment for running IntelliJ Platform + based products on Windows, Mac OS X, and Linux. JetBrains Runtime is + based on OpenJDK project with some modifications. These modifications + include: Subpixel Anti-Aliasing, enhanced font rendering on Linux, HiDPI + support, ligatures, some fixes for native crashes not presented in + official build, and other small enhancements. + JetBrains Runtime is not a certified build of OpenJDK. Please, use at + your own risk. + ''; + homepage = "https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime"; + inherit (jdk.meta) license platforms mainProgram; + maintainers = with lib.maintainers; [ + aoli-al + ]; + + broken = stdenv.hostPlatform.isDarwin; + }; + + passthru = oldAttrs.passthru // { + home = homePath; + }; +}) diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix index fee99c50f5d5..58b655bdf220 100644 --- a/pkgs/development/compilers/jetbrains-jdk/default.nix +++ b/pkgs/development/compilers/jetbrains-jdk/default.nix @@ -1,70 +1,16 @@ { - lib, - stdenv, + callPackage, fetchurl, - fetchFromGitHub, jetbrains, jdk, - git, - autoconf, - unzip, - rsync, debugBuild ? false, withJcef ? true, - - libxdamage, - libxxf86vm, - libxrandr, - libxi, - libxcursor, - libxrender, - libx11, - libxext, - libxkbcommon, - libxcb, - nss, - nspr, - libdrm, - libgbm, - wayland, wayland-scanner, wayland-protocols, - udev, - fontconfig, - shaderc, - vulkan-headers, + libxkbcommon, }: -assert debugBuild -> withJcef; - let - arch = - { - "aarch64-linux" = "aarch64"; - "x86_64-linux" = "x64"; - } - .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); - cpu = stdenv.hostPlatform.parsed.cpu.name; -in -jdk.overrideAttrs (oldAttrs: rec { - pname = "jetbrains-jdk" + lib.optionalString withJcef "-jcef"; - javaVersion = "25.0.2"; - build = "329.72"; - # To get the new tag: - # git clone https://github.com/jetbrains/jetbrainsruntime - # cd jetbrainsruntime - # git tag --points-at [revision] - # Look for the line that starts with jbr- - version = "${javaVersion}-b${build}"; - openjdkTag = "jbr-release-${javaVersion}b${build}"; - - src = fetchFromGitHub { - owner = "JetBrains"; - repo = "JetBrainsRuntime"; - rev = "jb${version}"; - hash = "sha256-K4Izbij+1YO4UERHS0mwGKZX/VtIaxyNPZD068Vf99Q="; - }; - gtk-protocols = let rev = "refs/tags/4.22.1"; @@ -75,162 +21,33 @@ jdk.overrideAttrs (oldAttrs: rec { url = "https://raw.githubusercontent.com/GNOME/gtk/${rev}/gdk/wayland/protocol/gtk-shell.xml"; hash = hash; }; - - env = (oldAttrs.env or { }) // { - BOOT_JDK = jdk.home; +in +callPackage ./common.nix + { + inherit jdk debugBuild withJcef; + } + { + # To get the new tag: + # git clone https://github.com/jetbrains/jetbrainsruntime + # cd jetbrainsruntime + # git tag --points-at [revision] + # Look for the line that starts with jbr- + javaVersion = "25.0.2"; + build = "329.72"; # run `git log -1 --pretty=%ct` in jdk repo for new value on update - SOURCE_DATE_EPOCH = 1769205294; - }; - - patches = [ ]; - - dontConfigure = true; - - buildPhase = '' - runHook preBuild - - ${lib.optionalString withJcef "cp -r ${jetbrains.jcef} jcef_linux_${arch}"} - cp -r ${gtk-protocols.out} gtk-shell.xml - - sed \ - -e "s/OPENJDK_TAG=.*/OPENJDK_TAG=${openjdkTag}/" \ - -e "s/SOURCE_DATE_EPOCH=.*//" \ - -e "s/export SOURCE_DATE_EPOCH//" \ - -i jb/project/tools/common/scripts/common.sh - - declare -a realConfigureFlags - - for configureFlag in "''${configureFlags[@]}"; do - case "$configureFlag" in - --host=*) - # intentionally omit flag - ;; - --with-vendor-version-string=*) - # Replace the flag from the JDK to include that it is JBR and the package version, so it passes the installation tests - realConfigureFlags+=('--with-vendor-version-string="nix/JBR-${version}${lib.optionalString withJcef "-jcef"}"') - ;; - *) - realConfigureFlags+=("$configureFlag") - ;; - esac - done - realConfigureFlags+=("--with-wayland-protocols=${wayland-protocols.out}/share/wayland-protocols") - echo "computed configure flags: ''${realConfigureFlags[*]}" - - substituteInPlace jb/project/tools/linux/scripts/mkimages_${arch}.sh --replace-fail "STATIC_CONF_ARGS" "STATIC_CONF_ARGS ''${realConfigureFlags[*]}" - - sed \ - -e "s/create_image_bundle \"jb/#/" \ - -e "s/echo Creating /exit 0 #/" \ - -i jb/project/tools/linux/scripts/mkimages_${arch}.sh - - patchShebangs . - ./jb/project/tools/linux/scripts/mkimages_${arch}.sh ${build} ${ - if debugBuild then "fd" else (if withJcef then "jcef" else "nomod") - } - - runHook postBuild - ''; - - installPhase = - let - buildType = if debugBuild then "fastdebug" else "release"; - debugSuffix = if debugBuild then "-fastdebug" else ""; - jcefSuffix = if debugBuild || !withJcef then "" else "_jcef"; - jbrsdkDir = "jbrsdk${jcefSuffix}-${javaVersion}-linux-${arch}${debugSuffix}-b${build}"; - in - '' - runHook preInstall - - mv build/linux-${cpu}-server-${buildType}/images/jdk/man build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} - rm -rf build/linux-${cpu}-server-${buildType}/images/jdk - mv build/linux-${cpu}-server-${buildType}/images/${jbrsdkDir} build/linux-${cpu}-server-${buildType}/images/jdk - '' - + oldAttrs.installPhase - + "runHook postInstall"; - - postInstall = lib.optionalString withJcef '' - chmod +x $out/lib/openjdk/lib/chrome-sandbox - ''; - - dontStrip = debugBuild; - - postFixup = '' - # Build the set of output library directories to rpath against - LIBDIRS="${ - lib.makeLibraryPath [ - libxdamage - libxxf86vm - libxrandr - libxi - libxcursor - libxrender - libx11 - libxext - libxkbcommon - libxcb - nss - nspr - libdrm - libgbm - wayland - udev - fontconfig - ] - }" - for output in ${lib.concatStringsSep " " oldAttrs.outputs}; do - if [ "$output" = debug ]; then continue; fi - LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS" - done - # Add the local library paths to remove dependencies on the bootstrap - for output in ${lib.concatStringsSep " " oldAttrs.outputs}; do - if [ "$output" = debug ]; then continue; fi - OUTPUTDIR=$(eval echo \$$output) - BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) - echo "$BINLIBS" | while read i; do - patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true - done - done - ''; - - nativeBuildInputs = [ - git - autoconf - unzip - rsync - shaderc # glslc - wayland-scanner - libxkbcommon - ] - ++ oldAttrs.nativeBuildInputs; - - buildInputs = [ - vulkan-headers - ] - ++ oldAttrs.buildInputs or [ ]; - - meta = { - description = "OpenJDK fork to better support Jetbrains's products"; - longDescription = '' - JetBrains Runtime is a runtime environment for running IntelliJ Platform - based products on Windows, Mac OS X, and Linux. JetBrains Runtime is - based on OpenJDK project with some modifications. These modifications - include: Subpixel Anti-Aliasing, enhanced font rendering on Linux, HiDPI - support, ligatures, some fixes for native crashes not presented in - official build, and other small enhancements. - JetBrains Runtime is not a certified build of OpenJDK. Please, use at - your own risk. + sourceDateEpoch = 1769205294; + srcHash = "sha256-K4Izbij+1YO4UERHS0mwGKZX/VtIaxyNPZD068Vf99Q="; + homePath = "${jetbrains.jdk}/lib/openjdk"; + jcefPackage = jetbrains.jcef; + extraBuildPhase = '' + cp -r ${gtk-protocols.out} gtk-shell.xml ''; - homepage = "https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime"; - inherit (jdk.meta) license platforms mainProgram; - maintainers = with lib.maintainers; [ - aoli-al + vendorVersionString = "nix/JBR-25.0.2-b329.72${if withJcef then "-jcef" else ""}"; + extraConfigureFlags = [ + "--with-wayland-protocols=${wayland-protocols.out}/share/wayland-protocols" ]; - - broken = stdenv.hostPlatform.isDarwin; - }; - - passthru = oldAttrs.passthru // { - home = "${jetbrains.jdk}/lib/openjdk"; - }; -}) + extraNativeBuildInputs = [ + wayland-scanner + libxkbcommon + ]; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 51293390c3f1..0f9eb57e0034 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9623,12 +9623,22 @@ with pkgs; jdk = jdk25; withJcef = false; }; + jdk-no-jcef-21 = callPackage ../development/compilers/jetbrains-jdk/21.nix { + jdk = jdk21; + withJcef = false; + }; jdk = callPackage ../development/compilers/jetbrains-jdk { jdk = jdk25; }; + jdk-21 = callPackage ../development/compilers/jetbrains-jdk/21.nix { + jdk = jdk21; + }; jcef = callPackage ../development/compilers/jetbrains-jdk/jcef.nix { jdk = jdk25; }; + jcef-21 = callPackage ../development/compilers/jetbrains-jdk/jcef.nix { + jdk = jdk21; + }; } // lib.optionalAttrs config.allowAliases { jdk-no-jcef-17 = throw "'jdk-no-jcef-17' has been removed because it is unused in nixpkgs."; # Added 2026-01-24 From 94fab6ab70c277c6cf5666a4d3a5e8c521a8b361 Mon Sep 17 00:00:00 2001 From: Brett Eisenberg Date: Thu, 16 Apr 2026 17:27:49 -0700 Subject: [PATCH 008/124] maintainers: add brett --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c841ad38cbc9..81d62000d80b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3958,6 +3958,12 @@ name = "Joseph Madden"; keys = [ { fingerprint = "3CF8 E983 2219 AB4B 0E19 158E 6112 1921 C9F8 117C"; } ]; }; + brett = { + email = "brett@librum.org"; + github = "brett"; + githubId = 523; + name = "Brett Eisenberg"; + }; brettlyons = { email = "blyons@fastmail.com"; github = "brettlyons"; From 03384968de1099319d57fb44fa5f146b0f8b3b6b Mon Sep 17 00:00:00 2001 From: LunaFox Date: Tue, 21 Apr 2026 19:20:18 -0300 Subject: [PATCH 009/124] animeko: mark broken Mark broken due to a breaking change in JetBrains JCEF https://github.com/NixOS/nixpkgs/pull/485812#issuecomment-4211365591 --- pkgs/by-name/an/animeko/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/an/animeko/package.nix b/pkgs/by-name/an/animeko/package.nix index 8b46b3b138da..c449e47c09da 100644 --- a/pkgs/by-name/an/animeko/package.nix +++ b/pkgs/by-name/an/animeko/package.nix @@ -282,5 +282,8 @@ stdenv.mkDerivation (finalAttrs: { platforms = [ "x86_64-linux" ]; + # Mark broken due to a breaking change in JetBrains JCEF + # https://github.com/NixOS/nixpkgs/pull/485812#issuecomment-4211365591 + broken = true; }; }) From 66392cd25de358e17f33811d21f2b0ef12d04290 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 22 Apr 2026 05:15:14 +0000 Subject: [PATCH 010/124] home-assistant-custom-lovelace-modules.material-you-utilities: 2.1.6 -> 2.1.8 --- .../material-you-utilities/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix index f3f7c019e09b..d321b96a1d20 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "material-you-utilities"; - version = "2.1.6"; + version = "2.1.8"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "material-you-utilities"; tag = version; - hash = "sha256-NIOPETbuEPlf7wIvDGh0580jmIkzy1DRLwgSrOC6S60="; + hash = "sha256-yfwZBkrfTmQRyzzajBhmuyxPkJ4fNeIner4TJV49rzo="; }; - npmDepsHash = "sha256-S+2A098T3kRMOfznbwR2mOX9zCvYQGR+HsIjAjd55wg="; + npmDepsHash = "sha256-EIkEzy1UZ+EU+734LZJlU7yRrix97I2Uc+/ghtMRVv0="; installPhase = '' runHook preInstall From 6ff384abf189f9b70b6dd81989f1adfc7af26e18 Mon Sep 17 00:00:00 2001 From: MoeLeak Date: Sun, 26 Apr 2026 03:43:51 +0800 Subject: [PATCH 011/124] groff: fix cross-compiling error --- pkgs/by-name/gr/groff/package.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gr/groff/package.nix b/pkgs/by-name/gr/groff/package.nix index df39f833e3b3..98a75751f925 100644 --- a/pkgs/by-name/gr/groff/package.nix +++ b/pkgs/by-name/gr/groff/package.nix @@ -34,6 +34,10 @@ let tag = "20200910"; hash = "sha256-YQl5IDtodcbTV3D6vtJi7CwxVtHHl58fG6qCAoSaP4U="; }; + nativeGroffBinPath = lib.makeBinPath [ + buildPackages.groff + (lib.getOutput "perl" buildPackages.groff) + ]; in stdenv.mkDerivation (finalAttrs: { pname = "groff"; @@ -125,13 +129,18 @@ stdenv.mkDerivation (finalAttrs: { # Move mom docs instead of linking them to avoid dangling symlinks substituteInPlace Makefile \ --replace-fail '$(LN_S) $(exampledir)' 'mv $(exampledir)' + '' + + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + # pdfmom uses GROFF_COMMAND to find the groff executable internally. + substituteInPlace Makefile \ + --replace-fail 'GROFF_COMMAND=test-groff \' 'GROFF_COMMAND=$(GROFFBIN) \' ''; makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ # Trick to get the build system find the proper 'native' groff # http://www.mail-archive.com/bug-groff@gnu.org/msg01335.html - "GROFF_BIN_PATH=${lib.getBin buildPackages.groff}/bin" - "GROFFBIN=${lib.getExe buildPackages.groff}" + "GROFF_BIN_PATH=${nativeGroffBinPath}" + "GROFFBIN=${lib.getExe' buildPackages.groff "groff"}" ]; doCheck = true; From e7d7c53fdad80ba7a5ae2d14506e1d321658cb7b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 26 Apr 2026 04:12:41 +0000 Subject: [PATCH 012/124] python3Packages.aioshelly: 13.23.1 -> 13.24.0 --- pkgs/development/python-modules/aioshelly/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix index c928da236af1..e98e68d5102f 100644 --- a/pkgs/development/python-modules/aioshelly/default.nix +++ b/pkgs/development/python-modules/aioshelly/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "aioshelly"; - version = "13.23.1"; + version = "13.24.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "aioshelly"; tag = version; - hash = "sha256-vAYhOBfwDKWO0K4pHVf3qqpXTztb5Qzn8TEzk6ecbw0="; + hash = "sha256-yb6oZlrB3MBafKoga9vRrcixXlZeknVRsMztX4hV3PA="; }; build-system = [ setuptools ]; From 57c0190caf3afbc07ef439c7f48155d2d5df50f4 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sun, 18 Jan 2026 23:55:43 +0800 Subject: [PATCH 013/124] python2Packages.buildPythonPackage: handle passthru with mkDerivation Port to python2/mk-python-derivation.nix commit 21a1cf96866c ("mkPythonPackage, mkPythonApplication: handle passthru with mkDerivation"). --- .../python/python2/mk-python-derivation.nix | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 817225bcc47c..47a5c2e65d49 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -272,6 +272,15 @@ let outputs = outputs ++ lib.optional withDistOutput "dist"; + passthru.updateScript = + let + filename = builtins.head (lib.splitString ":" self.meta.position); + in + attrs.passthru.updateScript or [ + update-python-libraries + filename + ]; + meta = { # default to python's platforms platforms = python.meta.platforms; @@ -289,16 +298,7 @@ let } ) ); - - passthru.updateScript = - let - filename = builtins.head (lib.splitString ":" self.meta.position); - in - attrs.passthru.updateScript or [ - update-python-libraries - filename - ]; in lib.extendDerivation ( disabled -> throw "${name} not supported for interpreter ${python.executable}" -) passthru self +) { } self From f2efb32a79198728d1db47a4cc79a0dd784a6370 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 19 Jan 2026 00:08:08 +0800 Subject: [PATCH 014/124] python2Packages.buildPythonPackage: port respect user-specified passthru attrs Port to python2/mk-python-derivation.nix commit d6a757bb01b6 ("buildPython*: prioritize user-specified passthru attrs"). --- .../python/python2/mk-python-derivation.nix | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 47a5c2e65d49..289c75ebaa6d 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -272,14 +272,17 @@ let outputs = outputs ++ lib.optional withDistOutput "dist"; - passthru.updateScript = - let - filename = builtins.head (lib.splitString ":" self.meta.position); - in - attrs.passthru.updateScript or [ - update-python-libraries - filename - ]; + passthru = { + updateScript = + let + filename = builtins.head (lib.splitString ":" self.meta.position); + in + [ + update-python-libraries + filename + ]; + } + // passthru; meta = { # default to python's platforms From bd2285a8a5bb61d747d80324746272eb041977d6 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 19 Jan 2026 00:14:16 +0800 Subject: [PATCH 015/124] python2Packages.buildPythonPackage: passthru disabled Port to python2/mk-python-derivation.nix commit 8fd082ed7f78 ("mk-python-derivation: passthru disabled"). Co-authored-by: Peder Bergebakken Sundt --- .../interpreters/python/python2/mk-python-derivation.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 289c75ebaa6d..6184fe0ef316 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -273,6 +273,9 @@ let outputs = outputs ++ lib.optional withDistOutput "dist"; passthru = { + inherit + disabled + ; updateScript = let filename = builtins.head (lib.splitString ":" self.meta.position); From e05bc0af963bc1c440374d73a35c0a252a60a1bf Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 19 Jan 2026 03:55:21 +0800 Subject: [PATCH 016/124] python2Packages.buildPythonPackage: preserve disabled after .overrideAttrs Port to python2/mk-python-derivation.nix commit bb3a41f312d0 ("buildPython*: fix the disabled functionality for overrideAttrs-") --- .../python/python2/mk-python-derivation.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 6184fe0ef316..e5dd2546643b 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -304,7 +304,18 @@ let } ) ); + + # Workaround to make the `lib.extendDerivation`-based disabled functionality + # respect `.overrideAttrs` + # It doesn't cover `..overrideAttrs`. + disablePythonPackage = + drv: + lib.extendDerivation ( + drv.disabled + -> throw "${lib.removePrefix namePrefix drv.name} not supported for interpreter ${python.executable}" + ) { } drv + // { + overrideAttrs = fdrv: disablePythonPackage (drv.overrideAttrs fdrv); + }; in -lib.extendDerivation ( - disabled -> throw "${name} not supported for interpreter ${python.executable}" -) { } self +disablePythonPackage self From 66e45249897c1e19833504581f170f43834d4e9c Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 19 Jan 2026 04:01:35 +0800 Subject: [PATCH 017/124] python2Packages.buildPythonPackage: remove ineffective outputs cleanAttrs Port to python2/mk-python-derivation.nix commit bc122a602a1c ("python3Packages.buildPythonPackage: remove ineffective outputs cleanAttrs"). --- .../interpreters/python/python2/mk-python-derivation.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index e5dd2546643b..f8910bc78002 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -187,7 +187,6 @@ let "catchConflicts" "format" "disabledTestPaths" - "outputs" ]) // { From ea28d03e3313264c579fbb9fdcfde8a6bf240166 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Mon, 19 Jan 2026 04:21:41 +0800 Subject: [PATCH 018/124] python2Packages.buildPytonPackage: restructure with lib.extendMkDerivation Port to python2/mk-python-derivation.nix commit 0969c6624713 (buildPython*: support fixed-point arguments via lib.extendMkDerivation") Postpone formatting to minimize diff. --- .../python/python2/mk-python-derivation.nix | 49 ++++++++++--------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index f8910bc78002..3bdd7fae32d0 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -27,7 +27,24 @@ eggBuildHook, eggInstallHook, }: +lib.extendMkDerivation { + constructDrv = stdenv.mkDerivation; + excludeDrvArgNames = [ + "disabled" + "checkPhase" + "checkInputs" + "nativeCheckInputs" + "doCheck" + "doInstallCheck" + "dontWrapPythonPrograms" + "catchConflicts" + "format" + "disabledTestPaths" + ]; + + extendDrvArgs = + finalAttrs: { name ? "${attrs.pname}-${attrs.version}", @@ -173,22 +190,8 @@ let in inputs: map checkDrv inputs; - # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. - self = toPythonModule ( - stdenv.mkDerivation ( - (removeAttrs attrs [ - "disabled" - "checkPhase" - "checkInputs" - "nativeCheckInputs" - "doCheck" - "doInstallCheck" - "dontWrapPythonPrograms" - "catchConflicts" - "format" - "disabledTestPaths" - ]) - // { +in + { name = namePrefix + name_; @@ -277,7 +280,7 @@ let ; updateScript = let - filename = builtins.head (lib.splitString ":" self.meta.position); + filename = builtins.head (lib.splitString ":" finalAttrs.finalPackage.meta.position); in [ update-python-libraries @@ -300,10 +303,10 @@ let } // lib.optionalAttrs (disabledTestPaths != [ ]) { disabledTestPaths = lib.escapeShellArgs disabledTestPaths; - } - ) - ); + }; + transformDrv = + let # Workaround to make the `lib.extendDerivation`-based disabled functionality # respect `.overrideAttrs` # It doesn't cover `..overrideAttrs`. @@ -316,5 +319,7 @@ let // { overrideAttrs = fdrv: disablePythonPackage (drv.overrideAttrs fdrv); }; -in -disablePythonPackage self + in + drv: + disablePythonPackage (toPythonModule drv); +} From 397f1ecdb091fd291a7d29d3b297623438e9352f Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sun, 26 Apr 2026 15:06:54 +0800 Subject: [PATCH 019/124] python2Packages.buildPythonPackage: format expression after lib.extendMkDerivation restructuring --- .../python/python2/mk-python-derivation.nix | 493 +++++++++--------- 1 file changed, 246 insertions(+), 247 deletions(-) diff --git a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix index 3bdd7fae32d0..e6e660d704e5 100644 --- a/pkgs/development/interpreters/python/python2/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/python2/mk-python-derivation.nix @@ -31,295 +31,294 @@ lib.extendMkDerivation { constructDrv = stdenv.mkDerivation; excludeDrvArgNames = [ - "disabled" - "checkPhase" - "checkInputs" - "nativeCheckInputs" - "doCheck" - "doInstallCheck" - "dontWrapPythonPrograms" - "catchConflicts" - "format" - "disabledTestPaths" + "disabled" + "checkPhase" + "checkInputs" + "nativeCheckInputs" + "doCheck" + "doInstallCheck" + "dontWrapPythonPrograms" + "catchConflicts" + "format" + "disabledTestPaths" ]; extendDrvArgs = finalAttrs: -{ - name ? "${attrs.pname}-${attrs.version}", + { + name ? "${attrs.pname}-${attrs.version}", - # Build-time dependencies for the package - nativeBuildInputs ? [ ], + # Build-time dependencies for the package + nativeBuildInputs ? [ ], - # Run-time dependencies for the package - buildInputs ? [ ], + # Run-time dependencies for the package + buildInputs ? [ ], - # Dependencies needed for running the checkPhase. - # These are added to buildInputs when doCheck = true. - checkInputs ? [ ], - nativeCheckInputs ? [ ], + # Dependencies needed for running the checkPhase. + # These are added to buildInputs when doCheck = true. + checkInputs ? [ ], + nativeCheckInputs ? [ ], - # propagate build dependencies so in case we have A -> B -> C, - # C can import package A propagated by B - propagatedBuildInputs ? [ ], + # propagate build dependencies so in case we have A -> B -> C, + # C can import package A propagated by B + propagatedBuildInputs ? [ ], - # DEPRECATED: use propagatedBuildInputs - pythonPath ? [ ], + # DEPRECATED: use propagatedBuildInputs + pythonPath ? [ ], - # Enabled to detect some (native)BuildInputs mistakes - strictDeps ? true, + # Enabled to detect some (native)BuildInputs mistakes + strictDeps ? true, - outputs ? [ "out" ], + outputs ? [ "out" ], - # used to disable derivation, useful for specific python versions - disabled ? false, + # used to disable derivation, useful for specific python versions + disabled ? false, - # Raise an error if two packages are installed with the same name - # TODO: For cross we probably need a different PYTHONPATH, or not - # add the runtime deps until after buildPhase. - catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform), + # Raise an error if two packages are installed with the same name + # TODO: For cross we probably need a different PYTHONPATH, or not + # add the runtime deps until after buildPhase. + catchConflicts ? (python.stdenv.hostPlatform == python.stdenv.buildPlatform), - # Additional arguments to pass to the makeWrapper function, which wraps - # generated binaries. - makeWrapperArgs ? [ ], + # Additional arguments to pass to the makeWrapper function, which wraps + # generated binaries. + makeWrapperArgs ? [ ], - # Skip wrapping of python programs altogether - dontWrapPythonPrograms ? false, + # Skip wrapping of python programs altogether + dontWrapPythonPrograms ? false, - # Don't use Pip to install a wheel - # Note this is actually a variable for the pipInstallPhase in pip's setupHook. - # It's included here to prevent an infinite recursion. - dontUsePipInstall ? false, + # Don't use Pip to install a wheel + # Note this is actually a variable for the pipInstallPhase in pip's setupHook. + # It's included here to prevent an infinite recursion. + dontUsePipInstall ? false, - # Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs - permitUserSite ? false, + # Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs + permitUserSite ? false, - # Remove bytecode from bin folder. - # When a Python script has the extension `.py`, bytecode is generated - # Typically, executables in bin have no extension, so no bytecode is generated. - # However, some packages do provide executables with extensions, and thus bytecode is generated. - removeBinBytecode ? true, + # Remove bytecode from bin folder. + # When a Python script has the extension `.py`, bytecode is generated + # Typically, executables in bin have no extension, so no bytecode is generated. + # However, some packages do provide executables with extensions, and thus bytecode is generated. + removeBinBytecode ? true, - # Several package formats are supported. - # "setuptools" : Install a common setuptools/distutils based package. This builds a wheel. - # "wheel" : Install from a pre-compiled wheel. - # "pyproject": Install a package using a ``pyproject.toml`` file (PEP517). This builds a wheel. - # "egg": Install a package from an egg. - # "other" : Provide your own buildPhase and installPhase. - format ? "setuptools", + # Several package formats are supported. + # "setuptools" : Install a common setuptools/distutils based package. This builds a wheel. + # "wheel" : Install from a pre-compiled wheel. + # "pyproject": Install a package using a ``pyproject.toml`` file (PEP517). This builds a wheel. + # "egg": Install a package from an egg. + # "other" : Provide your own buildPhase and installPhase. + format ? "setuptools", - meta ? { }, + meta ? { }, - passthru ? { }, + passthru ? { }, - doCheck ? true, + doCheck ? true, - disabledTestPaths ? [ ], + disabledTestPaths ? [ ], - ... -}@attrs: + ... + }@attrs: -let - withDistOutput = lib.elem format [ - "pyproject" - "setuptools" - "wheel" - ]; - - name_ = name; - - validatePythonMatches = - attrName: let - isPythonModule = - drv: - # all pythonModules have the pythonModule attribute - (drv ? "pythonModule") - # Some pythonModules are turned in to a pythonApplication by setting the field to false - && (!builtins.isBool drv.pythonModule); - isMismatchedPython = drv: drv.pythonModule != python; + withDistOutput = lib.elem format [ + "pyproject" + "setuptools" + "wheel" + ]; - optionalLocation = + name_ = name; + + validatePythonMatches = + attrName: let - pos = builtins.unsafeGetAttrPos (if attrs ? "pname" then "pname" else "name") attrs; + isPythonModule = + drv: + # all pythonModules have the pythonModule attribute + (drv ? "pythonModule") + # Some pythonModules are turned in to a pythonApplication by setting the field to false + && (!builtins.isBool drv.pythonModule); + isMismatchedPython = drv: drv.pythonModule != python; + + optionalLocation = + let + pos = builtins.unsafeGetAttrPos (if attrs ? "pname" then "pname" else "name") attrs; + in + lib.optionalString (pos != null) " at ${pos.file}:${toString pos.line}:${toString pos.column}"; + + leftPadName = + name: against: + let + len = lib.max (lib.stringLength name) (lib.stringLength against); + in + lib.strings.fixedWidthString len " " name; + + throwMismatch = + drv: + let + myName = "'${namePrefix}${name}'"; + theirName = "'${drv.name}'"; + in + throw '' + Python version mismatch in ${myName}: + + The Python derivation ${myName} depends on a Python derivation + named ${theirName}, but the two derivations use different versions + of Python: + + ${leftPadName myName theirName} uses ${python} + ${leftPadName theirName myName} uses ${toString drv.pythonModule} + + Possible solutions: + + * If ${theirName} is a Python library, change the reference to ${theirName} + in the ${attrName} of ${myName} to use a ${theirName} built from the same + version of Python + + * If ${theirName} is used as a tool during the build, move the reference to + ${theirName} in ${myName} from ${attrName} to nativeBuildInputs + + * If ${theirName} provides executables that are called at run time, pass its + bin path to makeWrapperArgs: + + makeWrapperArgs = [ "--prefix PATH : ''${lib.makeBinPath [ ${lib.getName drv} ] }" ]; + + ${optionalLocation} + ''; + + checkDrv = drv: if (isPythonModule drv) && (isMismatchedPython drv) then throwMismatch drv else drv; + in - lib.optionalString (pos != null) " at ${pos.file}:${toString pos.line}:${toString pos.column}"; - - leftPadName = - name: against: - let - len = lib.max (lib.stringLength name) (lib.stringLength against); - in - lib.strings.fixedWidthString len " " name; - - throwMismatch = - drv: - let - myName = "'${namePrefix}${name}'"; - theirName = "'${drv.name}'"; - in - throw '' - Python version mismatch in ${myName}: - - The Python derivation ${myName} depends on a Python derivation - named ${theirName}, but the two derivations use different versions - of Python: - - ${leftPadName myName theirName} uses ${python} - ${leftPadName theirName myName} uses ${toString drv.pythonModule} - - Possible solutions: - - * If ${theirName} is a Python library, change the reference to ${theirName} - in the ${attrName} of ${myName} to use a ${theirName} built from the same - version of Python - - * If ${theirName} is used as a tool during the build, move the reference to - ${theirName} in ${myName} from ${attrName} to nativeBuildInputs - - * If ${theirName} provides executables that are called at run time, pass its - bin path to makeWrapperArgs: - - makeWrapperArgs = [ "--prefix PATH : ''${lib.makeBinPath [ ${lib.getName drv} ] }" ]; - - ${optionalLocation} - ''; - - checkDrv = drv: if (isPythonModule drv) && (isMismatchedPython drv) then throwMismatch drv else drv; + inputs: map checkDrv inputs; in - inputs: map checkDrv inputs; + { -in - { + name = namePrefix + name_; - name = namePrefix + name_; + nativeBuildInputs = [ + python + wrapPython + ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, ...)? + pythonRemoveTestsDirHook + ] + ++ lib.optionals catchConflicts [ + pythonCatchConflictsHook + ] + ++ lib.optionals removeBinBytecode [ + pythonRemoveBinBytecodeHook + ] + ++ lib.optionals (lib.hasSuffix "zip" (attrs.src.name or "")) [ + unzip + ] + ++ lib.optionals (format == "setuptools") [ + setuptoolsBuildHook + ] + ++ lib.optionals (format == "pyproject") [ + pipBuildHook + ] + ++ lib.optionals (format == "wheel") [ + wheelUnpackHook + ] + ++ lib.optionals (format == "egg") [ + eggUnpackHook + eggBuildHook + eggInstallHook + ] + ++ lib.optionals (format != "other") [ + pipInstallHook + ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ + # This is a test, however, it should be ran independent of the checkPhase and checkInputs + pythonImportsCheckHook + ] + ++ lib.optionals withDistOutput [ + pythonOutputDistHook + ] + ++ nativeBuildInputs; - nativeBuildInputs = [ + buildInputs = validatePythonMatches "buildInputs" (buildInputs ++ pythonPath); + + propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" ( + propagatedBuildInputs + ++ [ + # we propagate python even for packages transformed with 'toPythonApplication' + # this pollutes the PATH but avoids rebuilds + # see https://github.com/NixOS/nixpkgs/issues/170887 for more context python - wrapPython - ensureNewerSourcesForZipFilesHook # move to wheel installer (pip) or builder (setuptools, ...)? - pythonRemoveTestsDirHook ] - ++ lib.optionals catchConflicts [ - pythonCatchConflictsHook - ] - ++ lib.optionals removeBinBytecode [ - pythonRemoveBinBytecodeHook - ] - ++ lib.optionals (lib.hasSuffix "zip" (attrs.src.name or "")) [ - unzip - ] - ++ lib.optionals (format == "setuptools") [ - setuptoolsBuildHook - ] - ++ lib.optionals (format == "pyproject") [ - pipBuildHook - ] - ++ lib.optionals (format == "wheel") [ - wheelUnpackHook - ] - ++ lib.optionals (format == "egg") [ - eggUnpackHook - eggBuildHook - eggInstallHook - ] - ++ lib.optionals (format != "other") [ - pipInstallHook - ] - ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ - # This is a test, however, it should be ran independent of the checkPhase and checkInputs - pythonImportsCheckHook - ] - ++ lib.optionals withDistOutput [ - pythonOutputDistHook - ] - ++ nativeBuildInputs; + ); - buildInputs = validatePythonMatches "buildInputs" (buildInputs ++ pythonPath); + inherit strictDeps; - propagatedBuildInputs = validatePythonMatches "propagatedBuildInputs" ( - propagatedBuildInputs - ++ [ - # we propagate python even for packages transformed with 'toPythonApplication' - # this pollutes the PATH but avoids rebuilds - # see https://github.com/NixOS/nixpkgs/issues/170887 for more context - python - ] - ); - - inherit strictDeps; - - env = { - LANG = "${if python.stdenv.hostPlatform.isDarwin then "en_US" else "C"}.UTF-8"; - } - // (attrs.env or { }); - - # Python packages don't have a checkPhase, only an installCheckPhase - doCheck = false; - doInstallCheck = attrs.doCheck or true; - nativeInstallCheckInputs = nativeCheckInputs; - installCheckInputs = checkInputs; - - postFixup = - lib.optionalString (!dontWrapPythonPrograms) '' - wrapPythonPrograms - '' - + attrs.postFixup or ""; - - # Python packages built through cross-compilation are always for the host platform. - disallowedReferences = lib.optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ - python.pythonOnBuildForHost - ]; - - outputs = outputs ++ lib.optional withDistOutput "dist"; - - passthru = { - inherit - disabled - ; - updateScript = - let - filename = builtins.head (lib.splitString ":" finalAttrs.finalPackage.meta.position); - in - [ - update-python-libraries - filename - ]; - } - // passthru; - - meta = { - # default to python's platforms - platforms = python.meta.platforms; - isBuildPythonPackage = python.meta.platforms; - } - // meta; + env = { + LANG = "${if python.stdenv.hostPlatform.isDarwin then "en_US" else "C"}.UTF-8"; } - // lib.optionalAttrs (attrs ? checkPhase) { - # If given use the specified checkPhase, otherwise use the setup hook. - # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. - installCheckPhase = attrs.checkPhase; + // (attrs.env or { }); + + # Python packages don't have a checkPhase, only an installCheckPhase + doCheck = false; + doInstallCheck = attrs.doCheck or true; + nativeInstallCheckInputs = nativeCheckInputs; + installCheckInputs = checkInputs; + + postFixup = + lib.optionalString (!dontWrapPythonPrograms) '' + wrapPythonPrograms + '' + + attrs.postFixup or ""; + + # Python packages built through cross-compilation are always for the host platform. + disallowedReferences = lib.optionals (python.stdenv.hostPlatform != python.stdenv.buildPlatform) [ + python.pythonOnBuildForHost + ]; + + outputs = outputs ++ lib.optional withDistOutput "dist"; + + passthru = { + inherit + disabled + ; + updateScript = + let + filename = builtins.head (lib.splitString ":" finalAttrs.finalPackage.meta.position); + in + [ + update-python-libraries + filename + ]; } - // lib.optionalAttrs (disabledTestPaths != [ ]) { - disabledTestPaths = lib.escapeShellArgs disabledTestPaths; - }; + // passthru; + + meta = { + # default to python's platforms + platforms = python.meta.platforms; + isBuildPythonPackage = python.meta.platforms; + } + // meta; + } + // lib.optionalAttrs (attrs ? checkPhase) { + # If given use the specified checkPhase, otherwise use the setup hook. + # Longer-term we should get rid of `checkPhase` and use `installCheckPhase`. + installCheckPhase = attrs.checkPhase; + } + // lib.optionalAttrs (disabledTestPaths != [ ]) { + disabledTestPaths = lib.escapeShellArgs disabledTestPaths; + }; transformDrv = let - # Workaround to make the `lib.extendDerivation`-based disabled functionality - # respect `.overrideAttrs` - # It doesn't cover `..overrideAttrs`. - disablePythonPackage = - drv: - lib.extendDerivation ( - drv.disabled - -> throw "${lib.removePrefix namePrefix drv.name} not supported for interpreter ${python.executable}" - ) { } drv - // { - overrideAttrs = fdrv: disablePythonPackage (drv.overrideAttrs fdrv); - }; + # Workaround to make the `lib.extendDerivation`-based disabled functionality + # respect `.overrideAttrs` + # It doesn't cover `..overrideAttrs`. + disablePythonPackage = + drv: + lib.extendDerivation ( + drv.disabled + -> throw "${lib.removePrefix namePrefix drv.name} not supported for interpreter ${python.executable}" + ) { } drv + // { + overrideAttrs = fdrv: disablePythonPackage (drv.overrideAttrs fdrv); + }; in - drv: - disablePythonPackage (toPythonModule drv); + drv: disablePythonPackage (toPythonModule drv); } From fb40f073a57161664d1478937291451d6843bb2c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 26 Apr 2026 17:37:42 +0000 Subject: [PATCH 020/124] python3Packages.rctclient: 0.0.4 -> 0.0.5 --- pkgs/development/python-modules/rctclient/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rctclient/default.nix b/pkgs/development/python-modules/rctclient/default.nix index a1a7a581be66..effc8f73d0fb 100644 --- a/pkgs/development/python-modules/rctclient/default.nix +++ b/pkgs/development/python-modules/rctclient/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "rctclient"; - version = "0.0.4"; + version = "0.0.5"; pyproject = true; src = fetchFromGitHub { owner = "svalouch"; repo = "python-rctclient"; tag = "v${version}"; - hash = "sha256-QPla5h8wSM9Ynj44Uwc1a2yAnu8TXbyBWzVHQeW6jnI="; + hash = "sha256-f85ETzuZpOgnWpiLipLtAjOPn63yniCffWdPLyCEC3w="; }; build-system = [ setuptools ]; From 9c99b0985e0c54831fcd95e361e9bf0d970031ec Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 26 Apr 2026 20:14:34 +0200 Subject: [PATCH 021/124] pythpn3Packages.rctclient: migrate to finalAttrs --- pkgs/development/python-modules/rctclient/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/rctclient/default.nix b/pkgs/development/python-modules/rctclient/default.nix index effc8f73d0fb..488ad68e7c1b 100644 --- a/pkgs/development/python-modules/rctclient/default.nix +++ b/pkgs/development/python-modules/rctclient/default.nix @@ -7,7 +7,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "rctclient"; version = "0.0.5"; pyproject = true; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "svalouch"; repo = "python-rctclient"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-f85ETzuZpOgnWpiLipLtAjOPn63yniCffWdPLyCEC3w="; }; @@ -30,8 +30,8 @@ buildPythonPackage rec { meta = { description = "Python implementation of the RCT Power GmbH Serial Communication Protocol"; homepage = "https://github.com/svalouch/python-rctclient"; - changelog = "https://github.com/svalouch/python-rctclient/releases/tag/${src.tag}"; - license = with lib.licenses; [ gpl3Only ]; + changelog = "https://github.com/svalouch/python-rctclient/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ _9R ]; }; -} +}) From 1c741f9139a3f9f3ef499bb11e08a70acbd6f4cb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 27 Apr 2026 00:55:38 +0000 Subject: [PATCH 022/124] python3Packages.apprise: 1.9.9 -> 1.10.0 --- pkgs/development/python-modules/apprise/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix index 2816e92cb6cf..ea9cd651a335 100644 --- a/pkgs/development/python-modules/apprise/default.nix +++ b/pkgs/development/python-modules/apprise/default.nix @@ -23,12 +23,12 @@ buildPythonPackage (finalAttrs: { pname = "apprise"; - version = "1.9.9"; + version = "1.10.0"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-/WIsDfFr3HntOFU5c1VzSIyv4kBdJXR+h+69awmyYBI="; + hash = "sha256-t2jzLZnkXtX0w+7x9nkD6APJf5e6YaUxpdCkXUDfkKg="; }; postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' From 2fb2da4230b47bced3f814e1dd86e081b3fb46af Mon Sep 17 00:00:00 2001 From: Brett Eisenberg Date: Thu, 16 Apr 2026 17:28:00 -0700 Subject: [PATCH 023/124] nmtrust: init at 0.1.0 --- pkgs/by-name/nm/nmtrust/package.nix | 70 +++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 pkgs/by-name/nm/nmtrust/package.nix diff --git a/pkgs/by-name/nm/nmtrust/package.nix b/pkgs/by-name/nm/nmtrust/package.nix new file mode 100644 index 000000000000..eec88cc613e2 --- /dev/null +++ b/pkgs/by-name/nm/nmtrust/package.nix @@ -0,0 +1,70 @@ +{ + lib, + stdenv, + fetchFromGitHub, + makeWrapper, + shellcheck, + bash, + systemd, + coreutils, + gawk, + util-linux, +}: + +stdenv.mkDerivation { + pname = "nmtrust"; + version = "0.1.0"; + + strictDeps = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "brett"; + repo = "nmtrust-nix"; + rev = "v0.1.0"; + hash = "sha256-7Cs00mCzByTKe7w5pnkkgqtZyUSaPa2r/5Uv133eZy0="; + }; + + nativeBuildInputs = [ makeWrapper ]; + nativeCheckInputs = [ shellcheck ]; + + doCheck = true; + checkPhase = '' + runHook preCheck + shellcheck nmtrust.sh + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + install -Dm755 nmtrust.sh $out/bin/nmtrust + wrapProgram $out/bin/nmtrust \ + --prefix PATH : ${ + lib.makeBinPath [ + bash + systemd + coreutils + gawk + util-linux + ] + } + runHook postInstall + ''; + + meta = { + description = "Declarative network trust management for NixOS"; + longDescription = '' + nmtrust evaluates the trust state of active NetworkManager connections + and activates corresponding systemd targets. Services bound to these + targets start and stop automatically as you move between trusted, + untrusted, and offline networks. + + A NixOS-native reimplementation of nmtrust by Peter Hogg (pigmonkey). + ''; + homepage = "https://github.com/brett/nmtrust-nix"; + license = lib.licenses.unlicense; + maintainers = [ lib.maintainers.brett ]; + mainProgram = "nmtrust"; + platforms = lib.platforms.linux; + }; +} From e270fda6b02ee25e71ac4d1503beba812ef401c7 Mon Sep 17 00:00:00 2001 From: Brett Eisenberg Date: Thu, 16 Apr 2026 17:28:16 -0700 Subject: [PATCH 024/124] nixos/nmtrust: init --- nixos/modules/module-list.nix | 1 + nixos/modules/services/networking/nmtrust.nix | 389 ++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/nmtrust.nix | 92 +++++ 4 files changed, 483 insertions(+) create mode 100644 nixos/modules/services/networking/nmtrust.nix create mode 100644 nixos/tests/nmtrust.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index f89194a4ef39..f0a3b80cc47e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1318,6 +1318,7 @@ ./services/networking/nix-store-gcs-proxy.nix ./services/networking/nixops-dns.nix ./services/networking/nm-file-secret-agent.nix + ./services/networking/nmtrust.nix ./services/networking/nncp.nix ./services/networking/nntp-proxy.nix ./services/networking/nomad.nix diff --git a/nixos/modules/services/networking/nmtrust.nix b/nixos/modules/services/networking/nmtrust.nix new file mode 100644 index 000000000000..710ba0b5f58f --- /dev/null +++ b/nixos/modules/services/networking/nmtrust.nix @@ -0,0 +1,389 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.nmtrust; + + # Resolve trusted UUIDs from ensureProfiles + extra + profileUUIDs = map ( + name: config.networking.networkmanager.ensureProfiles.profiles.${name}.connection.uuid + ) cfg.trustedConnections; + + trustedUUIDs = profileUUIDs ++ cfg.trustedUUIDsExtra; + + userNames = builtins.attrNames cfg.userUnits; + + # The package reads config from /etc/nmtrust/config at runtime + trustHelper = pkgs.nmtrust; + + # Trust target names + trustTargets = [ + "nmtrust-trusted" + "nmtrust-untrusted" + "nmtrust-offline" + ]; + + # Generate Conflicts= for a target (all other trust targets) + conflictsFor = target: map (t: "${t}.target") (builtins.filter (t: t != target) trustTargets); + + # Generate systemd unit overrides for a system unit. + # Uses StopWhenUnneeded instead of PartOf to avoid same-transaction + # issues: when transitioning between targets that both want a unit + # (e.g. offline -> trusted for allowOffline units), PartOf on the + # old target would stop the unit before WantedBy on the new target + # can restart it. StopWhenUnneeded only stops the unit when NO + # active target wants it. + mkSystemUnitOverrides = + unitName: unitCfg: + let + targets = [ + "nmtrust-trusted.target" + ] + ++ lib.optional unitCfg.allowOffline "nmtrust-offline.target"; + in + { + unitConfig.StopWhenUnneeded = true; + wantedBy = targets; + }; + + # Generate user unit overrides + mkUserUnitOverrides = + unitName: unitCfg: + let + targets = [ + "nmtrust-trusted.target" + ] + ++ lib.optional unitCfg.allowOffline "nmtrust-offline.target"; + in + { + unitConfig.StopWhenUnneeded = true; + wantedBy = targets; + }; + + # NM dispatcher script + dispatcherScript = pkgs.writeShellScript "nmtrust-dispatcher" '' + case "$2" in + up|down|vpn-up|vpn-down|connectivity-change) + ${config.systemd.package}/bin/systemd-run \ + --no-block \ + --on-active=1s \ + --unit=nmtrust-apply-debounce \ + ${config.systemd.package}/bin/systemctl start nmtrust-apply.service \ + 2>/dev/null || true + ;; + esac + ''; + +in +{ + + # + # Options + # + + options.services.nmtrust = { + + enable = lib.mkEnableOption "network trust management"; + + trustedConnections = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + List of NetworkManager profile names from + {option}`networking.networkmanager.ensureProfiles`. + UUIDs are resolved at evaluation time. + ''; + }; + + trustedUUIDsExtra = lib.mkOption { + type = lib.types.listOf ( + lib.types.strMatching "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + ); + default = [ ]; + description = '' + Additional trusted connection UUIDs not managed via + {option}`networking.networkmanager.ensureProfiles`. + Must be valid UUID format. + ''; + }; + + excludedConnectionPatterns = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ ]; + description = '' + Glob patterns matched against connection names at runtime using + fnmatch(3) with FNM_NOESCAPE. Connection names are treated as + literal strings (no backslash interpretation). + Matching connections are ignored when computing trust state. + ''; + }; + + mixedPolicy = lib.mkOption { + type = lib.types.enum [ + "trusted" + "untrusted" + ]; + default = "untrusted"; + description = '' + How to treat mixed trust state (some connections trusted, + some untrusted). + ''; + }; + + evalFailurePolicy = lib.mkOption { + type = lib.types.enum [ + "untrusted" + "offline" + ]; + default = "untrusted"; + description = '' + How to handle trust evaluation failures (D-Bus errors, NM + unavailable). `"untrusted"` (default) is fail-closed: trusted-only + units stop. `"offline"` allows units with + {option}`allowOffline` to run. + ''; + }; + + systemUnits = lib.mkOption { + type = lib.types.attrsOf ( + lib.types.submodule { + options.allowOffline = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether this unit should also run when offline."; + }; + } + ); + default = { }; + description = '' + System units to bind to the trusted network target. + Keys are systemd unit names. + ''; + }; + + userUnits = lib.mkOption { + type = lib.types.attrsOf ( + lib.types.attrsOf ( + lib.types.submodule { + options.allowOffline = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether this unit should also run when offline."; + }; + } + ) + ); + default = { }; + example = lib.literalExpression '' + { + alice = { + "etesync-dav.service" = { }; + "syncthing.service" = { allowOffline = true; }; + }; + } + ''; + description = '' + Per-user units to bind to the trusted network target. + Outer keys are usernames, inner keys are systemd unit names. + Users must have linger enabled + ({option}`users.users..linger`). + ''; + }; + }; + + # + # Config + # + + config = lib.mkIf cfg.enable { + + # --- Assertions --- + + assertions = + # NetworkManager is required + [ + { + assertion = config.networking.networkmanager.enable; + message = "services.nmtrust requires networking.networkmanager.enable = true."; + } + ] + ++ + # trustedConnections -> ensureProfiles UUID resolution + (map (name: { + assertion = + config.networking.networkmanager.ensureProfiles.profiles ? ${name} + && config.networking.networkmanager.ensureProfiles.profiles.${name}.connection ? uuid; + message = + "services.nmtrust.trustedConnections references '${name}' " + + "but no matching networking.networkmanager.ensureProfiles entry with a UUID exists."; + }) cfg.trustedConnections) + ++ + # userUnits -> user existence + (map (username: { + assertion = config.users.users ? ${username}; + message = + "services.nmtrust.userUnits references user '${username}' " + + "but no matching users.users entry exists."; + }) userNames) + ++ + # userUnits -> linger enabled + (map (username: { + assertion = + let + l = config.users.users.${username}.linger; + in + l != null && l; + message = + "services.nmtrust.userUnits references user '${username}' but " + + "linger is not enabled. Set users.users.${username}.linger = true to " + + "ensure the user's systemd instance is running for trust-based unit management. " + + "Note: enabling linger causes ALL of this user's enabled user services to run " + + "persistently, not just trust-managed units."; + }) (builtins.filter (u: config.users.users ? ${u}) userNames)); + + # --- Helper package on PATH --- + + environment.systemPackages = [ trustHelper ]; + + # --- Runtime config file --- + + environment.etc."nmtrust/config" = { + text = + let + toBashArray = xs: "(" + lib.concatMapStringsSep " " (x: lib.escapeShellArg x) xs + ")"; + in + '' + # Generated by NixOS module — do not edit + TRUSTED_UUIDS=${toBashArray trustedUUIDs} + EXCLUDED_PATTERNS=${toBashArray (cfg.excludedConnectionPatterns)} + MIXED_POLICY=${lib.escapeShellArg cfg.mixedPolicy} + EVAL_FAILURE_POLICY=${lib.escapeShellArg cfg.evalFailurePolicy} + MANAGED_USERS=${toBashArray userNames} + ''; + }; + + # --- tmpfiles.d --- + + systemd.tmpfiles.rules = [ + "d /run/nmtrust 0700 root root -" + ]; + + # --- System trust targets --- + + systemd.targets = lib.listToAttrs ( + map (target: { + name = target; + value = { + description = "Network Trust State: ${ + if target == "nmtrust-trusted" then + "Trusted" + else if target == "nmtrust-untrusted" then + "Untrusted" + else + "Offline" + }"; + unitConfig.Conflicts = conflictsFor target; + }; + }) trustTargets + ); + + # --- User trust targets --- + + systemd.user.targets = lib.listToAttrs ( + map (target: { + name = target; + value = { + description = "Network Trust State: ${ + if target == "nmtrust-trusted" then + "Trusted (User)" + else if target == "nmtrust-untrusted" then + "Untrusted (User)" + else + "Offline (User)" + }"; + unitConfig.Conflicts = conflictsFor target; + }; + }) trustTargets + ); + + # --- System unit overrides + services --- + + # Strip .service/.timer/.socket suffixes — NixOS appends them automatically + systemd.services = + lib.mapAttrs' (name: value: { + name = lib.removeSuffix ".service" (lib.removeSuffix ".timer" (lib.removeSuffix ".socket" name)); + value = mkSystemUnitOverrides name value; + }) cfg.systemUnits + // { + nmtrust-apply = { + description = "Evaluate and apply network trust state"; + after = [ "NetworkManager.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${trustHelper}/bin/nmtrust apply"; + ProtectSystem = "strict"; + ReadWritePaths = [ "/run/nmtrust" ]; + ProtectHome = true; + NoNewPrivileges = true; + PrivateTmp = true; + }; + }; + nmtrust-eval = { + description = "Evaluate network trust state on boot"; + wantedBy = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + after = [ + "NetworkManager.service" + "network-online.target" + ]; + restartTriggers = [ + config.environment.etc."nmtrust/config".source + ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${trustHelper}/bin/nmtrust apply"; + ProtectSystem = "strict"; + ReadWritePaths = [ "/run/nmtrust" ]; + ProtectHome = true; + NoNewPrivileges = true; + PrivateTmp = true; + }; + }; + }; + + # --- User unit overrides --- + + systemd.user.services = lib.foldl' ( + acc: username: + lib.foldl' ( + acc': unitName: + let + strippedName = lib.removeSuffix ".service" ( + lib.removeSuffix ".timer" (lib.removeSuffix ".socket" unitName) + ); + in + acc' + // { + ${strippedName} = mkUserUnitOverrides unitName cfg.userUnits.${username}.${unitName}; + } + ) acc (builtins.attrNames cfg.userUnits.${username}) + ) { } userNames; + + # --- NM dispatcher --- + + networking.networkmanager.dispatcherScripts = [ + { + source = dispatcherScript; + type = "basic"; + } + ]; + }; + + meta.maintainers = [ lib.maintainers.brett ]; + +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 929e8362e8f3..5f2f27cfb445 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1134,6 +1134,7 @@ in pkgs.callPackage ../../pkgs/stdenv/generic/check-meta-test.nix { }; nixseparatedebuginfod2 = runTest ./nixseparatedebuginfod2.nix; + nmtrust = runTest ./nmtrust.nix; node-red = runTest ./node-red.nix; nohang = runTest ./nohang.nix; nomad = runTest ./nomad.nix; diff --git a/nixos/tests/nmtrust.nix b/nixos/tests/nmtrust.nix new file mode 100644 index 000000000000..5954746b254d --- /dev/null +++ b/nixos/tests/nmtrust.nix @@ -0,0 +1,92 @@ +{ lib, pkgs, ... }: +{ + name = "nmtrust"; + + nodes.machine = + { pkgs, ... }: + { + networking.networkmanager.enable = true; + + # Prevent the VM's built-in interfaces from polluting trust state. + networking.networkmanager.unmanaged = [ + "eth0" + "eth1" + "lo" + ]; + + networking.networkmanager.ensureProfiles.profiles = { + trusted-net = { + connection = { + id = "trusted-net"; + uuid = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"; + type = "dummy"; + interface-name = "dummy-trusted"; + autoconnect = "false"; + }; + ipv4.method = "manual"; + ipv4.addresses = "10.99.1.1/24"; + }; + untrusted-net = { + connection = { + id = "untrusted-net"; + uuid = "11111111-2222-3333-4444-555555555555"; + type = "dummy"; + interface-name = "dummy-untrusted"; + autoconnect = "false"; + }; + ipv4.method = "manual"; + ipv4.addresses = "10.99.2.1/24"; + }; + }; + + services.nmtrust = { + enable = true; + trustedConnections = [ "trusted-net" ]; + systemUnits."trust-canary.service" = { }; + }; + + # Canary service: runs only while the trusted target is active. + systemd.services.trust-canary = { + description = "nmtrust test canary"; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.coreutils}/bin/sleep infinity"; + }; + }; + }; + + testScript = '' + import time + + def apply(machine): + """Trigger nmtrust-apply and wait for it to finish.""" + time.sleep(1) + machine.succeed("systemctl start nmtrust-apply.service") + machine.wait_until_succeeds( + "systemctl show nmtrust-apply.service -p ActiveState --value | grep -q inactive", + timeout=10, + ) + + machine.wait_for_unit("multi-user.target") + + with subtest("offline on boot with no connections active"): + apply(machine) + machine.succeed("systemctl is-active nmtrust-offline.target") + machine.fail("systemctl is-active trust-canary.service") + + with subtest("trusted when trusted connection is up"): + machine.succeed("nmcli connection up trusted-net") + apply(machine) + machine.succeed("systemctl is-active nmtrust-trusted.target") + machine.succeed("systemctl is-active trust-canary.service") + + with subtest("untrusted when untrusted connection replaces trusted"): + machine.succeed("nmcli connection down trusted-net") + machine.succeed("nmcli connection up untrusted-net") + apply(machine) + machine.succeed("systemctl is-active nmtrust-untrusted.target") + machine.fail("systemctl is-active trust-canary.service") + ''; + + meta.maintainers = with lib.maintainers; [ brett ]; +} From 59e3c3874bf77cffe7be548950ebe68627c720d8 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Mon, 27 Apr 2026 21:38:13 +0200 Subject: [PATCH 025/124] hebbot: update changelog URL See #514132 for context. This is maybe better since this points to "a" changelog? But this is a prerelease and the maintainer hasn't released in a while. --- pkgs/by-name/he/hebbot/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/he/hebbot/package.nix b/pkgs/by-name/he/hebbot/package.nix index 8981a5d90c3a..bb2469185630 100644 --- a/pkgs/by-name/he/hebbot/package.nix +++ b/pkgs/by-name/he/hebbot/package.nix @@ -51,7 +51,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Matrix bot which can generate \"This Week in X\" like blog posts "; homepage = "https://github.com/haecker-felix/hebbot"; - changelog = "https://github.com/haecker-felix/hebbot/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/haecker-felix/hebbot/releases/tag/v2.1"; license = with lib.licenses; [ agpl3Only ]; mainProgram = "hebbot"; maintainers = with lib.maintainers; [ a-kenji ]; From 6bc3480fdfd1d816ae7efda0aeb548b3db95888c Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 27 Apr 2026 22:05:38 +0200 Subject: [PATCH 026/124] obconf: fix homepage and changelog --- pkgs/by-name/ob/obconf/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ob/obconf/package.nix b/pkgs/by-name/ob/obconf/package.nix index 48e02703fbc6..c98bc820b7d0 100644 --- a/pkgs/by-name/ob/obconf/package.nix +++ b/pkgs/by-name/ob/obconf/package.nix @@ -48,8 +48,8 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "GUI configuration tool for openbox"; - homepage = "http://openbox.org/wiki/ObConf"; - changelog = "http://openbox.org/wiki/ObConf:Changelog"; + homepage = "https://openbox.org/obconf"; + changelog = "https://openbox.org/obconf_changelog"; license = lib.licenses.gpl2Plus; maintainers = [ lib.maintainers.sfrijters ]; platforms = lib.platforms.linux; From 62138a501f129caae6e05c7bb22fe9d53c089acc Mon Sep 17 00:00:00 2001 From: Sergei Volkov Date: Mon, 27 Apr 2026 22:15:02 +0200 Subject: [PATCH 027/124] python3Packages.greenback: fix changelog link --- pkgs/development/python-modules/greenback/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/greenback/default.nix b/pkgs/development/python-modules/greenback/default.nix index 3cbf47a7a5a1..b287188af03f 100644 --- a/pkgs/development/python-modules/greenback/default.nix +++ b/pkgs/development/python-modules/greenback/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { meta = { description = "Use anyio and asyncio from synchronous code"; homepage = "https://github.com/oremanj/greenback"; - changelog = "https://github.com/oremanj/greenback/blob/${src.rev}/CHANGES.rst"; + changelog = "https://github.com/oremanj/greenback/blob/${src.tag}/docs/source/history.rst"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ taranarmo ]; }; From d51d9acab5ed52eb08c749da8405f181ec77bced Mon Sep 17 00:00:00 2001 From: locnide Date: Mon, 27 Apr 2026 22:58:33 +0200 Subject: [PATCH 028/124] python3Packages.datashader: fix changelog link --- pkgs/development/python-modules/datashader/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/datashader/default.nix b/pkgs/development/python-modules/datashader/default.nix index 2a83a163c223..8c9c845391d3 100644 --- a/pkgs/development/python-modules/datashader/default.nix +++ b/pkgs/development/python-modules/datashader/default.nix @@ -71,7 +71,7 @@ buildPythonPackage rec { description = "Data visualization toolchain based on aggregating into a grid"; mainProgram = "datashader"; homepage = "https://datashader.org"; - changelog = "https://github.com/holoviz/datashader/blob/${src.tag}/CHANGELOG.rst"; + changelog = "https://github.com/holoviz/datashader/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ nickcao From e26157b56cb3671e0a5ba2a5dba2b85fe7649144 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 27 Apr 2026 22:24:17 +0000 Subject: [PATCH 029/124] txtpbfmt: 0-unstable-2026-02-17 -> 0-unstable-2026-04-20 --- pkgs/by-name/tx/txtpbfmt/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tx/txtpbfmt/package.nix b/pkgs/by-name/tx/txtpbfmt/package.nix index 066be2f86b60..d3cf3e94eb40 100644 --- a/pkgs/by-name/tx/txtpbfmt/package.nix +++ b/pkgs/by-name/tx/txtpbfmt/package.nix @@ -7,13 +7,13 @@ buildGoModule { pname = "txtpbfmt"; - version = "0-unstable-2026-02-17"; + version = "0-unstable-2026-04-20"; src = fetchFromGitHub { owner = "protocolbuffers"; repo = "txtpbfmt"; - rev = "a481f6a22f9426d6c2cc3d4be185b28d156886e4"; - hash = "sha256-5dX1hEq1VzzZdXaoxkyy/gCbB8u/wlwy8g9kScVmJZs="; + rev = "c39628bde8b5d6b6e8f67f46580b5c1dd491b1fd"; + hash = "sha256-D3yONCvyynXKVyeRypllKNMgPgo1w1ObPcra3r7aSF0="; }; vendorHash = "sha256-aeYa7a/oKH2dxXHRkkqyh7f04citRDGQxAaKQTJst4o="; From 6e77c4bdd24f6c6b7646cff4e12675a47cfd6533 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 27 Apr 2026 15:37:51 -0700 Subject: [PATCH 030/124] python3Packages.unstructured-client: 0.42.12 -> 0.43.2 Diff: https://github.com/Unstructured-IO/unstructured-python-client/compare/v0.42.12...v0.43.2 Changelog: https://github.com/Unstructured-IO/unstructured-python-client/blob/v0.43.2/RELEASES.md --- .../python-modules/unstructured-client/default.nix | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/unstructured-client/default.nix b/pkgs/development/python-modules/unstructured-client/default.nix index 7959204b7581..5c6c951288a5 100644 --- a/pkgs/development/python-modules/unstructured-client/default.nix +++ b/pkgs/development/python-modules/unstructured-client/default.nix @@ -1,13 +1,11 @@ { aiofiles, buildPythonPackage, - cryptography, deepdiff, fetchFromGitHub, httpcore, httpx, lib, - poetry-core, pydantic, pypdf, pypdfium2, @@ -15,33 +13,29 @@ pytestCheckHook, python, requests-toolbelt, + setuptools, }: buildPythonPackage (finalAttrs: { pname = "unstructured-client"; - version = "0.42.12"; + version = "0.43.2"; pyproject = true; src = fetchFromGitHub { owner = "Unstructured-IO"; repo = "unstructured-python-client"; tag = "v${finalAttrs.version}"; - hash = "sha256-xuaGvQEu1QpLn33AUgdWW120pVVNVPL08U/SCA7kGvc="; + hash = "sha256-Y/qhgm+mmKNPZhx/km02i7sc31izQH72REXYrKY++OM="; }; preBuild = '' ${python.interpreter} scripts/prepare_readme.py ''; - build-system = [ poetry-core ]; - - pythonRelaxDeps = [ - "pydantic" - ]; + build-system = [ setuptools ]; dependencies = [ aiofiles - cryptography httpcore httpx pydantic From 79a13f06887c0e114344b2d4d7b5f314016a92cc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 06:51:07 +0000 Subject: [PATCH 031/124] liteparse: 1.4.6 -> 1.5.2 --- pkgs/by-name/li/liteparse/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/liteparse/package.nix b/pkgs/by-name/li/liteparse/package.nix index 66033f300268..cb46908b048e 100644 --- a/pkgs/by-name/li/liteparse/package.nix +++ b/pkgs/by-name/li/liteparse/package.nix @@ -10,16 +10,16 @@ buildNpmPackage (finalAttrs: { pname = "liteparse"; - version = "1.4.6"; + version = "1.5.2"; src = fetchFromGitHub { owner = "run-llama"; repo = "liteparse"; tag = "v${finalAttrs.version}"; - hash = "sha256-GUtqJsmAOrbxLc/aAIre95QD6aaFsj5ClqZfo7jdwB4="; + hash = "sha256-e3c8ak4kww8vQDfYT8S9m7Tv7vnBiox2qaI73yUb23U="; }; - npmDepsHash = "sha256-Wz46n7BbubC3Cq1CHOHM2q/dVOvOVNQTloHZfkAwzpg="; + npmDepsHash = "sha256-KhtwPl1J9ZZMT9xT5bQJjPa3fYTvi9oRnxijCm0o+2c="; npmBuildScript = "build"; nativeBuildInputs = [ makeBinaryWrapper ]; From 7528daf8a7f507c222299e782777156738ef69d1 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 28 Apr 2026 09:09:21 +0200 Subject: [PATCH 032/124] calcurse: Remove dead changelog link Upstream was pinged about this. Signed-off-by: Matthias Beyer --- pkgs/by-name/ca/calcurse/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/ca/calcurse/package.nix b/pkgs/by-name/ca/calcurse/package.nix index f94876e38594..56c6daaf6f98 100644 --- a/pkgs/by-name/ca/calcurse/package.nix +++ b/pkgs/by-name/ca/calcurse/package.nix @@ -44,7 +44,6 @@ stdenv.mkDerivation (finalAttrs: { be used to filter and format appointments, making it suitable for use in scripts. ''; homepage = "https://calcurse.org/"; - changelog = "https://git.calcurse.org/calcurse.git/plain/CHANGES.md?h=v${finalAttrs.version}"; license = lib.licenses.bsd2; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.matthiasbeyer ]; From 58ae593979e274d0d4b6616fb9e0c9eb7a241a9a Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 28 Apr 2026 09:11:21 +0200 Subject: [PATCH 033/124] cargo-info: Fix meta.changelog Signed-off-by: Matthias Beyer --- pkgs/by-name/ca/cargo-info/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ca/cargo-info/package.nix b/pkgs/by-name/ca/cargo-info/package.nix index 463564c1e890..f1257e14a907 100644 --- a/pkgs/by-name/ca/cargo-info/package.nix +++ b/pkgs/by-name/ca/cargo-info/package.nix @@ -31,7 +31,7 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "Cargo subcommand to show crates info from crates.io"; mainProgram = "cargo-info"; homepage = "https://gitlab.com/imp/cargo-info"; - changelog = "https://gitlab.com/imp/cargo-info/-/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + changelog = "https://gitlab.com/imp/cargo-info/-/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = with lib.licenses; [ mit asl20 From ab2c92daf62d0221ab39c4bdfa35d23c8ea8deda Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 28 Apr 2026 09:16:01 +0200 Subject: [PATCH 034/124] cargo-public-api: Fix meta.{homepage, changelog} URL Apparently, the repository was moved. Signed-off-by: Matthias Beyer --- pkgs/by-name/ca/cargo-public-api/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ca/cargo-public-api/package.nix b/pkgs/by-name/ca/cargo-public-api/package.nix index fb5fe7e22995..299ffa95102b 100644 --- a/pkgs/by-name/ca/cargo-public-api/package.nix +++ b/pkgs/by-name/ca/cargo-public-api/package.nix @@ -31,8 +31,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "List and diff the public API of Rust library crates between releases and commits. Detect breaking API changes and semver violations"; mainProgram = "cargo-public-api"; - homepage = "https://github.com/Enselic/cargo-public-api"; - changelog = "https://github.com/Enselic/cargo-public-api/releases/tag/v${finalAttrs.version}"; + homepage = "https://github.com/cargo-public-api/cargo-public-api"; + changelog = "https://github.com/cargo-public-api/cargo-public-api/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ matthiasbeyer ]; }; From 03b68e81b2d5b46e327cf16eac31b81b64af0ff2 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 28 Apr 2026 09:16:30 +0200 Subject: [PATCH 035/124] cargo-public-api: Fix meta.changelog URL Signed-off-by: Matthias Beyer --- pkgs/by-name/ca/cargo-public-api/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ca/cargo-public-api/package.nix b/pkgs/by-name/ca/cargo-public-api/package.nix index 299ffa95102b..68b4db065e88 100644 --- a/pkgs/by-name/ca/cargo-public-api/package.nix +++ b/pkgs/by-name/ca/cargo-public-api/package.nix @@ -32,7 +32,7 @@ rustPlatform.buildRustPackage (finalAttrs: { description = "List and diff the public API of Rust library crates between releases and commits. Detect breaking API changes and semver violations"; mainProgram = "cargo-public-api"; homepage = "https://github.com/cargo-public-api/cargo-public-api"; - changelog = "https://github.com/cargo-public-api/cargo-public-api/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/cargo-public-api/cargo-public-api/blob/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ matthiasbeyer ]; }; From 768ec16ccbae9d2e50c35ac237183d60de8472dd Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 28 Apr 2026 09:22:42 +0200 Subject: [PATCH 036/124] git-gone: Fetch from codeberg Repository seems to have moved. Signed-off-by: Matthias Beyer --- pkgs/by-name/gi/git-gone/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/gi/git-gone/package.nix b/pkgs/by-name/gi/git-gone/package.nix index 3bdf4b29b489..49218f56d3eb 100644 --- a/pkgs/by-name/gi/git-gone/package.nix +++ b/pkgs/by-name/gi/git-gone/package.nix @@ -1,6 +1,6 @@ { lib, - fetchFromGitHub, + fetchFromCodeberg, rustPlatform, }: @@ -8,7 +8,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "git-gone"; version = "1.3.1"; - src = fetchFromGitHub { + src = fetchFromCodeberg { owner = "swsnr"; repo = "git-gone"; tag = "v${finalAttrs.version}"; @@ -19,8 +19,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Cleanup stale Git branches of merge requests"; - homepage = "https://github.com/swsnr/git-gone"; - changelog = "https://github.com/swsnr/git-gone/raw/v${finalAttrs.version}/CHANGELOG.md"; + homepage = "https://codeberg.org/swsnr/git-gone"; + changelog = "https://codeberg.org/swsnr/git-gone/raw/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ cafkafk From 8383269d089ab8d0c18217a054b7e72615dd6b72 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 28 Apr 2026 09:42:10 +0200 Subject: [PATCH 037/124] gitnr: Remove meta.changelog There is no changelog in the repository (anymore?). Signed-off-by: Matthias Beyer --- pkgs/by-name/gi/gitnr/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/gi/gitnr/package.nix b/pkgs/by-name/gi/gitnr/package.nix index 168f56a42d7b..9319ffafcb18 100644 --- a/pkgs/by-name/gi/gitnr/package.nix +++ b/pkgs/by-name/gi/gitnr/package.nix @@ -40,7 +40,6 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Create `.gitignore` files using one or more templates from TopTal, GitHub or your own collection"; homepage = "https://github.com/reemus-dev/gitnr"; - changelog = "https://github.com/reemus-dev/gitnr/blob/${finalAttrs.src.rev}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ matthiasbeyer From c0a36b69fb1a18e11b1861bac7c8d4ea28d22351 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 28 Apr 2026 09:44:11 +0200 Subject: [PATCH 038/124] llmfit: Fix meta.changelog Signed-off-by: Matthias Beyer --- pkgs/by-name/ll/llmfit/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ll/llmfit/package.nix b/pkgs/by-name/ll/llmfit/package.nix index 6fbb2aa97281..5365f91e3a1c 100644 --- a/pkgs/by-name/ll/llmfit/package.nix +++ b/pkgs/by-name/ll/llmfit/package.nix @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Find what runs on your hardware"; homepage = "https://github.com/AlexsJones/llmfit"; - changelog = "https://github.com/AlexsJones/llmfit/releases/tag/v${finalAttrs.src.rev}"; + changelog = "https://github.com/AlexsJones/llmfit/blob/v${finalAttrs.src.rev}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ matthiasbeyer From 38c971054f008031adc6e9446ffa9fb87e460d5a Mon Sep 17 00:00:00 2001 From: Gavin John Date: Tue, 28 Apr 2026 04:38:29 -0700 Subject: [PATCH 039/124] qgroundcontrol: update changelog link See https://github.com/NixOS/nixpkgs/issues/514132 --- pkgs/by-name/qg/qgroundcontrol/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/qg/qgroundcontrol/package.nix b/pkgs/by-name/qg/qgroundcontrol/package.nix index f226de0c703c..8f067a131009 100644 --- a/pkgs/by-name/qg/qgroundcontrol/package.nix +++ b/pkgs/by-name/qg/qgroundcontrol/package.nix @@ -101,7 +101,7 @@ stdenv.mkDerivation rec { meta = { description = "Provides full ground station support and configuration for the PX4 and APM Flight Stacks"; homepage = "https://qgroundcontrol.com/"; - changelog = "https://github.com/mavlink/qgroundcontrol/blob/master/ChangeLog.md"; + changelog = "https://github.com/mavlink/qgroundcontrol/blob/master/CHANGELOG.md"; license = lib.licenses.gpl3Plus; platforms = lib.platforms.linux; maintainers = with lib.maintainers; [ From 02f67a7765caef990429abbb2577a17ddca2f4b4 Mon Sep 17 00:00:00 2001 From: Anton-4 <17049058+Anton-4@users.noreply.github.com> Date: Tue, 28 Apr 2026 14:20:56 +0200 Subject: [PATCH 040/124] roc: fix changelog URL The previous url was 404. Fix initiated because of https://github.com/NixOS/nixpkgs/issues/514132 --- pkgs/by-name/ro/roc/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ro/roc/package.nix b/pkgs/by-name/ro/roc/package.nix index db7bd4492e71..7c4455e58447 100644 --- a/pkgs/by-name/ro/roc/package.nix +++ b/pkgs/by-name/ro/roc/package.nix @@ -99,7 +99,7 @@ rustPlatform.buildRustPackage { description = "Fast, friendly, functional programming language"; mainProgram = "roc"; homepage = "https://www.roc-lang.org/"; - changelog = "https://github.com/roc-lang/roc/releases/tag/${rocVersion}"; + changelog = "https://github.com/roc-lang/roc/releases/tag/alpha4-rolling"; license = lib.licenses.upl; maintainers = [ lib.maintainers.anton-4 From 0f0f5f6a2ce29199b90de92df2382167a3a3b5d5 Mon Sep 17 00:00:00 2001 From: whispers Date: Mon, 27 Apr 2026 21:22:13 -0400 Subject: [PATCH 041/124] tor-browser: 15.0.10 -> 15.0.11 Release announcement: https://blog.torproject.org/new-release-tor-browser-15011/ Changelog: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/raw/tbb-15.0.11-build1/projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt Firefox ESR: https://www.firefox.com/en-US/firefox/140.10.1/releasenotes/ Firefox diff: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/FIREFOX_140_10_0esr_BUILD1...FIREFOX_140_10_1esr_BUILD1 We also update the changelog url to work for the current Tor Project GitLab, instead of the old interface. We use the general maintenance branch for the major version instead of the tags per-version since the per-version tags include build numbers, which we do not track. --- pkgs/by-name/to/tor-browser/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix index bc6aea8cdb1a..2541b229cae6 100644 --- a/pkgs/by-name/to/tor-browser/package.nix +++ b/pkgs/by-name/to/tor-browser/package.nix @@ -102,7 +102,7 @@ let ++ lib.optionals mediaSupport [ ffmpeg_7 ] ); - version = "15.0.10"; + version = "15.0.11"; sources = { x86_64-linux = fetchurl { @@ -112,7 +112,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-PlGjkyO2MoLWo7eAgoNMfd52dM7v9VKyfCxXbj3qqu4="; + hash = "sha256-+1ZpJcVkqqP2WE3kyAJ7Ip3CmM2JIpUos1wgvLjND24="; }; i686-linux = fetchurl { @@ -122,7 +122,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" ]; - hash = "sha256-rangtzd7oee+2b7zdmKYJD8al4G3FYo+bdq8JgBn5oE="; + hash = "sha256-dZeTAkmvI5+mu7u9DrUj/JTvLHE4hiNVqd5AyVbZptg="; }; }; @@ -347,7 +347,7 @@ stdenv.mkDerivation rec { description = "Privacy-focused browser routing traffic through the Tor network"; mainProgram = "tor-browser"; homepage = "https://www.torproject.org/"; - changelog = "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=maint-${version}"; + changelog = "https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/raw/maint-${lib.versions.majorMinor version}/projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt"; platforms = lib.attrNames sources; maintainers = with lib.maintainers; [ c4patino From e64a9b84a61afdaa615a4ecff4c93a7c16f7da6f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 12:34:37 +0000 Subject: [PATCH 042/124] apt-swarm: 0.5.1 -> 0.6.0 --- pkgs/by-name/ap/apt-swarm/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ap/apt-swarm/package.nix b/pkgs/by-name/ap/apt-swarm/package.nix index 9725f132ca64..a6e2617b87a4 100644 --- a/pkgs/by-name/ap/apt-swarm/package.nix +++ b/pkgs/by-name/ap/apt-swarm/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "apt-swarm"; - version = "0.5.1"; + version = "0.6.0"; src = fetchFromGitHub { owner = "kpcyrd"; repo = "apt-swarm"; tag = "v${finalAttrs.version}"; - hash = "sha256-zb0X6vIRKeI5Ysc88sTCJBlr9r8hrsTq5YR7YCg1L30="; + hash = "sha256-tDIwx+Eb/5EH9p407+FfKAwU6ZjNxyKtfFe5h7eTnHg="; }; - cargoHash = "sha256-PELTEzhsFa1nl7iqrjnuXEI0U7L8rL9XW9XqQ04rz/s="; + cargoHash = "sha256-43TFrddQvmzUzk2JnggKKWljBNzO+7IYF8HsTwez7a4="; meta = { description = "Experimental p2p gossip network for OpenPGP signature transparency"; From ee594df3fbabd2e5567c98fe2f01326959760459 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 13:30:48 +0000 Subject: [PATCH 043/124] pure-ftpd: 1.0.53 -> 1.0.54 --- pkgs/by-name/pu/pure-ftpd/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pu/pure-ftpd/package.nix b/pkgs/by-name/pu/pure-ftpd/package.nix index fab0c8d2cab7..43cf599949e9 100644 --- a/pkgs/by-name/pu/pure-ftpd/package.nix +++ b/pkgs/by-name/pu/pure-ftpd/package.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "pure-ftpd"; - version = "1.0.53"; + version = "1.0.54"; src = fetchurl { url = "https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${finalAttrs.version}.tar.gz"; - hash = "sha256-s/KwGUIjseiL+LDfnpH/tdG5gSNW6d1GXy+XtyshJl8="; + hash = "sha256-3JFAQg7ET3gpV5WR/zeKpjlrRgS5xq6uhHNo4PNb17I="; }; buildInputs = [ From 8f920e524fac5f13ca4ca0fdb7fbabb091e8738b Mon Sep 17 00:00:00 2001 From: 2kybe3 Date: Tue, 28 Apr 2026 18:07:48 +0200 Subject: [PATCH 044/124] prometheus-tibber-exporter: 3.10.0 -> 3.10.2 Diff: https://github.com/terjesannum/tibber-exporter/compare/tibber-exporter-3.10.1...tibber-exporter-3.10.2 --- .../pr/prometheus-tibber-exporter/package.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/pr/prometheus-tibber-exporter/package.nix b/pkgs/by-name/pr/prometheus-tibber-exporter/package.nix index e52f456a1fc2..174abda37cd2 100644 --- a/pkgs/by-name/pr/prometheus-tibber-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-tibber-exporter/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "prometheus-tibber-exporter"; - version = "3.10.0"; + version = "3.10.2"; src = fetchFromGitHub { owner = "terjesannum"; repo = "tibber-exporter"; tag = "tibber-exporter-${finalAttrs.version}"; - hash = "sha256-Ndg2BxWdL5DKa2eHjY0rIdrfJ+SJlzvOUZDtWUBSR6g="; + hash = "sha256-by7/c2a/8jM4ShoeQnYC+L+EVLk2NwQoRTAMiZZcMn0="; leaveDotGit = true; postFetch = '' cd "$out" @@ -37,9 +37,14 @@ buildGoModule (finalAttrs: { "-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs" ]; - vendorHash = "sha256-JTJTapsqBj0FO2Gcx8O1eWJf9hMbeWzjtO0HYcDdzQo="; + vendorHash = "sha256-rjM2M9auiyFvGcq/D8N5YPoFOPeC9r1Y1JPssT7nvew="; - passthru.updateScript = nix-update-script { }; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "tibber-exporter-(.*)" + ]; + }; nativeInstallCheckInputs = [ versionCheckHook From 183373af86b6862a1a51b16aa89a2f1305483362 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 16:26:15 +0000 Subject: [PATCH 045/124] python3Packages.pluginlib: 0.10.0 -> 0.11.0 --- pkgs/development/python-modules/pluginlib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pluginlib/default.nix b/pkgs/development/python-modules/pluginlib/default.nix index c3e89726e999..1d723ec50068 100644 --- a/pkgs/development/python-modules/pluginlib/default.nix +++ b/pkgs/development/python-modules/pluginlib/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "pluginlib"; - version = "0.10.0"; + version = "0.11.0"; pyproject = true; src = fetchFromGitHub { owner = "Rockhopper-Technologies"; repo = "pluginlib"; tag = version; - hash = "sha256-mt3VE8iJPCmbws8bAdYMK9to446z8FQtsMZOlkLVUIU="; + hash = "sha256-KaexWmRSipwX+tg4Fh03XqhWm2XtZnmy4IEscJDRY/E="; }; build-system = [ From d8f6dd3a01f549f8f79fb6ee18aa058f4688f489 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 16:33:19 +0000 Subject: [PATCH 046/124] libretro.prosystem: 0-unstable-2026-03-31 -> 0-unstable-2026-04-20 --- pkgs/applications/emulators/libretro/cores/prosystem.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/prosystem.nix b/pkgs/applications/emulators/libretro/cores/prosystem.nix index 7bf1b0f32e22..e3b8cf7453b2 100644 --- a/pkgs/applications/emulators/libretro/cores/prosystem.nix +++ b/pkgs/applications/emulators/libretro/cores/prosystem.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "prosystem"; - version = "0-unstable-2026-03-31"; + version = "0-unstable-2026-04-20"; src = fetchFromGitHub { owner = "libretro"; repo = "prosystem-libretro"; - rev = "980edb381b0bf9ea7992caab24039a537aeb510e"; - hash = "sha256-uuh5YLKHW5aVe01GH12TqAlSp83s/PF/8Mlw105HIJg="; + rev = "3f465db9c82fc6764cd90c53fc66eb630e0b3710"; + hash = "sha256-uamxOzJt5NbMGxDqyGk/8XJbN/fiFoB81DNeULIfL1U="; }; makefile = "Makefile"; From 4d387c2ed01118b8322923b70ad199787784b0f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 28 Apr 2026 09:43:20 -0700 Subject: [PATCH 047/124] python3Packages.cssutils: 2.14.0 -> 2.15.0 Diff: https://github.com/jaraco/cssutils/compare/v2.14.0...v2.15.0 Changelog: https://github.com/jaraco/cssutils/blob/v2.15.0/NEWS.rst --- pkgs/development/python-modules/cssutils/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/cssutils/default.nix b/pkgs/development/python-modules/cssutils/default.nix index 9d38d4398146..2c5b04fd2c12 100644 --- a/pkgs/development/python-modules/cssutils/default.nix +++ b/pkgs/development/python-modules/cssutils/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "cssutils"; - version = "2.14.0"; + version = "2.15.0"; pyproject = true; src = fetchFromGitHub { owner = "jaraco"; repo = "cssutils"; tag = "v${version}"; - hash = "sha256-kuqHfwJn+GT1VIC2PWu5Oj1X6SGn/bi2QPN8kfposVs="; + hash = "sha256-K9jbuX7AueSB3AB7PAVjpQhzb3Umn9OoHaL4RrMzKEs="; }; postPatch = '' @@ -54,7 +54,7 @@ buildPythonPackage rec { meta = { description = "CSS Cascading Style Sheets library for Python"; homepage = "https://github.com/jaraco/cssutils"; - changelog = "https://github.com/jaraco/cssutils/blob/${src.rev}/NEWS.rst"; + changelog = "https://github.com/jaraco/cssutils/blob/${src.tag}/NEWS.rst"; license = lib.licenses.lgpl3Plus; maintainers = with lib.maintainers; [ dotlambda ]; }; From 6d6ae522a31e151f6d6f7873130a3423f94daa65 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 16:55:33 +0000 Subject: [PATCH 048/124] ni: 30.0.0 -> 30.1.0 --- pkgs/by-name/ni/ni/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ni/ni/package.nix b/pkgs/by-name/ni/ni/package.nix index b523718f290b..1b76f0ff1f84 100644 --- a/pkgs/by-name/ni/ni/package.nix +++ b/pkgs/by-name/ni/ni/package.nix @@ -12,13 +12,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "ni"; - version = "30.0.0"; + version = "30.1.0"; src = fetchFromGitHub { owner = "antfu-collective"; repo = "ni"; tag = "v${finalAttrs.version}"; - hash = "sha256-CCegG/ClJV4SsuCztUbUy6fw0nFod8FLpIXvftPA9cg="; + hash = "sha256-mBKSnnmvlZOwU+6MQrg8S8iCea2PGAsHa+A4lseLYyw="; }; pnpmDeps = fetchPnpmDeps { From 97cb9f343e3e67058f0b4181a14c809cd4e95458 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 17:40:21 +0000 Subject: [PATCH 049/124] python3Packages.pydantic-monty: 0.0.13 -> 0.0.17 --- pkgs/development/python-modules/pydantic-monty/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pydantic-monty/default.nix b/pkgs/development/python-modules/pydantic-monty/default.nix index 35bbba47ee76..e4fc0a102225 100644 --- a/pkgs/development/python-modules/pydantic-monty/default.nix +++ b/pkgs/development/python-modules/pydantic-monty/default.nix @@ -15,7 +15,7 @@ buildPythonPackage (finalAttrs: { pname = "pydantic-monty"; - version = "0.0.13"; + version = "0.0.17"; pyproject = true; __structuredAttrs = true; @@ -24,12 +24,12 @@ buildPythonPackage (finalAttrs: { owner = "pydantic"; repo = "monty"; tag = "v${finalAttrs.version}"; - hash = "sha256-0g0/NuwTuUfHVHE8YcVjUeZpSa+ANPWIXllu+qRXjZE="; + hash = "sha256-f+WcznnOMSc0ahgfvgVec4U0nH9j022NLnWQLdISv3M="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname src version; - hash = "sha256-LkTEMhz0MG6RfqejOQMdB2BZU6oxT3ZAo/N0oVlswsQ="; + hash = "sha256-y+vi7kZPavBNnIeLpAoKO2YcBTq2d9yeDl+eoRJV1Tk="; }; dependencies = [ typing-extensions ]; From 22b6cb4793974fe76f62c5ac42ba32afc05ac443 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 19:54:16 +0000 Subject: [PATCH 050/124] python3Packages.allure-python-commons-test: 2.15.3 -> 2.16.0 --- .../python-modules/allure-python-commons-test/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/allure-python-commons-test/default.nix b/pkgs/development/python-modules/allure-python-commons-test/default.nix index 4b5424b6fb1f..a816e4657ce6 100644 --- a/pkgs/development/python-modules/allure-python-commons-test/default.nix +++ b/pkgs/development/python-modules/allure-python-commons-test/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "allure-python-commons-test"; - version = "2.15.3"; + version = "2.16.0"; pyproject = true; src = fetchPypi { pname = "allure_python_commons_test"; inherit version; - hash = "sha256-eRjjsxiXm/7nMyaJS5pXhpNmrjOhnd1o7+F9ZwGzI/I="; + hash = "sha256-otfGxWNnbMUGuQcqsroOOfiqhCQqe25c39Ur57ek2og="; }; build-system = [ setuptools-scm ]; From 3c30eb1453d9bf0236d72593b6a10aff0cb3565b Mon Sep 17 00:00:00 2001 From: Benedikt Hiemer Date: Tue, 28 Apr 2026 22:17:47 +0200 Subject: [PATCH 051/124] vscode-extensions.42crunch.vscode-openapi: fix meta.changelog url --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index cadaecf1d3d5..71b2f837776f 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -85,7 +85,7 @@ let }; }; - "42crunch".vscode-openapi = buildVscodeMarketplaceExtension { + "42crunch".vscode-openapi = buildVscodeMarketplaceExtension rec { mktplcRef = { publisher = "42Crunch"; name = "vscode-openapi"; @@ -93,7 +93,7 @@ let hash = "sha256-nV7RZpDd+15YmINKrFSIlFurC955bnE4A8esrKWYVnE="; }; meta = { - changelog = "https://marketplace.visualstudio.com/items/42Crunch.vscode-openapi/changelog"; + changelog = "https://github.com/42Crunch/vscode-openapi/blob/v${mktplcRef.version}/CHANGELOG.md"; description = "Visual Studio Code extension with rich support for the OpenAPI Specification (OAS)"; downloadPage = "https://marketplace.visualstudio.com/items?itemName=42Crunch.vscode-openapi"; homepage = "https://github.com/42Crunch/vscode-openapi"; From 3c6f20039d8f04f78fcb8133bbda8cd2c263f34a Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Tue, 28 Apr 2026 13:34:17 -0700 Subject: [PATCH 052/124] python3Packages.google-cloud-asset: fix changelog link --- pkgs/development/python-modules/google-cloud-asset/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix index 363463ff49d9..f1be9e6ea0b4 100644 --- a/pkgs/development/python-modules/google-cloud-asset/default.nix +++ b/pkgs/development/python-modules/google-cloud-asset/default.nix @@ -83,7 +83,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Python Client for Google Cloud Asset API"; homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-asset"; - changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-asset-${finalAttrs.src.tag}/packages/google-cloud-asset/CHANGELOG.md"; + changelog = "https://github.com/googleapis/google-cloud-python/blob/${finalAttrs.src.tag}/packages/google-cloud-asset/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.sarahec ]; }; From 2ada20d3fcd9b628235dbe06b361d0bd418a7eca Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Tue, 28 Apr 2026 13:41:10 -0700 Subject: [PATCH 053/124] python3Packages.google-cloud-datacatalog: fix changelog link --- .../python-modules/google-cloud-datacatalog/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix index 953254199a85..f5b745956ce1 100644 --- a/pkgs/development/python-modules/google-cloud-datacatalog/default.nix +++ b/pkgs/development/python-modules/google-cloud-datacatalog/default.nix @@ -65,7 +65,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Google Cloud Data Catalog API API client library"; homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-datacatalog"; - changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-datacatalog-${finalAttrs.src.tag}/packages/google-cloud-datacatalog/CHANGELOG.md"; + changelog = "https://github.com/googleapis/google-cloud-python/blob/${finalAttrs.src.tag}/packages/google-cloud-datacatalog/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.sarahec ]; }; From 715cb20ebb38cc6ee4a80631339e31f8d5331446 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 20:52:19 +0000 Subject: [PATCH 054/124] libretro-shaders-slang: 0-unstable-2026-04-17 -> 0-unstable-2026-04-26 --- pkgs/by-name/li/libretro-shaders-slang/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/libretro-shaders-slang/package.nix b/pkgs/by-name/li/libretro-shaders-slang/package.nix index 8da1d491f1ef..7c5c47d9e3cd 100644 --- a/pkgs/by-name/li/libretro-shaders-slang/package.nix +++ b/pkgs/by-name/li/libretro-shaders-slang/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "libretro-shaders-slang"; - version = "0-unstable-2026-04-17"; + version = "0-unstable-2026-04-26"; src = fetchFromGitHub { owner = "libretro"; repo = "slang-shaders"; - rev = "12b0869495c1ea8238b53179ec33888205f6800f"; - hash = "sha256-9b/c+DCmy61Wsy70MU5efNhPKQa5C03P1eZZPwJDNvA="; + rev = "cc71b5eff24a962bd055a92d2032f806635fdf97"; + hash = "sha256-PeG6H5XArKdptbSicMgXPFtnrkglmkwZieGKSr0aPaQ="; }; dontConfigure = true; From 181d52146de1c53af300d5f3f60bed02f216960b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 21:06:06 +0000 Subject: [PATCH 055/124] python3Packages.thinqconnect: 1.0.11 -> 1.0.12 --- pkgs/development/python-modules/thinqconnect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/thinqconnect/default.nix b/pkgs/development/python-modules/thinqconnect/default.nix index 321217d9d271..f4c881de90aa 100644 --- a/pkgs/development/python-modules/thinqconnect/default.nix +++ b/pkgs/development/python-modules/thinqconnect/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "thinqconnect"; - version = "1.0.11"; + version = "1.0.12"; pyproject = true; src = fetchFromGitHub { owner = "thinq-connect"; repo = "pythinqconnect"; tag = version; - hash = "sha256-ZM+CCnGJga66b68MLKkd80dHPhF4mYMIFuV1M+5K3C8="; + hash = "sha256-LOIqh/f9NiaBpkJqre1TejdUN0gbguSM3s8faGPcf54="; }; build-system = [ setuptools ]; From ecb89df78702b95d0a5c0d9efd657d04f29af679 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Tue, 28 Apr 2026 22:10:10 +0100 Subject: [PATCH 056/124] rust-analyzer-unwrapped: 2026-04-13 -> 2026-04-27 Changes: https://github.com/rust-lang/rust-analyzer/releases/tag/2026-04-27 --- pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix index bd56e6f2b8fd..dbf0e89c1f3e 100644 --- a/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix +++ b/pkgs/by-name/ru/rust-analyzer-unwrapped/package.nix @@ -13,15 +13,15 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rust-analyzer-unwrapped"; - version = "2026-04-13"; + version = "2026-04-27"; - cargoHash = "sha256-qpe40NUQ9ux8fQmjcC63VP8g2NKoLkdqQIVfFFRTq5I="; + cargoHash = "sha256-QXEJhBzKof1UONW2FwQUeO6UAo1Xfm2nPpOo1uNiRM8="; src = fetchFromGitHub { owner = "rust-lang"; repo = "rust-analyzer"; rev = finalAttrs.version; - hash = "sha256-LryjOOjPsZ6Hs3RlVHla6MV8uxO2GoZolF0I/eB5zFM="; + hash = "sha256-f8YJfwAOsLFpIoqZuX3yF69UvMLrkx7iVzMH1pJU7cM="; }; cargoBuildFlags = [ From cc4b49b8cc72a8e7b3839f5c2978530542245fa5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 21:10:26 +0000 Subject: [PATCH 057/124] python3Packages.pyahocorasick: 2.3.0 -> 2.3.1 --- pkgs/development/python-modules/pyahocorasick/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyahocorasick/default.nix b/pkgs/development/python-modules/pyahocorasick/default.nix index c1b2c92fdeda..b4978fed4699 100644 --- a/pkgs/development/python-modules/pyahocorasick/default.nix +++ b/pkgs/development/python-modules/pyahocorasick/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pyahocorasick"; - version = "2.3.0"; + version = "2.3.1"; pyproject = true; src = fetchFromGitHub { owner = "WojciechMula"; repo = "pyahocorasick"; tag = "v${version}"; - hash = "sha256-ysQZOyJZ9xrNp3plVpaDtGqzjNuRDAELtAcjbC8Byis="; + hash = "sha256-lExpRJlRoYS45Bw9FQwa7GKELBljKA83ZhXg7e5vPwM="; }; build-system = [ setuptools ]; From aacf0a26710bd5c236180a45f1fd81ab6353273d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 21:22:07 +0000 Subject: [PATCH 058/124] vscode-extensions.danielsanmedium.dscodegpt: 3.17.20 -> 3.17.36 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 472a4e8ee811..783ff976cdba 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1174,8 +1174,8 @@ let mktplcRef = { publisher = "DanielSanMedium"; name = "dscodegpt"; - version = "3.17.20"; - hash = "sha256-7nJlPP1Xap0lSJz+HQmKKC9OZ5UfMCq8nf1B/bkyNXU="; + version = "3.17.36"; + hash = "sha256-7+Ja5/zeGq+W1aCIzZu0x+CU1ERwZhwvOaZKaGSWK4c="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/DanielSanMedium.dscodegpt/changelog"; From 2c7b1f1fce759b778d4d786246dfda09c514831d Mon Sep 17 00:00:00 2001 From: Perchun Pak Date: Tue, 28 Apr 2026 23:32:04 +0200 Subject: [PATCH 059/124] gh-cherry-pick: 1.4.0 -> 1.5.0 --- pkgs/by-name/gh/gh-cherry-pick/package.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gh/gh-cherry-pick/package.nix b/pkgs/by-name/gh/gh-cherry-pick/package.nix index 749b867a78b9..328f82354b60 100644 --- a/pkgs/by-name/gh/gh-cherry-pick/package.nix +++ b/pkgs/by-name/gh/gh-cherry-pick/package.nix @@ -5,14 +5,14 @@ }: python3Packages.buildPythonApplication (finalAttrs: { pname = "gh-cherry-pick"; - version = "1.4.0"; + version = "1.5.0"; pyproject = true; src = fetchFromGitHub { owner = "PerchunPak"; repo = "gh-cherry-pick"; tag = "v${finalAttrs.version}"; - hash = "sha256-ec9q+3nd1zJ2K3dyWqLsdTH5GBJ4B1b8D/4Wd6d8PcA="; + hash = "sha256-a2vhQ9upJYc+t4Juq+eukNc7dzq6MafNxDUULPZs9sQ="; }; build-system = with python3Packages; [ @@ -25,10 +25,18 @@ python3Packages.buildPythonApplication (finalAttrs: { httpx ]; + # upstream has strict dependency pins, but it doesn't break with slightly + # newer/older versions + # (c) upstream maintainer + pythonRelaxDeps = true; + nativeCheckInputs = with python3Packages; [ - pytestCheckHook + faker + pytest-asyncio pytest-cov-stub + pytest-httpx pytest-mock + pytestCheckHook ]; pythonImportsCheck = [ "gh_cherry_pick" ]; From 8ba9239ad6882d637bec4f3a5e0e1b38e7c7a853 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 21:33:17 +0000 Subject: [PATCH 060/124] coldsnap: 0.9.0 -> 0.10.0 --- pkgs/by-name/co/coldsnap/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/coldsnap/package.nix b/pkgs/by-name/co/coldsnap/package.nix index f1eadab25e62..7eb0fb8d38ab 100644 --- a/pkgs/by-name/co/coldsnap/package.nix +++ b/pkgs/by-name/co/coldsnap/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "coldsnap"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "awslabs"; repo = "coldsnap"; rev = "v${finalAttrs.version}"; - hash = "sha256-8+YPKjHi3VURzSOflIa0x4uBkoDMYGFJiFcNJ+8NJ7Q="; + hash = "sha256-QQWH8cWBskXOmiZygvkNDyBX4WdsgnA0/ec6/UnmwIA="; }; - cargoHash = "sha256-4w79zZcgIulLIArY2ErOHwaWA8g/mA2cSKCzJx4X9vM="; + cargoHash = "sha256-U5MinzKQYTHRXM3WndkMEbvoT9tPwIIB3QxEOwWA3zE="; buildInputs = [ openssl ]; nativeBuildInputs = [ pkg-config ]; From 65eaaedbdcd7f8bc1db7afbc0f3b55791690cb53 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 21:55:14 +0000 Subject: [PATCH 061/124] di-tui: 1.13.3 -> 1.13.4 --- pkgs/by-name/di/di-tui/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/di/di-tui/package.nix b/pkgs/by-name/di/di-tui/package.nix index 51070f8a6b7e..18541eae9074 100644 --- a/pkgs/by-name/di/di-tui/package.nix +++ b/pkgs/by-name/di/di-tui/package.nix @@ -6,13 +6,13 @@ }: buildGoModule (finalAttrs: { pname = "di-tui"; - version = "1.13.3"; + version = "1.13.4"; src = fetchFromGitHub { owner = "acaloiaro"; repo = "di-tui"; rev = "v${finalAttrs.version}"; - hash = "sha256-rT9iH9kkkWtg4H7YJUD2ElvWLUIzFHGSlH31A68pDDo="; + hash = "sha256-0PIKPprAqGbVFiGFxwzgmS4fYKTHfpdpWWUMuxK67tQ="; }; vendorHash = "sha256-b7dG0nSjPQpjWUbOlIxWudPZWKqtq96sQaJxKvsQT9I="; From 0600ec18d4620e758ad3c6ec49b46b3a67947d97 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 22:57:50 +0000 Subject: [PATCH 062/124] sdl3-shadercross: 0-unstable-2026-04-11 -> 0-unstable-2026-04-24 --- pkgs/by-name/sd/sdl3-shadercross/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sd/sdl3-shadercross/package.nix b/pkgs/by-name/sd/sdl3-shadercross/package.nix index 69f1af15d0bf..878bb8af0cb3 100644 --- a/pkgs/by-name/sd/sdl3-shadercross/package.nix +++ b/pkgs/by-name/sd/sdl3-shadercross/package.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "sdl3-shadercross"; - version = "0-unstable-2026-04-11"; + version = "0-unstable-2026-04-24"; outputs = [ "out" @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "libsdl-org"; repo = "SDL_shadercross"; - rev = "f5c01f451e835f6b38e151e064a32999a0985563"; + rev = "6b06e55c7c5d7e7a09a8a14f76e866dcfad5ab99"; hash = "sha256-DvgMnE0QedInYRdcZQuVOlasri79kVl0ACGvNC1cq8o="; }; From 23fe94b54c94732372a7adc8c4eee851cb6d78c7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 28 Apr 2026 23:02:26 +0000 Subject: [PATCH 063/124] libretro.thepowdertoy: 0-unstable-2025-09-16 -> 0-unstable-2026-04-20 --- pkgs/applications/emulators/libretro/cores/thepowdertoy.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/thepowdertoy.nix b/pkgs/applications/emulators/libretro/cores/thepowdertoy.nix index a70c7c15ba8b..bbae8f0394d2 100644 --- a/pkgs/applications/emulators/libretro/cores/thepowdertoy.nix +++ b/pkgs/applications/emulators/libretro/cores/thepowdertoy.nix @@ -6,13 +6,13 @@ }: mkLibretroCore { core = "thepowdertoy"; - version = "0-unstable-2025-09-16"; + version = "0-unstable-2026-04-20"; src = fetchFromGitHub { owner = "libretro"; repo = "ThePowderToy"; - rev = "cb3cd4c2e5beddb98b34e6b800fa24e8f96322d9"; - hash = "sha256-k3XWkkSuQC3IBhhI96qkTrlGH/oJu941HaAvR28V5i0="; + rev = "dcb5e41f1f9800192ea07ea43459413c5a065d9f"; + hash = "sha256-FDotG/ngmrxgyN7YQ8SK/ZQHKWkwZ5hhg0qsNNXmaNc="; }; extraNativeBuildInputs = [ cmake ]; From d12094e1f35ed98c4efdbcb416d5288d84cba1e3 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Tue, 28 Apr 2026 18:31:17 -0400 Subject: [PATCH 064/124] python3Packages.pygls: use finalAttrs --- pkgs/development/python-modules/pygls/1.nix | 8 ++++---- pkgs/development/python-modules/pygls/default.nix | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/pygls/1.nix b/pkgs/development/python-modules/pygls/1.nix index b08bb2b641c8..d414642ebd21 100644 --- a/pkgs/development/python-modules/pygls/1.nix +++ b/pkgs/development/python-modules/pygls/1.nix @@ -11,7 +11,7 @@ websockets, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pygls"; version = "1.3.1"; pyproject = true; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "openlawlibrary"; repo = "pygls"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-AvrGoQ0Be1xKZhFn9XXYJpt5w+ITbDbj6NFZpaDPKao="; }; @@ -62,8 +62,8 @@ buildPythonPackage rec { broken = lib.versionAtLeast lsprotocol.version "2024"; description = "Pythonic generic implementation of the Language Server Protocol"; homepage = "https://github.com/openlawlibrary/pygls"; - changelog = "https://github.com/openlawlibrary/pygls/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/openlawlibrary/pygls/blob/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ kira-bruneau ]; }; -} +}) diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix index cd0501310420..e10abbf920ed 100644 --- a/pkgs/development/python-modules/pygls/default.nix +++ b/pkgs/development/python-modules/pygls/default.nix @@ -13,7 +13,7 @@ nix-update-script, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pygls"; version = "2.1.1"; pyproject = true; @@ -21,7 +21,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "openlawlibrary"; repo = "pygls"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-jxc1nKxfiRenb629a2WCZOzqyIOvT5XU4NrjmKPlDHk="; }; @@ -69,4 +69,4 @@ buildPythonPackage rec { license = lib.licenses.asl20; maintainers = with lib.maintainers; [ kira-bruneau ]; }; -} +}) From 0fd07b7ab279cdfd1af494d71df705a954222b15 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Tue, 28 Apr 2026 18:32:28 -0400 Subject: [PATCH 065/124] python3Packages.pygls: fix changelog url --- pkgs/development/python-modules/pygls/1.nix | 2 +- pkgs/development/python-modules/pygls/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pygls/1.nix b/pkgs/development/python-modules/pygls/1.nix index d414642ebd21..734a09f7479f 100644 --- a/pkgs/development/python-modules/pygls/1.nix +++ b/pkgs/development/python-modules/pygls/1.nix @@ -62,7 +62,7 @@ buildPythonPackage (finalAttrs: { broken = lib.versionAtLeast lsprotocol.version "2024"; description = "Pythonic generic implementation of the Language Server Protocol"; homepage = "https://github.com/openlawlibrary/pygls"; - changelog = "https://github.com/openlawlibrary/pygls/blob/${finalAttrs.version}/CHANGELOG.md"; + changelog = "https://github.com/openlawlibrary/pygls/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ kira-bruneau ]; }; diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix index e10abbf920ed..a6ec8564091a 100644 --- a/pkgs/development/python-modules/pygls/default.nix +++ b/pkgs/development/python-modules/pygls/default.nix @@ -65,7 +65,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Pythonic generic implementation of the Language Server Protocol"; homepage = "https://github.com/openlawlibrary/pygls"; - changelog = "https://github.com/openlawlibrary/pygls/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/openlawlibrary/pygls/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ kira-bruneau ]; }; From 61f92a240eda294123629f54954036abb07a2f60 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 01:48:04 +0000 Subject: [PATCH 066/124] tutanota-desktop: 340.260326.1 -> 345.260424.1 --- pkgs/by-name/tu/tutanota-desktop/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/tu/tutanota-desktop/package.nix b/pkgs/by-name/tu/tutanota-desktop/package.nix index 94fca3d54348..051fe263bb78 100644 --- a/pkgs/by-name/tu/tutanota-desktop/package.nix +++ b/pkgs/by-name/tu/tutanota-desktop/package.nix @@ -8,11 +8,11 @@ appimageTools.wrapType2 rec { pname = "tutanota-desktop"; - version = "340.260326.1"; + version = "345.260424.1"; src = fetchurl { url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/tutanota-desktop-linux.AppImage"; - hash = "sha256-9QtiB4VyktUgItJkOIdeGYthFxGt8RsNlAFf9ERoAEg="; + hash = "sha256-B0YXpJ75b6N2UNJSOwDd0bgsM4qzJGfYX/ELQk+IQO4="; }; extraPkgs = pkgs: [ pkgs.libsecret ]; From bc0ffa81c268adbb6dc8415bf44dc6fde55eb28c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 02:10:30 +0000 Subject: [PATCH 067/124] spotatui: 0.38.0 -> 0.38.1 --- pkgs/by-name/sp/spotatui/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sp/spotatui/package.nix b/pkgs/by-name/sp/spotatui/package.nix index 66aa257025cb..017f7e286be4 100644 --- a/pkgs/by-name/sp/spotatui/package.nix +++ b/pkgs/by-name/sp/spotatui/package.nix @@ -12,16 +12,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "spotatui"; - version = "0.38.0"; + version = "0.38.1"; src = fetchFromGitHub { owner = "LargeModGames"; repo = "spotatui"; tag = "v${finalAttrs.version}"; - hash = "sha256-6XsKlM4KLwRZk+uJY60a0rKHIEv1ieZPZoBZpRG1sQ0="; + hash = "sha256-cHuqSnNLnR8LLYjjlrgJTEb/MJe4lBJP7GY3D7/AUqE="; }; - cargoHash = "sha256-5aj35NGRFb1DiEPU1RGKkvz/wMOIjO1HzkX45GEFbPs="; + cargoHash = "sha256-dlEsghdnNVbi086WgNImUcM+OO7vuBaNit3Wcaw5/mA="; nativeBuildInputs = [ pkg-config ] ++ lib.optional withPipewireVisualizer rustPlatform.bindgenHook; From 14584d3309ca5d5bcc05be8ec75279b14daa4edc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 02:11:59 +0000 Subject: [PATCH 068/124] sqlc: 1.31.0 -> 1.31.1 --- pkgs/by-name/sq/sqlc/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sq/sqlc/package.nix b/pkgs/by-name/sq/sqlc/package.nix index 33f43cbebdaa..eca36eae22f0 100644 --- a/pkgs/by-name/sq/sqlc/package.nix +++ b/pkgs/by-name/sq/sqlc/package.nix @@ -9,17 +9,17 @@ buildGoModule (finalAttrs: { pname = "sqlc"; - version = "1.31.0"; + version = "1.31.1"; src = fetchFromGitHub { owner = "sqlc-dev"; repo = "sqlc"; tag = "v${finalAttrs.version}"; - hash = "sha256-1HQXj3rmfPyOw3Cex3jRByEwzXhcYpWpj8w4Z2Cylp8="; + hash = "sha256-/skb7p3s9TaQE699UCprk1D6S+G/T8Ek9/ADOtS/n44="; }; proxyVendor = true; - vendorHash = "sha256-SVc7XZERh47hhfTr9bExjZcZrNz0FO/OVEQYbPVqSWM="; + vendorHash = "sha256-+kSAupLQwTzJdgnhlqulEtRcDj9gqSq8uTnWNyDLZew="; subPackages = [ "cmd/sqlc" ]; From 59920d2112af9b3b27be7c93dd283f4d01cf2d55 Mon Sep 17 00:00:00 2001 From: Julio Merino Date: Tue, 28 Apr 2026 19:19:11 -0700 Subject: [PATCH 069/124] ssh-agent-switcher: 1.0.1 -> 1.0.2 --- pkgs/by-name/ss/ssh-agent-switcher/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ss/ssh-agent-switcher/package.nix b/pkgs/by-name/ss/ssh-agent-switcher/package.nix index 24507ef5306b..62b720db454c 100644 --- a/pkgs/by-name/ss/ssh-agent-switcher/package.nix +++ b/pkgs/by-name/ss/ssh-agent-switcher/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ssh-agent-switcher"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "jmmv"; repo = "ssh-agent-switcher"; tag = "ssh-agent-switcher-${finalAttrs.version}"; - hash = "sha256-p9W0H25pWDB+GCrwLwuVruX9p8b8kICpp+6I11ym1aw="; + hash = "sha256-XAIupGVU8D4tmZXZ3/5lKiHbvBlxgNQXL0T9Htp7Zmo="; }; - cargoHash = "sha256-WioA/RjXOAHM9QWl/lxnb7gqzcp76rus7Rv+IfCYceg="; + cargoHash = "sha256-dbeUye20E2nQcJPyUCpZT68T95dopgoIlBm8rOoaZ6Y="; nativeBuildInputs = [ installShellFiles From 1df9055327d255bffe8ecff1c72471c368daa6eb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 04:13:55 +0000 Subject: [PATCH 070/124] boinc: 8.2.10 -> 8.2.11 --- pkgs/by-name/bo/boinc/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bo/boinc/package.nix b/pkgs/by-name/bo/boinc/package.nix index 7d16cae6f317..7222362adeb4 100644 --- a/pkgs/by-name/bo/boinc/package.nix +++ b/pkgs/by-name/bo/boinc/package.nix @@ -28,14 +28,14 @@ stdenv.mkDerivation rec { pname = "boinc"; - version = "8.2.10"; + version = "8.2.11"; src = fetchFromGitHub { name = "${pname}-${version}-src"; owner = "BOINC"; repo = "boinc"; rev = "client_release/${lib.versions.majorMinor version}/${version}"; - hash = "sha256-+/EuGJluTXhEWZT97P60vE6e8uX3+GdCyJwf9nzsh4E="; + hash = "sha256-xWEAjTWEUCTTtxfCFFMcrJD0DRVmUAgi2vE0GifTX2Q="; }; nativeBuildInputs = [ From bea63d7aaeec54aebc36a132d002164e82b4d86f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 04:23:13 +0000 Subject: [PATCH 071/124] nu_scripts: 0-unstable-2026-04-18 -> 0-unstable-2026-04-27 --- pkgs/by-name/nu/nu_scripts/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nu/nu_scripts/package.nix b/pkgs/by-name/nu/nu_scripts/package.nix index 4dc9ff7a40bc..f397f6026a72 100644 --- a/pkgs/by-name/nu/nu_scripts/package.nix +++ b/pkgs/by-name/nu/nu_scripts/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "nu_scripts"; - version = "0-unstable-2026-04-18"; + version = "0-unstable-2026-04-27"; src = fetchFromGitHub { owner = "nushell"; repo = "nu_scripts"; - rev = "c5387bd60ca63d26885ee73ceb8a84160bc6ca6b"; - hash = "sha256-QPKgVj5tWwgwspCQYwjPBJZLTHm2e3AuneOK+hI6qUg="; + rev = "32cd1d53649bc024edd65326a5b988cd7bcf4810"; + hash = "sha256-t8OCSDI7MqA9Q9Tv4mjd/yRac2SZvhX2x8rfcbIUT9o="; }; installPhase = '' From 6e7a99d8a4c5b3c2baca6b770b29189b9add18d9 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Sun, 19 Apr 2026 23:25:55 -0700 Subject: [PATCH 072/124] python3Packages.fastmcp: 2.14.5 -> 3.2.3 --- .../python-modules/fastmcp/default.nix | 112 ++++++++++++------ 1 file changed, 75 insertions(+), 37 deletions(-) diff --git a/pkgs/development/python-modules/fastmcp/default.nix b/pkgs/development/python-modules/fastmcp/default.nix index 18897706e7a0..5a82e61c88cf 100644 --- a/pkgs/development/python-modules/fastmcp/default.nix +++ b/pkgs/development/python-modules/fastmcp/default.nix @@ -12,23 +12,32 @@ # dependencies anthropic, authlib, + azure-identity, cyclopts, exceptiongroup, httpx, jsonref, jsonschema-path, mcp, + fakeredis, + google-genai, openai, openapi-pydantic, + opentelemetry-api, packaging, platformdirs, py-key-value-aio, pydantic, + pydantic-monty, pydocket, + pyjwt, pyperclip, python-dotenv, + pyyaml, rich, + uncalled-for, uvicorn, + watchfiles, websockets, # tests @@ -37,6 +46,7 @@ fastapi, inline-snapshot, lupa, + opentelemetry-sdk, psutil, pytest-asyncio, pytest-httpx, @@ -45,14 +55,14 @@ buildPythonPackage (finalAttrs: { pname = "fastmcp"; - version = "2.14.5"; + version = "3.2.3"; pyproject = true; src = fetchFromGitHub { owner = "jlowin"; repo = "fastmcp"; tag = "v${finalAttrs.version}"; - hash = "sha256-j3aUvAKm0rW5X/l1VXoSBc5fCjSLxnyznwzj1D3E7Ck="; + hash = "sha256-YfFAJvfKLOgfGFWyQmR4FGHrRc066Y0mAYhXJqJ9vyw="; }; build-system = [ @@ -61,6 +71,7 @@ buildPythonPackage (finalAttrs: { ]; pythonRelaxDeps = [ + "py-key-value-aio" "pydocket" ]; dependencies = [ @@ -72,25 +83,39 @@ buildPythonPackage (finalAttrs: { jsonschema-path mcp openapi-pydantic + opentelemetry-api packaging platformdirs py-key-value-aio pydantic - pydocket pyperclip python-dotenv + pyyaml rich + uncalled-for uvicorn + watchfiles websockets ] - ++ py-key-value-aio.optional-dependencies.disk + ++ py-key-value-aio.optional-dependencies.filetree ++ py-key-value-aio.optional-dependencies.keyring ++ py-key-value-aio.optional-dependencies.memory ++ pydantic.optional-dependencies.email; optional-dependencies = { anthropic = [ anthropic ]; + azure = [ + azure-identity + pyjwt + ]; + code-mode = [ pydantic-monty ]; + gemini = [ google-genai ]; openai = [ openai ]; + tasks = [ + pydocket + fakeredis + ] + ++ fakeredis.optional-dependencies.lua; }; pythonImportsCheck = [ "fastmcp" ]; @@ -101,31 +126,21 @@ buildPythonPackage (finalAttrs: { fastapi inline-snapshot lupa + opentelemetry-sdk psutil pytest-asyncio pytest-httpx pytestCheckHook writableTmpDirAsHomeHook ] - ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies + ++ finalAttrs.passthru.optional-dependencies.anthropic + ++ finalAttrs.passthru.optional-dependencies.azure + ++ finalAttrs.passthru.optional-dependencies.code-mode + ++ finalAttrs.passthru.optional-dependencies.gemini + ++ finalAttrs.passthru.optional-dependencies.openai ++ inline-snapshot.optional-dependencies.dirty-equals; disabledTests = [ - # redis.exceptions.ResponseError: unknown command `evalsha`, with args beginning with: - "test_get_prompt_as_task_returns_prompt_task" - "test_prompt_task_server_generated_id" - - "test_logging_middleware_with_payloads" - "test_structured_logging_middleware_produces_json" - - # AssertionError: assert 'INFO' == 'DEBUG' - "test_temporary_settings" - - # mcp.shared.exceptions.McpError: Connection closed - "test_log_file_captures_stderr_output_with_path" - "test_log_file_captures_stderr_output_with_textio" - "test_log_file_none_uses_default_behavior" - # RuntimeError: Client failed to connect: Connection closed "test_keep_alive_maintains_session_across_multiple_calls" "test_keep_alive_false_starts_new_session_across_multiple_calls" @@ -148,32 +163,55 @@ buildPythonPackage (finalAttrs: { "test_timeout" "test_timeout_tool_call_overrides_client_timeout_even_if_lower" - # assert 0 == 2 + # Requires prefab-ui (optional dependency) + "test_auto_registers_renderer_resource" + "test_equivalent_to_app_true" + + # Requires pydocket (tasks optional dependency, not in test inputs) + "test_mounted_server_does_not_have_docket" + "test_get_tasks_returns_task_eligible_tools" + "test_task_teardown_does_not_hang" + "test_background_task_can_read_snapshotted_request_headers" + "test_background_task_current_http_dependencies_restore_headers" + "test_task_execution_auto_populated_for_task_enabled_tool" + "test_function_tool_task_config_still_works" + "test_async_partial_with_task_true_does_not_raise" + "test_sync_partial_with_task_true_raises" + "test_is_docket_available" + "test_require_docket_passes_when_installed" + + # Shared dependency caching differs in sandbox + "TestSharedDependencies" + + # AssertionError: assert 'INFO' == 'DEBUG' + "test_temporary_settings" + + # Subprocess-based multi-client tests fail in sandbox "test_multi_client" + "test_multi_server" + "test_single_server_config_include_tags_filtering" + "test_server_starts_without_auth" "test_canonical_multi_client_with_transforms" - - # AssertionError: assert {'annotations...object'}, ...} == {'annotations...sers']}}, ...} - "test_list_tools" - - # AssertionError: assert len(caplog.records) == 1 - "test_log" - - # assert [TextContent(...e, meta=None)] == [TextContent(...e, meta=None)] - "test_read_resource_tool_works" - - # fastmcp.exceptions.ToolError: Unknown tool - "test_multi_client_with_logging" - "test_multi_client_with_elicitation" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # RuntimeError: Server failed to start after 10 attempts "test_unauthorized_access" - - # Failed: DID NOT RAISE "test_stateless_proxy" ]; - disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ + disabledTestPaths = [ + # Requires prefab-ui (optional dependency) + "tests/apps" + "tests/test_apps_prefab.py" + "tests/test_fastmcp_app.py" + # Subprocess crash recovery tests are flaky in sandbox + "tests/client/test_stdio.py" + # Requires pydocket/fakeredis (tasks optional dependency, not in test inputs) + "tests/server/tasks" + "tests/server/test_server_docket.py" + "tests/client/tasks" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ # RuntimeError: Server failed to start after 10 attempts "tests/client/auth/test_oauth_client.py" "tests/client/test_sse.py" From 4782412c31257713cd2f9f479e9c5a0f630dd0e9 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Sun, 19 Apr 2026 23:25:55 -0700 Subject: [PATCH 073/124] ha-mcp: 6.7.1 -> 7.3.0 - Remove jq dependency (dropped upstream) - Add pythonRelaxDeps for strict upstream version pins - Fix updateScript with --use-github-releases to handle dev pre-releases flooding the GitHub releases feed --- pkgs/by-name/ha/ha-mcp/package.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ha/ha-mcp/package.nix b/pkgs/by-name/ha/ha-mcp/package.nix index a70f3b510f09..2c956dd86d5e 100644 --- a/pkgs/by-name/ha/ha-mcp/package.nix +++ b/pkgs/by-name/ha/ha-mcp/package.nix @@ -7,27 +7,28 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "ha-mcp"; - version = "6.7.1"; + version = "7.3.0"; pyproject = true; src = fetchFromGitHub { owner = "homeassistant-ai"; repo = "ha-mcp"; tag = "v${finalAttrs.version}"; - hash = "sha256-CQbjPEtCos0Fi6aAaIWSRMCUQKmjYviYkvJZzbCZg6Y="; + hash = "sha256-boWqv8lSN/UiqSRhVBgbucX+RC6q14Oa4WzkJPeZzVw="; }; build-system = with python3Packages; [ setuptools ]; + pythonRelaxDeps = true; + dependencies = with python3Packages; [ cryptography fastmcp httpx - jq pydantic python-dotenv truststore @@ -39,7 +40,10 @@ python3Packages.buildPythonApplication (finalAttrs: { doCheck = false; passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex=^v([0-9]+\\.[0-9]+\\.[0-9]+)$" ]; + extraArgs = [ + "--use-github-releases" + "--version-regex=^v([0-9]+\\.[0-9]+\\.[0-9]+)$" + ]; }; pythonImportsCheck = [ "ha_mcp" ]; From 406eb95d5de4444af1c038d19189aad0567f7f05 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Sun, 19 Apr 2026 23:25:55 -0700 Subject: [PATCH 074/124] home-assistant-custom-components.ha_mcp_tools: 7.2.0 -> 7.3.0 - Add ruamel-yaml dependency (new upstream requirement) - Fix updateScript with --use-github-releases --- .../custom-components/ha_mcp_tools/package.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix b/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix index b4d17511ed30..fe84229bd446 100644 --- a/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix +++ b/pkgs/servers/home-assistant/custom-components/ha_mcp_tools/package.nix @@ -3,22 +3,30 @@ buildHomeAssistantComponent, fetchFromGitHub, nix-update-script, + ruamel-yaml, }: buildHomeAssistantComponent rec { owner = "homeassistant-ai"; domain = "ha_mcp_tools"; - version = "7.2.0"; + version = "7.3.0"; src = fetchFromGitHub { owner = "homeassistant-ai"; repo = "ha-mcp"; tag = "v${version}"; - hash = "sha256-1SiWrrUSMU/Pe3vXZIPdUwpVhZM41avmjhO+PFLWmUE="; + hash = "sha256-boWqv8lSN/UiqSRhVBgbucX+RC6q14Oa4WzkJPeZzVw="; }; + dependencies = [ + ruamel-yaml + ]; + passthru.updateScript = nix-update-script { - extraArgs = [ "--version-regex=^v([0-9]+\\.[0-9]+\\.[0-9]+)$" ]; + extraArgs = [ + "--use-github-releases" + "--version-regex=^v([0-9]+\\.[0-9]+\\.[0-9]+)$" + ]; }; meta = { From d2c233044de70f0932784687bcabba6349d35f3f Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Tue, 28 Apr 2026 22:20:05 -0700 Subject: [PATCH 075/124] mcp-nixos: 2.3.1 -> 2.4.3 --- pkgs/by-name/mc/mcp-nixos/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mc/mcp-nixos/package.nix b/pkgs/by-name/mc/mcp-nixos/package.nix index ef1053c62ccb..bdf961f8c97b 100644 --- a/pkgs/by-name/mc/mcp-nixos/package.nix +++ b/pkgs/by-name/mc/mcp-nixos/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "mcp-nixos"; - version = "2.3.1"; + version = "2.4.3"; pyproject = true; src = fetchFromGitHub { owner = "utensils"; repo = "mcp-nixos"; tag = "v${finalAttrs.version}"; - hash = "sha256-A7KhRVOqLmtta507DPZoKbO8D1AlMMDWLMfHEBhEAxY="; + hash = "sha256-mWq9nnL4IGhUFkXJr8+t6BresOTDFS1caG8NuFqjrJg="; }; build-system = [ python3Packages.hatchling ]; From 340a962145c25d0785ba53305edfd99d23b8f9fe Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 27 Apr 2026 22:00:59 +0200 Subject: [PATCH 076/124] ocamlPackages.digestif: drop postCheck --- pkgs/development/ocaml-modules/digestif/default.nix | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/pkgs/development/ocaml-modules/digestif/default.nix b/pkgs/development/ocaml-modules/digestif/default.nix index f10a4bb70397..404fa325250d 100644 --- a/pkgs/development/ocaml-modules/digestif/default.nix +++ b/pkgs/development/ocaml-modules/digestif/default.nix @@ -5,19 +5,13 @@ buildDunePackage, eqaf, alcotest, - astring, - bos, crowbar, - findlib, - fpath, }: buildDunePackage (finalAttrs: { pname = "digestif"; version = "1.3.0"; - minimalOCamlVersion = "4.08"; - src = fetchurl { url = "https://github.com/mirage/digestif/releases/download/v${finalAttrs.version}/digestif-${finalAttrs.version}.tbz"; hash = "sha256-mmzcszJTnIf0cj/DvXNiayZ1p7EWH98P7TCRhs4Y9Cc="; @@ -27,17 +21,10 @@ buildDunePackage (finalAttrs: { checkInputs = [ alcotest - astring - bos crowbar - fpath ]; doCheck = true; - postCheck = '' - ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ test/test_runes.ml - ''; - meta = { description = "Simple hash algorithms in OCaml"; homepage = "https://github.com/mirage/digestif"; From 070d240eb98688981be614e133b23aadead5f2cd Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 27 Apr 2026 22:01:06 +0200 Subject: [PATCH 077/124] ocamlPackages.httpcats: drop (implicit) dependency on rresult --- pkgs/development/ocaml-modules/httpcats/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/ocaml-modules/httpcats/default.nix b/pkgs/development/ocaml-modules/httpcats/default.nix index 74b1578935d4..6c5b39077b17 100644 --- a/pkgs/development/ocaml-modules/httpcats/default.nix +++ b/pkgs/development/ocaml-modules/httpcats/default.nix @@ -1,4 +1,5 @@ { + fetchpatch, fetchFromGitHub, buildDunePackage, lib, @@ -28,6 +29,13 @@ buildDunePackage (finalAttrs: { hash = "sha256-I7u/n49WOnpc0EaagsjC4Ts/kz0Xj6YHZv6+QZKLrC4="; }; + patches = [ + (fetchpatch { + url = "https://github.com/robur-coop/httpcats/commit/d8787555d4831e0488780d42bd2c65de662d1d38.patch"; + hash = "sha256-Mqam6Sxd2kkkHDm459u9uerifuHbvZUVy2khQffvvCE="; + }) + ]; + propagatedBuildInputs = [ h2 h1 From 6c568f32a5db7f18612e2c47b1763340de391702 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 27 Apr 2026 22:01:09 +0200 Subject: [PATCH 078/124] =?UTF-8?q?ocamlPackages.bos:=200.2.1=20=E2=86=92?= =?UTF-8?q?=200.3.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/bos/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix index 9cc68872f68a..491408108f5d 100644 --- a/pkgs/development/ocaml-modules/bos/default.nix +++ b/pkgs/development/ocaml-modules/bos/default.nix @@ -15,11 +15,16 @@ stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-bos"; - version = "0.2.1"; + version = if lib.versionAtLeast ocaml.version "4.14" then "0.3.0" else "0.2.1"; src = fetchurl { url = "https://erratique.ch/software/bos/releases/bos-${finalAttrs.version}.tbz"; - sha256 = "sha256-2NYueGsQ1pfgRXIFqO7eqifrzJDxhV8Y3xkMrC49jzc="; + hash = + { + "0.3.0" = "sha256-CJ82ntAJZ+kticxfzYSMVr2rXAJzfaTUg1UL9Wtaebw="; + "0.2.1" = "sha256-2NYueGsQ1pfgRXIFqO7eqifrzJDxhV8Y3xkMrC49jzc="; + } + ."${finalAttrs.version}"; }; nativeBuildInputs = [ From 0a91abb0c115812dd5bc0d777d1e8e853206fa6e Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Wed, 29 Apr 2026 07:40:14 +0200 Subject: [PATCH 079/124] git-gone: Remove meta.changelog Signed-off-by: Matthias Beyer --- pkgs/by-name/gi/git-gone/package.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/by-name/gi/git-gone/package.nix b/pkgs/by-name/gi/git-gone/package.nix index 49218f56d3eb..bd6a6488e1ef 100644 --- a/pkgs/by-name/gi/git-gone/package.nix +++ b/pkgs/by-name/gi/git-gone/package.nix @@ -20,7 +20,6 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Cleanup stale Git branches of merge requests"; homepage = "https://codeberg.org/swsnr/git-gone"; - changelog = "https://codeberg.org/swsnr/git-gone/raw/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ cafkafk From 8ee8cbf27720651f31a56b9a856706b984f97149 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 06:34:44 +0000 Subject: [PATCH 080/124] aliyun-cli: 3.3.8 -> 3.3.11 --- pkgs/by-name/al/aliyun-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/aliyun-cli/package.nix b/pkgs/by-name/al/aliyun-cli/package.nix index 42dbd533885a..50564e8cf69e 100644 --- a/pkgs/by-name/al/aliyun-cli/package.nix +++ b/pkgs/by-name/al/aliyun-cli/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "aliyun-cli"; - version = "3.3.8"; + version = "3.3.11"; src = fetchFromGitHub { owner = "aliyun"; repo = "aliyun-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-5RFGpfeW3nLubN920hrBVyEdJEPa/V3Dz2YdxCh9YLU="; + hash = "sha256-jksC63DFSbZcBjQvV7BBMSMbPMeSqUQMWN9HcIcFZSU="; fetchSubmodules = true; }; From c37ebfe18236d7c83f88b6e67385b876a00cb590 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 06:38:33 +0000 Subject: [PATCH 081/124] python3Packages.pyaxencoapi: 1.0.7 -> 1.0.9 --- pkgs/development/python-modules/pyaxencoapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyaxencoapi/default.nix b/pkgs/development/python-modules/pyaxencoapi/default.nix index 9053e8b558e4..eca876818da2 100644 --- a/pkgs/development/python-modules/pyaxencoapi/default.nix +++ b/pkgs/development/python-modules/pyaxencoapi/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "pyaxencoapi"; - version = "1.0.7"; + version = "1.0.9"; pyproject = true; src = fetchFromGitHub { owner = "AXENCO-FR"; repo = "ha-py-axenco-api"; tag = "v${finalAttrs.version}"; - hash = "sha256-Ml58+kstIpqQUXDt/jpZeR8ueu5U3nnH7hiUcZxveAM="; + hash = "sha256-rqjDI8e3ZeZHsEk0EBaKlEl3w9blinlc2MsTCAKk85o="; }; build-system = [ setuptools ]; From d968c0f28ef0419142b73743653f42175d2e8d88 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 09:04:30 +0000 Subject: [PATCH 082/124] pyenv: 2.6.27 -> 2.6.28 --- pkgs/by-name/py/pyenv/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/py/pyenv/package.nix b/pkgs/by-name/py/pyenv/package.nix index 7f317886c59b..a74729bebef3 100644 --- a/pkgs/by-name/py/pyenv/package.nix +++ b/pkgs/by-name/py/pyenv/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "pyenv"; - version = "2.6.27"; + version = "2.6.28"; src = fetchFromGitHub { owner = "pyenv"; repo = "pyenv"; tag = "v${finalAttrs.version}"; - hash = "sha256-EWpVkVTYI8Rvt7OZ3mdm/EEIcGHkD4LfHdAmhwgesLw="; + hash = "sha256-1jbpelEVcm+HqjsT8yaQPTaoOhEBCSq64LzTzr0X93I="; }; nativeBuildInputs = [ From 99dee77bb66fcc316b68a1e6a14286866a05ebd8 Mon Sep 17 00:00:00 2001 From: Jack Rosenberg Date: Tue, 28 Apr 2026 21:43:49 +0200 Subject: [PATCH 083/124] fosrl-newt: 1.12.0 -> 1.12.2 --- pkgs/by-name/fo/fosrl-newt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fo/fosrl-newt/package.nix b/pkgs/by-name/fo/fosrl-newt/package.nix index feaa90c5fab3..f860f071bfd9 100644 --- a/pkgs/by-name/fo/fosrl-newt/package.nix +++ b/pkgs/by-name/fo/fosrl-newt/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "newt"; - version = "1.12.0"; + version = "1.12.2"; src = fetchFromGitHub { owner = "fosrl"; repo = "newt"; tag = finalAttrs.version; - hash = "sha256-csD7QcSQE4/eRw3EHX0m2nI3JjglFxXlnyuS4xpCmRY="; + hash = "sha256-5+B1sderUwy6hJPKFRK8fV0bX2+rgHh3WmAjgQqVsR4="; }; vendorHash = "sha256-+zMSzNbqmWm/DXL2xMUd5uPP5tSIybsRokwJ2zd0pf0="; From ff9d5b6da3cf5cf2cd888f849759b748a257fb51 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 29 Apr 2026 09:32:02 +0000 Subject: [PATCH 084/124] python3Packages.lupa: fix lua module --- .../python-modules/lupa/default.nix | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/pkgs/development/python-modules/lupa/default.nix b/pkgs/development/python-modules/lupa/default.nix index 2566c91af20b..3273c9ae21ab 100644 --- a/pkgs/development/python-modules/lupa/default.nix +++ b/pkgs/development/python-modules/lupa/default.nix @@ -7,11 +7,6 @@ cython, setuptools, - # nativeBuildInputs - pkg-config, - - # buildInputs - luajit, }: buildPythonPackage (finalAttrs: { pname = "lupa"; @@ -22,7 +17,11 @@ buildPythonPackage (finalAttrs: { owner = "scoder"; repo = "lupa"; tag = "lupa-${finalAttrs.version}"; - hash = "sha256-JlKxisVd0sbLcmVjzyFEkbUDAornAoCWekpASl6qeY4="; + # Lua sources are vendored as submodules under third-party/. + # They are needed so that setup.py builds properly named backend + # modules (e.g. lua51, lua54, luajit21) expected by consumers like fakeredis. + fetchSubmodules = true; + hash = "sha256-XLBUQ1TrzWWST9RJdMTnpsceldDNzidnL82bixLhSRA="; }; build-system = [ @@ -30,18 +29,6 @@ buildPythonPackage (finalAttrs: { setuptools ]; - nativeBuildInputs = [ - pkg-config - ]; - - env = { - LUPA_NO_BUNDLE = "true"; - }; - - buildInputs = [ - luajit - ]; - pythonImportsCheck = [ "lupa" ]; meta = { From 0c1b85d12e3c01561c178de88c23df3405453991 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 10:35:04 +0000 Subject: [PATCH 085/124] spacectl: 1.21.0 -> 1.21.1 --- pkgs/by-name/sp/spacectl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sp/spacectl/package.nix b/pkgs/by-name/sp/spacectl/package.nix index 445e0b7446c5..a12a42888ddc 100644 --- a/pkgs/by-name/sp/spacectl/package.nix +++ b/pkgs/by-name/sp/spacectl/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "spacectl"; - version = "1.21.0"; + version = "1.21.1"; src = fetchFromGitHub { owner = "spacelift-io"; repo = "spacectl"; rev = "v${finalAttrs.version}"; - hash = "sha256-GW8jeET8MBvyFbGZWblU2mj9kWSK9cfhdYj+UXxbt5s="; + hash = "sha256-YXPiB/RZsilteKzoOAsQ2aJ1qIlKIicToSVpS8pUWd4="; }; vendorHash = "sha256-wc6pRnCdIL7Se98eDfyU5OMOghJ2VrR1POM7lHo3Af8="; From 2568de96386b474ee9538f9f4a3124fe21232670 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 11:01:55 +0000 Subject: [PATCH 086/124] python3Packages.python-otbr-api: 2.9.0 -> 2.10.0 --- pkgs/development/python-modules/python-otbr-api/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-otbr-api/default.nix b/pkgs/development/python-modules/python-otbr-api/default.nix index f4add78507a4..5f99c0e944fe 100644 --- a/pkgs/development/python-modules/python-otbr-api/default.nix +++ b/pkgs/development/python-modules/python-otbr-api/default.nix @@ -14,14 +14,14 @@ buildPythonPackage (finalAttrs: { pname = "python-otbr-api"; - version = "2.9.0"; + version = "2.10.0"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "python-otbr-api"; tag = finalAttrs.version; - hash = "sha256-UhDcWw7QsKQ9t1SzdFoSf7ZrkUkKUaPwuMbrqEGA48o="; + hash = "sha256-WBL6R4yw/4yuF/T94NtaapGspn4L2H0glVatW6+hoRk="; }; build-system = [ setuptools ]; From 89a8a95998abe164be18eea1330bdb1a9202dbd7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 14:11:21 +0000 Subject: [PATCH 087/124] pbgopy: 0.3.0 -> 0.4.0 --- pkgs/by-name/pb/pbgopy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pb/pbgopy/package.nix b/pkgs/by-name/pb/pbgopy/package.nix index 9b35da9d18ae..034fa2d63e57 100644 --- a/pkgs/by-name/pb/pbgopy/package.nix +++ b/pkgs/by-name/pb/pbgopy/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "pbgopy"; - version = "0.3.0"; + version = "0.4.0"; src = fetchFromGitHub { owner = "nakabonne"; repo = "pbgopy"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-P/MFDFMsqSTVErTM9izJJSMIbiOcbQ9Ya10/w6NRcYw="; + sha256 = "sha256-rm4fopreiYBwcFbtuo0B6FalveFft8hrNVf7JpvyNKE="; }; - vendorHash = "sha256-S2X74My6wyDZOsEYTDilCFaYgV2vQzU0jOAY9cEkJ6A="; + vendorHash = "sha256-qxdylBQiUlHOkzaxV+P9m3tnkFqUdZTdF31LD0IWyuI="; meta = { description = "Copy and paste between devices"; From d2777d6915571a7d0ba20f0b531f86535dc47119 Mon Sep 17 00:00:00 2001 From: liberodark Date: Wed, 29 Apr 2026 16:14:55 +0200 Subject: [PATCH 088/124] mklittlefs: fix changelog --- pkgs/by-name/mk/mklittlefs/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/mk/mklittlefs/package.nix b/pkgs/by-name/mk/mklittlefs/package.nix index a1f40f0981b5..721d4d997de9 100644 --- a/pkgs/by-name/mk/mklittlefs/package.nix +++ b/pkgs/by-name/mk/mklittlefs/package.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Tool to build and unpack littlefs images"; homepage = "https://github.com/earlephilhower/mklittlefs"; - changelog = "https://github.com/earlephilhower/mklittlefs/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/earlephilhower/mklittlefs/releases/tag/${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ liberodark ]; mainProgram = "mklittlefs"; From cb0542b3102e427e5aa60347dbb282c9e8ae57fa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 14:27:30 +0000 Subject: [PATCH 089/124] oauth2c: 1.19.0 -> 1.20.0 --- pkgs/by-name/oa/oauth2c/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/oa/oauth2c/package.nix b/pkgs/by-name/oa/oauth2c/package.nix index 666b24ea1828..7482bd8751e8 100644 --- a/pkgs/by-name/oa/oauth2c/package.nix +++ b/pkgs/by-name/oa/oauth2c/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "oauth2c"; - version = "1.19.0"; + version = "1.20.0"; src = fetchFromGitHub { owner = "cloudentity"; repo = "oauth2c"; rev = "v${finalAttrs.version}"; - hash = "sha256-Bh4gWskmY2nWTckUT1FX7vRDz/gg670A77CQTZhz3mg="; + hash = "sha256-l/fXorXE4+6n7qQM2c2pJssNq3DKaxOjapdfNlXuAWg="; }; - vendorHash = "sha256-I2pOyjKghvHHGEuVqODhysD++f2hD+BF7WJxWbrLcWA="; + vendorHash = "sha256-+Y8AStkbaecVdosfWlEmO53Y5aC13zfzlDOeMO91Lw0="; doCheck = false; # tests want to talk to oauth2c.us.authz.cloudentity.io From 2f676ca75324535b66312585b33104dc0c74a07f Mon Sep 17 00:00:00 2001 From: Aiden Schembri Date: Wed, 29 Apr 2026 16:51:47 +0200 Subject: [PATCH 090/124] zed-editor: 0.233.10 -> 1.0.0 --- pkgs/by-name/ze/zed-editor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 530b86329485..ee17f813df39 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -97,7 +97,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.233.10"; + version = "1.0.0"; outputs = [ "out" @@ -110,7 +110,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-ftbrApKQhSn6SNs7ysgBot9XctuVtAskBTnm2hmCBaA="; + hash = "sha256-D5V0pvL3WCwhcC8dnNKTXRdnFq8LMZZ0/GDjw8xf95g="; }; postPatch = '' @@ -139,7 +139,7 @@ rustPlatform.buildRustPackage (finalAttrs: { rm -r $out/git/*/candle-book/ ''; - cargoHash = "sha256-9r0jaT+ETAkGGHYDL1KFmq3M+apaLsRpORk7OOz4s5Q="; + cargoHash = "sha256-xtw7r7VluCEqXWKnxpVk8BPqr+mJV5rB3Eq/PvsKPBk="; __structuredAttrs = true; From a6e6ff3476bc015c7994e3d1a1b94b48e2dc5371 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 15:07:46 +0000 Subject: [PATCH 091/124] ocamlPackages.lwt: 6.1.1 -> 6.1.2 --- pkgs/development/ocaml-modules/lwt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix index 754cbb3c5bff..065bb32e1f1f 100644 --- a/pkgs/development/ocaml-modules/lwt/default.nix +++ b/pkgs/development/ocaml-modules/lwt/default.nix @@ -7,7 +7,7 @@ dune-configurator, ocplib-endian, ppxlib, - version ? if lib.versionAtLeast ppxlib.version "0.36" then "6.1.1" else "5.9.1", + version ? if lib.versionAtLeast ppxlib.version "0.36" then "6.1.2" else "5.9.1", }: buildDunePackage { @@ -22,7 +22,7 @@ buildDunePackage { { "5.9.1" = "sha256-oPYLFugMTI3a+hmnwgUcoMgn5l88NP1Roq0agLhH/vI="; "5.9.2" = "sha256-pzowRN1wwaF2iMfMPE7RCtA2XjlaXC3xD0yznriVfu8="; - "6.1.1" = "sha256-EMlA+mh66bfVNqDcmuaW7GoEEu6xQhCRjZx7t7pHuGo="; + "6.1.2" = "sha256-9Uxo1ekB3VcvdR4FCVdVWzvPHuVwflYIdD/fWvg0/kc="; } ."${version}"; }; From 627c89812ccf7eb5885ed6e29df865b8c190c9de Mon Sep 17 00:00:00 2001 From: Colin Date: Wed, 29 Apr 2026 15:34:33 +0000 Subject: [PATCH 092/124] signal-desktop: fix cross compilation --- pkgs/by-name/si/signal-desktop/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index a64497b83c6f..9d19091a03c8 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -106,6 +106,7 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; nativeBuildInputs = [ + node-gyp nodejs pnpmConfigHook pnpm @@ -241,7 +242,7 @@ stdenv.mkDerivation (finalAttrs: { # Build it explicitly against Electron headers ahead of packaging. export npm_config_nodedir=${electron.headers} pushd node_modules/fs-xattr - ${lib.getExe node-gyp} rebuild + node-gyp rebuild popd test -f node_modules/fs-xattr/build/Release/xattr.node ''; From 83b1ea79ba1bc7c0bcfbc9a6619bc72bb2725564 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Wed, 29 Apr 2026 11:43:19 -0400 Subject: [PATCH 093/124] terraform: 1.14.9 -> 1.15.0 Diff: https://github.com/hashicorp/terraform/compare/v1.14.9...v1.15.0 Changelog: https://github.com/hashicorp/terraform/blob/v1.15.0/CHANGELOG.md --- pkgs/applications/networking/cluster/terraform/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 23b158b40943..3b1614ecc892 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -200,9 +200,9 @@ rec { mkTerraform = attrs: pluggable (generic attrs); terraform_1 = mkTerraform { - version = "1.14.9"; - hash = "sha256-OvKc+71DxbYgdOs06RkM4doF4OTkY0NI/LR0Wgpr7tA="; - vendorHash = "sha256-Ajjh8k2lOKf+BGIk3Vyp8H2unljeOMUN0vXwGjs7ZHc="; + version = "1.15.0"; + hash = "sha256-cKgZFCPLusXXSjcff/PmKGIdSm3wRY1DpduXBRrgcDc="; + vendorHash = "sha256-Gv6V5aXqTuQoG1StbD/7Ln2QrLpMsW6fbUJUkyZMkvk="; patches = [ ./provider-path-0_15.patch ]; passthru = { inherit plugins; From e7bfebd6093998b90252a0c3d8a9a2b406227195 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 15:57:57 +0000 Subject: [PATCH 094/124] clusterlint: 0.14.0 -> 0.15.0 --- pkgs/by-name/cl/clusterlint/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clusterlint/package.nix b/pkgs/by-name/cl/clusterlint/package.nix index 02e914dde2e6..21a1c84bde06 100644 --- a/pkgs/by-name/cl/clusterlint/package.nix +++ b/pkgs/by-name/cl/clusterlint/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "clusterlint"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "digitalocean"; repo = "clusterlint"; tag = "v${finalAttrs.version}"; - hash = "sha256-iOd0mjVJDtALxdsmG6+ruJ8CxoNe17D9grkjRW+N34A="; + hash = "sha256-6QgWWSiwVZv8rYJNvfzxNsrxCqJbR/MBcCr3ESrO6Fc="; }; vendorHash = null; From f56a21091ad7a86241272065c5850579673f4251 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 15:58:18 +0000 Subject: [PATCH 095/124] cargo-mobile2: 0.22.3 -> 0.22.4 --- pkgs/by-name/ca/cargo-mobile2/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-mobile2/package.nix b/pkgs/by-name/ca/cargo-mobile2/package.nix index 52119f73c8d3..b1de6de9da8b 100644 --- a/pkgs/by-name/ca/cargo-mobile2/package.nix +++ b/pkgs/by-name/ca/cargo-mobile2/package.nix @@ -10,20 +10,20 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-mobile2"; - version = "0.22.3"; + version = "0.22.4"; src = fetchFromGitHub { owner = "tauri-apps"; repo = "cargo-mobile2"; rev = "cargo-mobile2-v${finalAttrs.version}"; - hash = "sha256-rPLGh7/lGsmoidtr+UNrxzUgqtiHvkqZs2/la4L6zQM="; + hash = "sha256-DjoWjdgfNHLZkaWUjPq4tNrmHsifKKhBaRjK25WRdiE="; }; # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202 # sourceRoot = "${src.name}/tooling/cli"; - cargoHash = "sha256-ht9ofFa4H/Ux6a31vMNdKNhrX48yoYM1qAPoxCjude0="; + cargoHash = "sha256-m+9wPfheH9t7zxTsW7vHe4td/gyeC/nXFDHRGjK5XBg="; buildInputs = [ openssl ]; nativeBuildInputs = [ From 0ac50a0a576fbf4df8ae013a1261b1ae6650da83 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 16:05:52 +0000 Subject: [PATCH 096/124] tenv: 4.11.1 -> 4.12.0 --- pkgs/by-name/te/tenv/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix index c44d7a39193d..86e9916844aa 100644 --- a/pkgs/by-name/te/tenv/package.nix +++ b/pkgs/by-name/te/tenv/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "tenv"; - version = "4.11.1"; + version = "4.12.0"; src = fetchFromGitHub { owner = "tofuutils"; repo = "tenv"; tag = "v${finalAttrs.version}"; - hash = "sha256-3KSJG2gKnyu0Kxhbjemw4y8OvmXUNrqzlKcU9CCIqEo="; + hash = "sha256-Ph44Iy/yUdtSi3zkCeDZyWeSa+0l6nr34Co1JupD2eY="; }; - vendorHash = "sha256-9A51pB94+PQP0SaT7LW78bwndGa5gOZOFkDEz2VzHl8="; + vendorHash = "sha256-CBAjiUMnyA7yq08Z1fOSOAeSy/8uSCra6l63C8fn6tU="; excludedPackages = [ "tools" ]; From 811705145dd90b93b4653bbdbb7dfc5660517b89 Mon Sep 17 00:00:00 2001 From: GraysonTinker Date: Wed, 29 Apr 2026 09:08:05 -0700 Subject: [PATCH 097/124] treewide: fix typo of updateScript as updateScripts --- pkgs/by-name/ma/markitdown-mcp/package.nix | 2 +- pkgs/development/python-modules/cobble/default.nix | 2 +- pkgs/development/python-modules/funk/default.nix | 2 +- pkgs/development/python-modules/mammoth/default.nix | 2 +- pkgs/development/python-modules/markitdown/default.nix | 2 +- pkgs/development/python-modules/precisely/default.nix | 2 +- pkgs/development/python-modules/tempman/default.nix | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ma/markitdown-mcp/package.nix b/pkgs/by-name/ma/markitdown-mcp/package.nix index 460815412b07..d49ba08bed84 100644 --- a/pkgs/by-name/ma/markitdown-mcp/package.nix +++ b/pkgs/by-name/ma/markitdown-mcp/package.nix @@ -36,7 +36,7 @@ python3Packages.buildPythonApplication (finalAttrs: { "markitdown_mcp" ]; - passthru.updateScripts = gitUpdater { }; + passthru.updateScript = gitUpdater { }; meta = { description = "MCP server for the markitdown library"; diff --git a/pkgs/development/python-modules/cobble/default.nix b/pkgs/development/python-modules/cobble/default.nix index 13fe8f3235d6..de4ac19ddb36 100644 --- a/pkgs/development/python-modules/cobble/default.nix +++ b/pkgs/development/python-modules/cobble/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { "test_sub_sub_classes_are_included_in_abc" ]; - passthru.updateScripts = gitUpdater { }; + passthru.updateScript = gitUpdater { }; meta = { description = "Create Python data objects"; diff --git a/pkgs/development/python-modules/funk/default.nix b/pkgs/development/python-modules/funk/default.nix index c97f432617ec..b3637b40dde8 100644 --- a/pkgs/development/python-modules/funk/default.nix +++ b/pkgs/development/python-modules/funk/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { # Disabling tests, they rely on Nose which is outdated and not supported doCheck = false; - passthru.updateScripts = gitUpdater { }; + passthru.updateScript = gitUpdater { }; meta = { description = "Mocking framework for Python, influenced by JMock"; diff --git a/pkgs/development/python-modules/mammoth/default.nix b/pkgs/development/python-modules/mammoth/default.nix index ae8023b0c55e..a44ce6b34c3a 100644 --- a/pkgs/development/python-modules/mammoth/default.nix +++ b/pkgs/development/python-modules/mammoth/default.nix @@ -45,7 +45,7 @@ buildPythonPackage rec { export PATH=$out/bin:$PATH ''; - passthru.updateScripts = gitUpdater { }; + passthru.updateScript = gitUpdater { }; meta = { description = "Convert Word documents (.docx files) to HTML"; diff --git a/pkgs/development/python-modules/markitdown/default.nix b/pkgs/development/python-modules/markitdown/default.nix index 2f7313d2c79b..22ed0b7bd6f3 100644 --- a/pkgs/development/python-modules/markitdown/default.nix +++ b/pkgs/development/python-modules/markitdown/default.nix @@ -100,7 +100,7 @@ buildPythonPackage (finalAttrs: { "test_module_misc" ]; - passthru.updateScripts = gitUpdater { }; + passthru.updateScript = gitUpdater { }; meta = { description = "Python tool for converting files and office documents to Markdown"; diff --git a/pkgs/development/python-modules/precisely/default.nix b/pkgs/development/python-modules/precisely/default.nix index 0682aa4a1dff..582d173d45a4 100644 --- a/pkgs/development/python-modules/precisely/default.nix +++ b/pkgs/development/python-modules/precisely/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { # Tests are outdated and based on Nose, which is not supported anymore. doCheck = false; - passthru.updateScripts = gitUpdater { }; + passthru.updateScript = gitUpdater { }; meta = { description = "Matcher library for Python"; diff --git a/pkgs/development/python-modules/tempman/default.nix b/pkgs/development/python-modules/tempman/default.nix index 1cc8ddbf9bec..3809724c37ba 100644 --- a/pkgs/development/python-modules/tempman/default.nix +++ b/pkgs/development/python-modules/tempman/default.nix @@ -31,7 +31,7 @@ buildPythonPackage rec { # Disabling tests, they rely on dependencies that are outdated and not supported doCheck = false; - passthru.updateScripts = gitUpdater { }; + passthru.updateScript = gitUpdater { }; meta = { description = "Create and clean up temporary directories"; From 7adfc5b0748839844b6e1185dca0b4ae817509a5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 16:34:54 +0000 Subject: [PATCH 098/124] cloudprober: 0.14.1 -> 0.14.3 --- pkgs/by-name/cl/cloudprober/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/cloudprober/package.nix b/pkgs/by-name/cl/cloudprober/package.nix index d3c152dcaccc..7c23aaf4bf3a 100644 --- a/pkgs/by-name/cl/cloudprober/package.nix +++ b/pkgs/by-name/cl/cloudprober/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "cloudprober"; - version = "0.14.1"; + version = "0.14.3"; src = fetchFromGitHub { owner = "cloudprober"; repo = "cloudprober"; tag = "v${finalAttrs.version}"; - hash = "sha256-XFMjUwsRfWAnrNsegUPqWz8Bcc/naEBhytqq/o21ras="; + hash = "sha256-dMogW0NQAMiSBC7//7gGmadvK5vS2H+170aW0RK58fU="; }; - vendorHash = "sha256-+EVcYFnWPSNfxUzxuL3tAHjCCDad/7K11y3dk2CUtrU="; + vendorHash = "sha256-YEueI/Ms350bNkKPmLNzLljr9FDL0R7zACF4HQwHLdk="; checkFlags = let From 02b24cb35be6aaca0d0dc2f3f779ce1b7c53282d Mon Sep 17 00:00:00 2001 From: Michael Evans Date: Wed, 29 Apr 2026 18:49:20 +0200 Subject: [PATCH 099/124] gaphor: 3.3.0 -> 3.3.1 Diff: https://github.com/gaphor/gaphor/compare/3.3.0...3.3.1 Changelog: https://github.com/gaphor/gaphor/releases/tag/3.3.1 --- pkgs/by-name/ga/gaphor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ga/gaphor/package.nix b/pkgs/by-name/ga/gaphor/package.nix index c7fbcfed9c7e..0718166c7761 100644 --- a/pkgs/by-name/ga/gaphor/package.nix +++ b/pkgs/by-name/ga/gaphor/package.nix @@ -13,14 +13,14 @@ }: python3Packages.buildPythonApplication (finalAttrs: { pname = "gaphor"; - version = "3.3.0"; + version = "3.3.1"; pyproject = true; src = fetchFromGitHub { owner = "gaphor"; repo = "gaphor"; tag = finalAttrs.version; - hash = "sha256-bgcri0mgFKz4jtGJSWtlStS3f4FzYH+ZPE1BsK+S1DI="; + hash = "sha256-oGOi1vyLOrElj/kbqHgPEyAwtVvVA3a1j9VSWMts/bM="; }; pythonRelaxDeps = [ From c674a9fde2c5858c3bc6d614e0bc3331dff50078 Mon Sep 17 00:00:00 2001 From: Emilio Ziniades Date: Wed, 29 Apr 2026 19:28:20 +0200 Subject: [PATCH 100/124] maelstrom-clj: fix changelog url --- pkgs/by-name/ma/maelstrom-clj/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ma/maelstrom-clj/package.nix b/pkgs/by-name/ma/maelstrom-clj/package.nix index 605e8566e8ed..d9dbce638242 100644 --- a/pkgs/by-name/ma/maelstrom-clj/package.nix +++ b/pkgs/by-name/ma/maelstrom-clj/package.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Workbench for writing toy implementations of distributed systems"; homepage = "https://github.com/jepsen-io/maelstrom"; - changelog = "https://github.com/jepsen-io/maelstrom/releases/tag/${finalAttrs.version}"; + changelog = "https://github.com/jepsen-io/maelstrom/releases/tag/v${finalAttrs.version}"; mainProgram = "maelstrom"; sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; license = lib.licenses.epl10; From cdce9f865644f55f64a12b9da2b5e46abb2e6a00 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 17:31:42 +0000 Subject: [PATCH 101/124] sail: 0.6.0 -> 0.6.1 --- pkgs/by-name/sa/sail/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sa/sail/package.nix b/pkgs/by-name/sa/sail/package.nix index c6ea659cfde6..55d521c23026 100644 --- a/pkgs/by-name/sa/sail/package.nix +++ b/pkgs/by-name/sa/sail/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "sail"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = "lakehq"; repo = "sail"; tag = "v${finalAttrs.version}"; - hash = "sha256-ISTZwWDQ5DjNa5TC77Xea3zuhp2sSnp/NwD3ytYbjLc="; + hash = "sha256-QHlfK9gTTRObFJSPQFe8tQZRa8mRIA87TFZIwJV0nWs="; }; - cargoHash = "sha256-njc4c/xN9uWvNgOvswx1fwwynFrM9eHw4LUOFVYJ4ls="; + cargoHash = "sha256-XMEyfLB/O7MA1dNY40UDv4OOyMKiJwgUm93XhxDyz4k="; cargoBuildFlags = [ "-p" From 36f852ff2c1caf97bb061ad5826f4e993c60dfed Mon Sep 17 00:00:00 2001 From: Igor <85039990+igorcafe@users.noreply.github.com> Date: Wed, 29 Apr 2026 14:37:50 -0300 Subject: [PATCH 102/124] libretro.dolphin: 0-unstable-2025-08-05 -> 0-unstable-2026-04-08 --- pkgs/applications/emulators/libretro/cores/dolphin.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/dolphin.nix b/pkgs/applications/emulators/libretro/cores/dolphin.nix index e4fdc6899c51..c8b606b24473 100644 --- a/pkgs/applications/emulators/libretro/cores/dolphin.nix +++ b/pkgs/applications/emulators/libretro/cores/dolphin.nix @@ -26,13 +26,14 @@ }: mkLibretroCore { core = "dolphin"; - version = "0-unstable-2025-08-05"; + version = "0-unstable-2026-04-08"; src = fetchFromGitHub { owner = "libretro"; repo = "dolphin"; - rev = "83438f9b1a2c832319876a1fda130a5e33d4ef87"; - hash = "sha256-q4y+3uJ1tQ2OvlEvi/JNyIO/RfuWNIEKfVZ6xEWKFCg="; + rev = "0cd3bb89c29535db9b7552fc86871867ccf5b471"; + hash = "sha256-cSiJO/EvspNvHopo/RLfuz8ONpbXk2NrrSDhkiAm7/s="; + fetchSubmodules = true; }; extraNativeBuildInputs = [ @@ -82,7 +83,7 @@ mkLibretroCore { (cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.5") ]; - dontUseCmakeBuildDir = true; + dontUseCmakeBuildDir = false; meta = { description = "Port of Dolphin to libretro"; From 1d5652be4ec6a6761dfb6f74408ddcc8f34a6a5b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 17:39:04 +0000 Subject: [PATCH 103/124] python3Packages.pinecone-client: 8.1.0 -> 8.1.2 --- pkgs/development/python-modules/pinecone-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pinecone-client/default.nix b/pkgs/development/python-modules/pinecone-client/default.nix index dabbfa6bf441..cd4f3df84388 100644 --- a/pkgs/development/python-modules/pinecone-client/default.nix +++ b/pkgs/development/python-modules/pinecone-client/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "pinecone-client"; - version = "8.1.0"; + version = "8.1.2"; pyproject = true; src = fetchFromGitHub { owner = "pinecone-io"; repo = "pinecone-python-client"; tag = "v${version}"; - hash = "sha256-rXsCaH8SbMttBQWfF8Gy6hz+PVboxkLJZCs0/o6lAEI="; + hash = "sha256-VfoSW17Bx/eFlnSxUiQZsfY/y210/sKIF5df/kb2kTc="; }; build-system = [ hatchling ]; From 5f294be3a3538af20f6fd9b0c600c789220258f1 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 29 Apr 2026 10:41:21 -0700 Subject: [PATCH 104/124] python3Packages.googleapi-common-protos: fix homepage and changelog --- .../python-modules/googleapis-common-protos/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/googleapis-common-protos/default.nix b/pkgs/development/python-modules/googleapis-common-protos/default.nix index 30d7dba4512a..3ee6824f0e3d 100644 --- a/pkgs/development/python-modules/googleapis-common-protos/default.nix +++ b/pkgs/development/python-modules/googleapis-common-protos/default.nix @@ -53,8 +53,8 @@ buildPythonPackage rec { meta = { description = "Common protobufs used in Google APIs"; - homepage = "https://github.com/googleapis/python-api-common-protos"; - changelog = "https://github.com/googleapis/python-api-common-protos/releases/tag/${src.tag}"; + homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/googleapis-common-protos"; + changelog = "https://github.com/googleapis/google-cloud-python/releases/tag/${src.tag}"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.sarahec ]; }; From 5d2ce410647f22f7539c2fc6a67f81119a55a004 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 29 Apr 2026 10:43:04 -0700 Subject: [PATCH 105/124] python3Packages.googleapi-common-protos: migrate to finalAttrs --- .../googleapis-common-protos/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/googleapis-common-protos/default.nix b/pkgs/development/python-modules/googleapis-common-protos/default.nix index 3ee6824f0e3d..84a518517da1 100644 --- a/pkgs/development/python-modules/googleapis-common-protos/default.nix +++ b/pkgs/development/python-modules/googleapis-common-protos/default.nix @@ -8,7 +8,7 @@ nix-update-script, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "googleapis-common-protos"; version = "1.73.0"; pyproject = true; @@ -16,11 +16,11 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "googleapis"; repo = "google-cloud-python"; - tag = "googleapis-common-protos-v${version}"; + tag = "googleapis-common-protos-v${finalAttrs.version}"; hash = "sha256-LrsmLySAOTsECwxa1NaFuyZAjar0Jbg9DHNi6uqYaxk="; }; - sourceRoot = "${src.name}/packages/googleapis-common-protos"; + sourceRoot = "${finalAttrs.src.name}/packages/googleapis-common-protos"; build-system = [ setuptools ]; @@ -54,8 +54,8 @@ buildPythonPackage rec { meta = { description = "Common protobufs used in Google APIs"; homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/googleapis-common-protos"; - changelog = "https://github.com/googleapis/google-cloud-python/releases/tag/${src.tag}"; + changelog = "https://github.com/googleapis/google-cloud-python/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.sarahec ]; }; -} +}) From e892a9d8d738807c27802732d7ce8729e79910cc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 17:52:04 +0000 Subject: [PATCH 106/124] mongodb-atlas-cli: 1.53.3 -> 1.54.0 --- pkgs/by-name/mo/mongodb-atlas-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mo/mongodb-atlas-cli/package.nix b/pkgs/by-name/mo/mongodb-atlas-cli/package.nix index 3cb2b84a2bdb..976fec8efdee 100644 --- a/pkgs/by-name/mo/mongodb-atlas-cli/package.nix +++ b/pkgs/by-name/mo/mongodb-atlas-cli/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "mongodb-atlas-cli"; - version = "1.53.3"; + version = "1.54.0"; src = fetchFromGitHub { owner = "mongodb"; repo = "mongodb-atlas-cli"; tag = "atlascli/v${finalAttrs.version}"; - hash = "sha256-+/B2lr8R+6UKObm4e0jqIZ+yJEtLvxuN+21cHKNBq3E="; + hash = "sha256-OZiumnbWNOaH++1u7ZFkpi2xPQ8PG0TI63dXZxX4GOM="; }; - vendorHash = "sha256-OsEGK0KqucRIDH6tmz8y1vpU2GjOR1mWpsyeb/6IN84="; + vendorHash = "sha256-k7hLJ4bk3IAI/m//MIqp+YVMa3bbADnDiLsuEmz1suI="; nativeBuildInputs = [ installShellFiles ]; From 0a36836d1f48976bc652f170a05c243294caf081 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 29 Apr 2026 10:55:04 -0700 Subject: [PATCH 107/124] ibis-framework: fix changelog --- pkgs/development/python-modules/ibis-framework/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix index 8f499225e418..70d05e492e23 100644 --- a/pkgs/development/python-modules/ibis-framework/default.nix +++ b/pkgs/development/python-modules/ibis-framework/default.nix @@ -448,7 +448,7 @@ buildPythonPackage (finalAttrs: { meta = { description = "Productivity-centric Python Big Data Framework"; homepage = "https://github.com/ibis-project/ibis"; - changelog = "https://github.com/ibis-project/ibis/blob/${finalAttrs.src.tag}/docs/release_notes.md"; + changelog = "https://github.com/ibis-project/ibis/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ cpcloud From 4763a1e345eb620d9c19c65505dd951e287df3af Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 18:04:49 +0000 Subject: [PATCH 108/124] libretro.mesen-s: 0-unstable-2024-10-21 -> 0-unstable-2026-04-20 --- pkgs/applications/emulators/libretro/cores/mesen-s.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/mesen-s.nix b/pkgs/applications/emulators/libretro/cores/mesen-s.nix index ea349e193621..b79ae5541466 100644 --- a/pkgs/applications/emulators/libretro/cores/mesen-s.nix +++ b/pkgs/applications/emulators/libretro/cores/mesen-s.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mesen-s"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-04-20"; src = fetchFromGitHub { owner = "libretro"; repo = "mesen-s"; - rev = "d4fca31a6004041d99b02199688f84c009c55967"; - hash = "sha256-mGGTLBRJCsNJg57LWSFndIv/LLzEmVRnv6gNbllkV/Y="; + rev = "1d475abd174d16ecb1fb030961ff26076ab51ee6"; + hash = "sha256-JSXkh6OyclYl3X/sJLRZsb5sdbSfanbJAKlhaFFjSrI="; }; makefile = "Makefile"; From c1c8f44fdb57622f972afa638597220880c823c5 Mon Sep 17 00:00:00 2001 From: Cafe da Silva Date: Wed, 29 Apr 2026 15:08:52 -0300 Subject: [PATCH 109/124] libretro.dolphin: remove dontUseCmakeBuildDir --- pkgs/applications/emulators/libretro/cores/dolphin.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/dolphin.nix b/pkgs/applications/emulators/libretro/cores/dolphin.nix index c8b606b24473..cd32ce5399ef 100644 --- a/pkgs/applications/emulators/libretro/cores/dolphin.nix +++ b/pkgs/applications/emulators/libretro/cores/dolphin.nix @@ -83,8 +83,6 @@ mkLibretroCore { (cmakeFeature "CMAKE_POLICY_VERSION_MINIMUM" "3.5") ]; - dontUseCmakeBuildDir = false; - meta = { description = "Port of Dolphin to libretro"; homepage = "https://github.com/libretro/dolphin"; From 442655157820f3985ff5c041b159fc5272e485ed Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Wed, 29 Apr 2026 14:13:16 -0400 Subject: [PATCH 110/124] nixos/incus: gate bucket support since it requires insecure minio If upstream replaces minio for v7, we can drop this, but minio is now insecure forcing us to act. --- nixos/modules/virtualisation/incus.nix | 13 +++++++++++-- nixos/tests/incus/incus-tests.nix | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index cd49fc870e0f..a0842be7e93d 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -54,8 +54,6 @@ let lvm2 lz4 lxcfs - minio - minio-client nftables qemu-utils qemu_kvm @@ -99,6 +97,10 @@ let ] ++ lib.optionals nvidiaEnabled [ libnvidia-container + ] + ++ lib.optionals cfg.bucketSupport [ + minio + minio-client ]; # https://github.com/lxc/incus/blob/cff35a29ee3d7a2af1f937cbb6cf23776941854b/internal/server/instance/drivers/driver_qemu.go#L123 @@ -211,6 +213,13 @@ in description = "The incus client package to use. This package is added to PATH."; }; + bucketSupport = lib.mkOption { + type = lib.types.bool; + description = "Enable bucket support using minio, which is an insecure and unmaintained S3 provider."; + default = if lib.versionAtLeast config.system.stateVersion "26.11" then false else null; + defaultText = lib.literalExpression ''if lib.versionAtLeast config.system.stateVersion "26.11" then false else null;''; + }; + softDaemonRestart = lib.mkOption { type = lib.types.bool; default = true; diff --git a/nixos/tests/incus/incus-tests.nix b/nixos/tests/incus/incus-tests.nix index b28eb12b2ef1..34cfdc63e219 100644 --- a/nixos/tests/incus/incus-tests.nix +++ b/nixos/tests/incus/incus-tests.nix @@ -51,6 +51,7 @@ in incus = { enable = true; package = cfg.package; + bucketSupport = false; preseed = { networks = [ From b667e84eacc60d566af6f2c31ff6230b4ee68d11 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 18:19:59 +0000 Subject: [PATCH 111/124] python3Packages.bdffont: 0.0.35 -> 0.0.36 --- pkgs/development/python-modules/bdffont/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bdffont/default.nix b/pkgs/development/python-modules/bdffont/default.nix index 4daa5461fd77..7aec8f8d36c9 100644 --- a/pkgs/development/python-modules/bdffont/default.nix +++ b/pkgs/development/python-modules/bdffont/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "bdffont"; - version = "0.0.35"; + version = "0.0.36"; pyproject = true; src = fetchFromGitHub { owner = "TakWolf"; repo = "bdffont"; tag = finalAttrs.version; - hash = "sha256-a93l7iX2/Htigs36zCv1x8SAGzycGU2y/stN0j794fw="; + hash = "sha256-PCx1uMjCa5d8odDGRi4BRaf1E1AP0oZUv0QYr24E6Yo="; }; build-system = [ uv-build ]; From 8c4e152e5b52a25b270dd035b7f87aeed9239528 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Wed, 29 Apr 2026 20:22:15 +0200 Subject: [PATCH 112/124] python3Packages.curio: fix meta.changelog ref #514132 --- pkgs/development/python-modules/curio/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/curio/default.nix b/pkgs/development/python-modules/curio/default.nix index e6f636dc8209..b4549e50e766 100644 --- a/pkgs/development/python-modules/curio/default.nix +++ b/pkgs/development/python-modules/curio/default.nix @@ -53,7 +53,7 @@ buildPythonPackage rec { meta = { description = "Library for performing concurrent I/O with coroutines in Python"; homepage = "https://github.com/dabeaz/curio"; - changelog = "https://github.com/dabeaz/curio/raw/${version}/CHANGES"; + changelog = "https://github.com/dabeaz/curio/raw/${src.rev}/CHANGES"; license = lib.licenses.bsd3; maintainers = [ lib.maintainers.pbsds ]; }; From b2cfaaf151ab6c891f403648c32d1c89857196e7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 18:22:40 +0000 Subject: [PATCH 113/124] cosmic-ext-applet-weather: 0-unstable-2026-03-23 -> 0-unstable-2026-04-27 --- pkgs/by-name/co/cosmic-ext-applet-weather/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix b/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix index 538bf77b47af..7fa5f127435c 100644 --- a/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix +++ b/pkgs/by-name/co/cosmic-ext-applet-weather/package.nix @@ -9,13 +9,13 @@ }: rustPlatform.buildRustPackage { pname = "cosmic-ext-applet-weather"; - version = "0-unstable-2026-03-23"; + version = "0-unstable-2026-04-27"; src = fetchFromGitHub { owner = "cosmic-utils"; repo = "cosmic-ext-applet-weather"; - rev = "e98c57c586180df0abf6efbe3ee479fc4849f4f7"; - hash = "sha256-8m1L98wt0uf1vnZ7z4meb/9hU+k5bqe7x7Pidf1lBGM="; + rev = "943041c6e1e49d4a6ae267350d7818213e197bc5"; + hash = "sha256-ZTZ3IjEte3Knkm77i/C0Qq5lx8g3je6GsRlSSrWpFRQ="; }; cargoHash = "sha256-DmPUA9qRgCMqVqBNVfyQg4UZkqnZXZvokoSAqPxg0Zc="; From 5fd0bf8897efb5b76315ec290ac03573daf79a87 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 19:16:51 +0000 Subject: [PATCH 114/124] python3Packages.fastremap: 1.18.1 -> 1.19.0 --- pkgs/development/python-modules/fastremap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fastremap/default.nix b/pkgs/development/python-modules/fastremap/default.nix index 04aeb227fa5e..0849db7dd601 100644 --- a/pkgs/development/python-modules/fastremap/default.nix +++ b/pkgs/development/python-modules/fastremap/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "fastremap"; - version = "1.18.1"; + version = "1.19.0"; pyproject = true; src = fetchFromGitHub { owner = "seung-lab"; repo = "fastremap"; tag = version; - hash = "sha256-nVnOdxDSVM7Qe/peALgV035OknOUm0B1dzpTIq3HEMs="; + hash = "sha256-fPDgCpCJrMomxr0dicM9NBqzH4s+/Ux37hTsnsGts2g="; }; build-system = [ From d8bbb8d8e45cd32ff20e85ebbffe9589233950fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 19:38:27 +0000 Subject: [PATCH 115/124] cantus: 0.6.5 -> 0.6.6 --- pkgs/by-name/ca/cantus/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cantus/package.nix b/pkgs/by-name/ca/cantus/package.nix index 1850cd0f684c..8efe5ba30b2a 100644 --- a/pkgs/by-name/ca/cantus/package.nix +++ b/pkgs/by-name/ca/cantus/package.nix @@ -12,16 +12,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "cantus"; - version = "0.6.5"; + version = "0.6.6"; src = fetchFromGitHub { owner = "CodedNil"; repo = "cantus"; tag = finalAttrs.version; - hash = "sha256-pnc/fjmi932tZQsAfvvAoZ1PXEP8gckGuauR+5btei8="; + hash = "sha256-4bnIYOHVOPawDg4s5mPKYXURpDSVgyTmoh1WiGj/Zl8="; }; - cargoHash = "sha256-sDZF5cWlhsBblAe0sreGbfgXKIip5raM0r9ZeJrLrLQ="; + cargoHash = "sha256-TbbXZGToQTH0k6KxpCsjcG/kOFY0c4L/P8QUpDyQ+2E="; nativeBuildInputs = [ pkg-config From 19588114d3819bf7426aecbc8336f4578868effb Mon Sep 17 00:00:00 2001 From: Sebastian Neubauer Date: Wed, 29 Apr 2026 21:38:19 +0200 Subject: [PATCH 116/124] spirv-cross: Fix changelog url --- pkgs/by-name/sp/spirv-cross/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/sp/spirv-cross/package.nix b/pkgs/by-name/sp/spirv-cross/package.nix index c97272ca8d3a..81ba6c313fa8 100644 --- a/pkgs/by-name/sp/spirv-cross/package.nix +++ b/pkgs/by-name/sp/spirv-cross/package.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Tool designed for parsing and converting SPIR-V to other shader languages"; homepage = "https://github.com/KhronosGroup/SPIRV-Cross"; - changelog = "https://github.com/KhronosGroup/SPIRV-Cross/releases/tag/${finalAttrs.version}"; + changelog = "https://github.com/KhronosGroup/SPIRV-Cross/releases/tag/vulkan-sdk-${finalAttrs.version}"; platforms = lib.platforms.all; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ Flakebi ]; From fd2213f71f72dafd0bbf557dce7c3faacbb87447 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 19:40:29 +0000 Subject: [PATCH 117/124] flyctl: 0.4.36 -> 0.4.42 --- pkgs/by-name/fl/flyctl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fl/flyctl/package.nix b/pkgs/by-name/fl/flyctl/package.nix index 693b37b9b691..8a35497c0404 100644 --- a/pkgs/by-name/fl/flyctl/package.nix +++ b/pkgs/by-name/fl/flyctl/package.nix @@ -12,7 +12,7 @@ buildGoModule rec { pname = "flyctl"; - version = "0.4.36"; + version = "0.4.42"; src = fetchFromGitHub { owner = "superfly"; @@ -22,11 +22,11 @@ buildGoModule rec { cd "$out" git rev-parse HEAD > COMMIT ''; - hash = "sha256-WMENTGVwMICIrgMbl31cEaBpznyv3+XFtAhP8AajWyo="; + hash = "sha256-yAzd7bytBKxOBGs8ja48QPVdmJSvRfIzi8K2DoC0O+Y="; }; proxyVendor = true; - vendorHash = "sha256-qGG+xOBe8JLt+F4iTNMEC1XTs5H/rfLtUZO7QXYAaZg="; + vendorHash = "sha256-TUlOdRfexuxC2Of6ZHPYChCr3i1IGapLZz1/lAhnUxk="; subPackages = [ "." ]; From 21d4a6145ba989c5d831584137fe63741c0cdf58 Mon Sep 17 00:00:00 2001 From: paulmiro <30203227+paulmiro@users.noreply.github.com> Date: Mon, 13 Apr 2026 21:31:34 +0200 Subject: [PATCH 118/124] wasistlos: remove project was unmaintained since october 2024, and archived in march 2026 https://github.com/xeco23/WasIstLos --- doc/release-notes/rl-2605.section.md | 3 + pkgs/by-name/wa/wasistlos/package.nix | 84 --------------------------- pkgs/top-level/aliases.nix | 3 +- 3 files changed, 5 insertions(+), 85 deletions(-) delete mode 100644 pkgs/by-name/wa/wasistlos/package.nix diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 625750036eda..bb962fe90445 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -264,6 +264,9 @@ - `python3packages.pillow-avif-plugin` has been removed as the functionality is included in `python3packages.pillow` directly since version 11.3. +- `wasistlos` (previously known as `whatsapp-for-linux`) has been removed because it was unmaintained and archived upstream. + Multiple alternatives exist: `karere`, `whatsie` and `zapzap` among others. + - `light` has been removed because it was unmaintained. `brightnessctl` and `acpilight` provide similar functionality. diff --git a/pkgs/by-name/wa/wasistlos/package.nix b/pkgs/by-name/wa/wasistlos/package.nix deleted file mode 100644 index f8ad1c8468b8..000000000000 --- a/pkgs/by-name/wa/wasistlos/package.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ - fetchFromGitHub, - lib, - stdenv, - cmake, - glib-networking, - gst_all_1, - gtkmm3, - libayatana-appindicator, - libcanberra, - libepoxy, - libpsl, - libdatrie, - libdeflate, - libselinux, - libsepol, - libsysprof-capture, - libthai, - libxkbcommon, - sqlite, - pcre, - pcre2, - pkg-config, - webkitgtk_4_1, - wrapGAppsHook3, - libxtst, - libxdmcp, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "wasistlos"; - version = "1.7.0"; - - src = fetchFromGitHub { - owner = "xeco23"; - repo = "WasIstLos"; - rev = "v${finalAttrs.version}"; - hash = "sha256-h07Qf34unwtyc1VDtCCkukgBDJIvYNgESwAylbsjVsQ="; - }; - - nativeBuildInputs = [ - cmake - pkg-config - wrapGAppsHook3 - ]; - - buildInputs = [ - glib-networking - gst_all_1.gst-libav - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gtkmm3 - libayatana-appindicator - libcanberra - libdatrie - libdeflate - libepoxy - libpsl - libselinux - libsepol - libsysprof-capture - libthai - libxkbcommon - pcre - pcre2 - sqlite - webkitgtk_4_1 - libxdmcp - libxtst - ]; - - meta = { - homepage = "https://github.com/xeco23/WasIstLos"; - description = "Unofficial WhatsApp desktop application"; - mainProgram = "wasistlos"; - license = lib.licenses.gpl3Only; - maintainers = with lib.maintainers; [ bartuka ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - ]; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e44b206eb363..99ff1f723fae 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2132,6 +2132,7 @@ mapAliases { warmux = throw "'warmux' has been removed as it is unmaintained and broken"; # Added 2025-11-03 warsow = throw "'warsow' has been removed as it is unmaintained and is broken"; # Added 2025-10-09 warsow-engine = throw "'warsow-engine' has been removed as it is unmaintained and is broken"; # Added 2025-10-09 + wasistlos = throw "'wasistlos' has been removed because it was unmaintained and archived upstream. Consider using 'karere' instead"; # Added 2026-04-13 wasm-bindgen-cli = wasm-bindgen-cli_0_2_117; wasm-strip = throw "'wasm-strip' has been removed due to upstream deprecation. Use 'wabt' instead."; # Added 2025-11-06 wavebox = throw "'wavebox' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-06-24 @@ -2145,7 +2146,7 @@ mapAliases { webmacs = throw "webmacs has been removed as it was unmaintained upstream"; # Added 2026-02-03 welkin = throw "welkin was removed as it is unmaintained upstream"; # Added 2026-01-01 whalebird = throw "'whalebird' has been removed because it was using an EOL electron version"; # Added 2026-03-20 - whatsapp-for-linux = throw "'whatsapp-for-linux' has been renamed to/replaced by 'wasistlos'"; # Converted to throw 2025-10-27 + whatsapp-for-linux = throw "'whatsapp-for-linux' has been removed because it was unmaintained and archived upstream. Consider using 'karere' instead"; # Converted to throw 2025-10-27 wifi-password = throw "'wifi-password' has been removed as it was unmaintained upstream"; # Added 2025-08-29 win-pvdrivers = throw "'win-pvdrivers' has been removed as it was subject to the Xen build machine compromise (XSN-01) and has open security vulnerabilities (XSA-468)"; # Added 2025-08-29 win-virtio = throw "'win-virtio' has been renamed to/replaced by 'virtio-win'"; # Converted to throw 2025-10-27 From d717f3062faf5995c13735264d0905e3be680149 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 20:22:29 +0000 Subject: [PATCH 119/124] dotenvx: 1.61.5 -> 1.64.0 --- pkgs/by-name/do/dotenvx/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/do/dotenvx/package.nix b/pkgs/by-name/do/dotenvx/package.nix index 5a2c7ca5a3ae..06df698995aa 100644 --- a/pkgs/by-name/do/dotenvx/package.nix +++ b/pkgs/by-name/do/dotenvx/package.nix @@ -7,16 +7,16 @@ buildNpmPackage (finalAttrs: { pname = "dotenvx"; - version = "1.61.5"; + version = "1.64.0"; src = fetchFromGitHub { owner = "dotenvx"; repo = "dotenvx"; tag = "v${finalAttrs.version}"; - hash = "sha256-yyAlEgIbPQocPnZvDbmK2MIYpglESkQGMYE7PmJDdEM="; + hash = "sha256-Xa3xtDzvSbgba083R2g3vV8Jtv86NMEbZ/EhYxmGsKA="; }; - npmDepsHash = "sha256-YQ3b7Fm33Mfp2l2LQ/+iYal+iBTZn5v7lUyZ2geY46A="; + npmDepsHash = "sha256-WeqODrueKqDFvIsXHlzWhHSdqPY/uS+VM+wCp69LN9M="; dontNpmBuild = true; From 119b8aff7ba1730276a120c02a9da3ba339b1a81 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 20:54:16 +0000 Subject: [PATCH 120/124] pvz-portable-unwrapped: 0.1.21 -> 0.1.22 --- pkgs/by-name/pv/pvz-portable-unwrapped/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pv/pvz-portable-unwrapped/package.nix b/pkgs/by-name/pv/pvz-portable-unwrapped/package.nix index 1b889af2b0f5..574d0119e319 100644 --- a/pkgs/by-name/pv/pvz-portable-unwrapped/package.nix +++ b/pkgs/by-name/pv/pvz-portable-unwrapped/package.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "pvz-portable-unwrapped"; - version = "0.1.21"; + version = "0.1.22"; src = fetchFromGitHub { owner = "wszqkzqk"; repo = "PvZ-Portable"; tag = finalAttrs.version; - hash = "sha256-4CtO62cwNzQ32DE70F8kKFHy7tOsRLpDsgyrBS00C/g="; + hash = "sha256-H+YY2jTnsbnPzRhiOBqzzkVNJsFzoT6hMZpOTnB5mtA="; }; nativeBuildInputs = [ From 670e4c21d7756a14c1ed233af92a75c168328f60 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 29 Apr 2026 20:55:14 +0000 Subject: [PATCH 121/124] pvzge: 0.8.1 -> 0.8.2 --- pkgs/by-name/pv/pvzge/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pv/pvzge/package.nix b/pkgs/by-name/pv/pvzge/package.nix index 8fd5d34e0ea5..61bdf577cdcb 100644 --- a/pkgs/by-name/pv/pvzge/package.nix +++ b/pkgs/by-name/pv/pvzge/package.nix @@ -14,13 +14,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "pvzge"; - version = "0.8.1"; + version = "0.8.2"; src = fetchFromGitHub { owner = "Gzh0821"; repo = "pvzge_web"; tag = "v${finalAttrs.version}"; - hash = "sha256-juo+kM7IK+e3qPHH+V+/1D0NqQiZfXYEtvX940dLarQ="; + hash = "sha256-lCYkkFIis6roWicsU7SN1YzHFQbAdLkkRl6JHasQa8E="; }; iconSrc = fetchurl { From b79689652e4b78696a26bf3ffa9d8d991af0b3d8 Mon Sep 17 00:00:00 2001 From: Miroslav Valov <91765698+mivalov@users.noreply.github.com> Date: Wed, 29 Apr 2026 23:15:35 +0200 Subject: [PATCH 122/124] google-chrome: 147.0.7727.116 -> 147.0.7727.137 https://chromereleases.googleblog.com/2026/04/stable-channel-update-for-desktop_28.html --- pkgs/by-name/go/google-chrome/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index aaae75769c2a..d0e5d88d145d 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -184,11 +184,11 @@ let linux = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "147.0.7727.116"; + version = "147.0.7727.137"; src = fetchurl { url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-f4lIdknIXTTv3yxvs754n6/a01h5xxWWOvnjwQcIPnw="; + hash = "sha256-2QKA8nk+O10cGr0gGOMSlLkxpO+WHFG1yul9a3VGq64="; }; # With strictDeps on, some shebangs were not being patched correctly @@ -302,11 +302,11 @@ let darwin = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "147.0.7727.117"; + version = "147.0.7727.138"; src = fetchurl { - url = "http://dl.google.com/release2/chrome/hlfggraqploqe3bea7acbi5wei_147.0.7727.117/GoogleChrome-147.0.7727.117.dmg"; - hash = "sha256-GCdZAiqNSDcC6qgsJGS5renRrl3kLoH4X9VHX7aLXTw="; + url = "http://dl.google.com/release2/chrome/ackheqvxll25dzx6s76qfgpa4oxa_147.0.7727.138/GoogleChrome-147.0.7727.138.dmg"; + hash = "sha256-1WOkBxAs79ByJ3quXgh+ZR64ysIE2/2wMeIhl3sYh5o="; }; dontPatch = true; From 969ed2bc64e3f9be1fac6955f52593be95e5a6c4 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Thu, 30 Apr 2026 01:34:08 +0200 Subject: [PATCH 123/124] perlPackages.Plack: 1.0050 -> 1.0053 Also disables Plack::Middleware::XSendfile due to CVE-2026-7381. The feature can be enabled by setting PLACK_ENABLE_INSECURE_XSENDFILE=1 --- ...ile-disable-by-default-CVE-2026-7381.patch | 31 +++++++++++++++++++ pkgs/top-level/perl-packages.nix | 7 +++-- 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/perl-modules/Plack-xsendfile-disable-by-default-CVE-2026-7381.patch diff --git a/pkgs/development/perl-modules/Plack-xsendfile-disable-by-default-CVE-2026-7381.patch b/pkgs/development/perl-modules/Plack-xsendfile-disable-by-default-CVE-2026-7381.patch new file mode 100644 index 000000000000..32244e52ac8c --- /dev/null +++ b/pkgs/development/perl-modules/Plack-xsendfile-disable-by-default-CVE-2026-7381.patch @@ -0,0 +1,31 @@ +diff --git a/lib/Plack/Middleware/XSendfile.pm b/lib/Plack/Middleware/XSendfile.pm +index f2cd859..f96ccb5 100644 +--- a/lib/Plack/Middleware/XSendfile.pm ++++ b/lib/Plack/Middleware/XSendfile.pm +@@ -10,7 +10,11 @@ use Plack::Util::Accessor qw( variation ); + + sub new { + my $class = shift; +- Carp::carp("Plack::Middleware::XSendfile is deprecated and will be removed in a future release"); ++ unless (($ENV{PLACK_ENABLE_INSECURE_XSENDFILE} // '') eq '1') { ++ Carp::croak( ++ "CVE-2026-7381: Plack::Middleware::XSendfile is disabled by default. Set PLACK_ENABLE_INSECURE_XSENDFILE=1 to enable" ++ ); ++ } + $class->SUPER::new(@_); + } + +diff --git a/t/Plack-Middleware/xsendfile.t b/t/Plack-Middleware/xsendfile.t +index f1a02fa..248815e 100644 +--- a/t/Plack-Middleware/xsendfile.t ++++ b/t/Plack-Middleware/xsendfile.t +@@ -6,6 +6,9 @@ use Plack::Builder; + use Plack::Test; + use Cwd; + ++# CVE-2026-7381: Insecure feature disabled by default, but enable for tests ++$ENV{PLACK_ENABLE_INSECURE_XSENDFILE} = 1; ++ + sub is_wo_case($$;$) { + is lc $_[0], lc $_[1], $_[2]; + } diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 80435757abc5..7a721c264822 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -28193,10 +28193,10 @@ with self; Plack = buildPerlPackage { pname = "Plack"; - version = "1.0050"; + version = "1.0053"; src = fetchurl { - url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0050.tar.gz"; - hash = "sha256-0mUa3oLrv/er4KOhifyTLa3Ed5GGzolGjlbQGJ6qbtQ="; + url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0053.tar.gz"; + hash = "sha256-QPxEA0wWTpr3DdCP++5AjCQwLsDbMQ0pAd9xdTuxZ9o="; }; buildInputs = [ AuthenSimplePasswd @@ -28226,6 +28226,7 @@ with self; TryTiny ]; patches = [ + ../development/perl-modules/Plack-xsendfile-disable-by-default-CVE-2026-7381.patch ../development/perl-modules/Plack-test-replace-DES-hash-with-bcrypt.patch ]; meta = { From 108d65727eac6df74d2bab06122e253846dc44aa Mon Sep 17 00:00:00 2001 From: Matt Moriarity Date: Wed, 29 Apr 2026 17:39:40 -0600 Subject: [PATCH 124/124] nixos/fish: fix documentation eval error `config.system.build.manual` being present requires both `config.documentation.enable` and `config.documentation.nixos.enable` to be true, so this check needs to match that. --- nixos/modules/programs/fish.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix index 979001725413..86c29477ebcc 100644 --- a/nixos/modules/programs/fish.nix +++ b/nixos/modules/programs/fish.nix @@ -302,7 +302,9 @@ in fi ''; packages = - if config.documentation.nixos.enable && config.documentation.man.enable then + if + config.documentation.enable && config.documentation.nixos.enable && config.documentation.man.enable + then builtins.filter (pkg: pkg != config.system.build.manual.nixos-configuration-reference-manpage) ( cfge.systemPackages ++ cfg.extraCompletionPackages )