From a906f78565efcf4547078334e3911de7942fb2d8 Mon Sep 17 00:00:00 2001 From: chillcicada <2210227279@qq.com> Date: Mon, 9 Feb 2026 13:55:07 +0800 Subject: [PATCH 01/30] aasvg-rs: init at 1.0.0 --- pkgs/by-name/aa/aasvg-rs/package.nix | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 pkgs/by-name/aa/aasvg-rs/package.nix diff --git a/pkgs/by-name/aa/aasvg-rs/package.nix b/pkgs/by-name/aa/aasvg-rs/package.nix new file mode 100644 index 000000000000..1331b8135e05 --- /dev/null +++ b/pkgs/by-name/aa/aasvg-rs/package.nix @@ -0,0 +1,26 @@ +{ + lib, + rustPlatform, + fetchCrate, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "aasvg-rs"; + version = "1.0.0"; + + src = fetchCrate { + inherit (finalAttrs) version; + pname = "aasvg-cli"; + hash = "sha256-0qGCXHSCTg2yXLxREOfY7lOA3ZQCNFvST6GTBIsG/f4="; + }; + + cargoHash = "sha256-zl3IPKKG738cr1Au4Vw9SRstgOp57hM/JhPRNl0VsII="; + + meta = { + description = "CLI tool to convert ASCII art diagrams to SVG"; + homepage = "https://github.com/bearcove/aasvg-rs"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ chillcicada ]; + mainProgram = "aasvg"; + }; +}) From 0e0ef46ea0897a0d6c5a34c21437e899e98a28bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Kokosi=C5=84ski?= Date: Tue, 24 Feb 2026 23:24:11 +0100 Subject: [PATCH 02/30] ubootRaspberryPiAarch64: init --- pkgs/misc/uboot/default.nix | 6 ++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 7 insertions(+) diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 78abd41049ac..c259637c0d05 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -752,6 +752,12 @@ in filesToInstall = [ "u-boot.bin" ]; }; + ubootRaspberryPiAarch64 = buildUBoot { + defconfig = "rpi_arm64_defconfig"; + extraMeta.platforms = [ "aarch64-linux" ]; + filesToInstall = [ "u-boot.bin" ]; + }; + ubootRaspberryPi2 = buildUBoot { defconfig = "rpi_2_defconfig"; extraMeta.platforms = [ "armv7l-linux" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1741a298f230..dc974ab5749a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9072,6 +9072,7 @@ with pkgs; ubootQuartz64B ubootRadxaZero3W ubootRaspberryPi + ubootRaspberryPiAarch64 ubootRaspberryPi2 ubootRaspberryPi3_32bit ubootRaspberryPi3_64bit From 55633938af6286f39a275b2d3015ab7c5d8c7a1b Mon Sep 17 00:00:00 2001 From: Niklas Thorild Date: Sat, 14 Mar 2026 12:42:53 +0100 Subject: [PATCH 03/30] qidi-studio: 2.04.01.11 > 2.05.01.52 --- pkgs/by-name/qi/qidi-studio/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/qi/qidi-studio/package.nix b/pkgs/by-name/qi/qidi-studio/package.nix index dea95d34063b..78e70b4c62cd 100644 --- a/pkgs/by-name/qi/qidi-studio/package.nix +++ b/pkgs/by-name/qi/qidi-studio/package.nix @@ -7,11 +7,11 @@ }: let pname = "qidi-studio"; - version = "2.04.01.11"; + version = "2.05.01.52"; src = fetchurl { url = "https://github.com/QIDITECH/QIDIStudio/releases/download/v${version}/QIDIStudio_v0${version}_Ubuntu24.AppImage"; - hash = "sha256-+Uj0S4BOASST+3MqcFNdW1dBQeMxNC5btMUiNVxFs3g="; + hash = "sha256-ikLqTei2smj++AbzNOOwW5PGy2zxmdAvXUQJ1YQ4zMU="; }; appimageContents = appimageTools.extract { From ef5ffde8878454d10f03c9d4e5a2bb4a6256bff8 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Mon, 23 Mar 2026 13:12:26 +0100 Subject: [PATCH 04/30] rPackages.*: move env variables into env for structuredAttrs --- pkgs/development/r-modules/default.nix | 92 ++++++++++++++++++-------- 1 file changed, 63 insertions(+), 29 deletions(-) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index e27a1fd17334..a225a5711f59 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -1858,7 +1858,9 @@ let }); vegan3d = old.vegan3d.overrideAttrs (attrs: { - RGL_USE_NULL = "true"; + env = (attrs.env or { }) // { + RGL_USE_NULL = "true"; + }; }); # it can happen that the major version of arrow-cpp is ahead of the @@ -2189,7 +2191,9 @@ let }); nanonext = old.nanonext.overrideAttrs (attrs: { - NIX_LDFLAGS = "-lnng -lmbedtls -lmbedx509 -lmbedcrypto"; + env = (attrs.env or { }) // { + NIX_LDFLAGS = "-lnng -lmbedtls -lmbedx509 -lmbedcrypto"; + }; }); clustermq = old.clustermq.overrideAttrs (attrs: { @@ -2197,7 +2201,9 @@ let }); Cairo = old.Cairo.overrideAttrs (attrs: { - NIX_LDFLAGS = "-lfontconfig"; + env = (attrs.env or { }) // { + NIX_LDFLAGS = "-lfontconfig"; + }; }); curl = old.curl.overrideAttrs (attrs: { @@ -2509,7 +2515,9 @@ let }); RAppArmor = old.RAppArmor.overrideAttrs (attrs: { - LIBAPPARMOR_HOME = pkgs.libapparmor; + env = (attrs.env or { }) // { + LIBAPPARMOR_HOME = pkgs.libapparmor; + }; }); # Append cargo path to path variable @@ -2524,17 +2532,21 @@ let }); RMySQL = old.RMySQL.overrideAttrs (attrs: { - MYSQL_DIR = "${pkgs.libmysqlclient}"; - PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql"; - NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient"; + env = (attrs.env or { }) // { + MYSQL_DIR = "${pkgs.libmysqlclient}"; + PKGCONFIG_CFLAGS = "-I${pkgs.libmysqlclient.dev}/include/mysql"; + NIX_CFLAGS_LINK = "-L${pkgs.libmysqlclient}/lib/mysql -lmysqlclient"; + }; preConfigure = '' patchShebangs configure ''; }); devEMF = old.devEMF.overrideAttrs (attrs: { - NIX_CFLAGS_LINK = "-L${pkgs.libxft.out}/lib -lXft"; - NIX_LDFLAGS = "-lX11"; + env = (attrs.env or { }) // { + NIX_CFLAGS_LINK = "-L${pkgs.libxft.out}/lib -lXft"; + NIX_LDFLAGS = "-lX11"; + }; }); hdf5r = old.hdf5r.overrideAttrs (attrs: { @@ -2542,11 +2554,15 @@ let }); slfm = old.slfm.overrideAttrs (attrs: { - PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + env = (attrs.env or { }) // { + PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + }; }); SamplerCompare = old.SamplerCompare.overrideAttrs (attrs: { - PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + env = (attrs.env or { }) // { + PKG_LIBS = "-L${pkgs.blas}/lib -lblas -L${pkgs.lapack}/lib -llapack"; + }; }); FLAMES = old.FLAMES.overrideAttrs (attrs: { @@ -2557,13 +2573,17 @@ let preConfigure = '' patchShebangs configure ''; - PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; - PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; + PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + }; }); websocket = old.websocket.overrideAttrs (attrs: { - PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; - PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include"; + PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto"; + }; }); Rserve = old.Rserve.overrideAttrs (attrs: { @@ -2594,11 +2614,13 @@ let patchShebangs configure ''; - R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux") ( - pkgs.writeText "Makevars" '' - CXX14PICFLAGS = -fPIC - '' - ); + env = (attrs.env or { }) // { + R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux") ( + pkgs.writeText "Makevars" '' + CXX14PICFLAGS = -fPIC + '' + ); + }; }); acs = old.acs.overrideAttrs (attrs: { @@ -2611,7 +2633,9 @@ let preConfigure = '' patchShebangs configure ''; - NIX_LDFLAGS = "-lfontconfig -lfreetype"; + env = (attrs.env or { }) // { + NIX_LDFLAGS = "-lfontconfig -lfreetype"; + }; }); magick = old.magick.overrideAttrs (attrs: { @@ -2640,7 +2664,9 @@ let preConfigure = '' export TCLLIBPATH="${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}" ''; - TCLLIBPATH = "${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}"; + env = (attrs.env or { }) // { + TCLLIBPATH = "${pkgs.tclPackages.bwidget}/lib/bwidget${pkgs.tclPackages.bwidget.version}"; + }; }); networkscaleup = old.networkscaleup.overrideAttrs (attrs: { @@ -2854,8 +2880,10 @@ let preConfigure = '' patchShebangs configure ''; - PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; - PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz"; + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include"; + PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz"; + }; }); ChemmineOB = old.ChemmineOB.overrideAttrs (attrs: { @@ -3019,7 +3047,9 @@ let ChIPXpress = old.ChIPXpress.override { hydraPlatforms = [ ]; }; rgl = old.rgl.overrideAttrs (attrs: { - RGL_USE_NULL = "true"; + env = (attrs.env or { }) // { + RGL_USE_NULL = "true"; + }; }); Rrdrand = old.Rrdrand.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; @@ -3051,7 +3081,9 @@ let dbarts = old.dbarts.override { platforms = lib.platforms.x86_64 ++ lib.platforms.x86; }; geomorph = old.geomorph.overrideAttrs (attrs: { - RGL_USE_NULL = "true"; + env = (attrs.env or { }) // { + RGL_USE_NULL = "true"; + }; }); gpuMagic = old.gpuMagic.overrideAttrs (_: { @@ -3105,9 +3137,11 @@ let postPatch = "patchShebangs configure"; }); - redland = old.redland.overrideAttrs (_: { - PKGCONFIG_CFLAGS = "-I${pkgs.redland}/include -I${pkgs.librdf_raptor2}/include/raptor2 -I${pkgs.librdf_rasqal}/include/rasqal"; - PKGCONFIG_LIBS = "-L${pkgs.redland}/lib -L${pkgs.librdf_raptor2}/lib -L${pkgs.librdf_rasqal}/lib -lrdf -lraptor2 -lrasqal"; + redland = old.redland.overrideAttrs (attrs: { + env = (attrs.env or { }) // { + PKGCONFIG_CFLAGS = "-I${pkgs.redland}/include -I${pkgs.librdf_raptor2}/include/raptor2 -I${pkgs.librdf_rasqal}/include/rasqal"; + PKGCONFIG_LIBS = "-L${pkgs.redland}/lib -L${pkgs.librdf_raptor2}/lib -L${pkgs.librdf_rasqal}/lib -lrdf -lraptor2 -lrasqal"; + }; }); textshaping = old.textshaping.overrideAttrs (attrs: { From fa4524b57529982e233f56e3f7954b9eb2bfc6b4 Mon Sep 17 00:00:00 2001 From: Xiangyan Sun Date: Sun, 22 Mar 2026 19:25:30 -0700 Subject: [PATCH 05/30] cadabra2: fix build with boost 1.89 --- pkgs/by-name/ca/cadabra2/package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cadabra2/package.nix b/pkgs/by-name/ca/cadabra2/package.nix index 772f78309549..8f2db33d4b22 100644 --- a/pkgs/by-name/ca/cadabra2/package.nix +++ b/pkgs/by-name/ca/cadabra2/package.nix @@ -41,14 +41,14 @@ assert lib.assertMsg ( stdenv.mkDerivation (finalAttrs: { pname = "cadabra2"; - version = "2.5.14"; + version = "2.5.14-p1"; src = fetchFromGitHub { owner = "kpeeters"; repo = "cadabra2"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-lQ/xGxWa126EzxDIsXoi3brnECcXLXxzzUizLpRjZOg="; + hash = "sha256-Pbk9SmJ64CZ+yxMj53JpxULBQye2ETDi8xNKw38cC9k="; }; postPatch = '' @@ -118,7 +118,8 @@ stdenv.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; - doInstallCheck = !enableBuildAsCppLibrary; + #doInstallCheck = !enableBuildAsCppLibrary; + doInstallCheck = false; # FIXME: remove this line and uncomment the above after next release passthru.updateScript = nix-update-script { }; From 96efcef001df60020a085d705bc20167e3539e62 Mon Sep 17 00:00:00 2001 From: kuflierl <41301536+kuflierl@users.noreply.github.com> Date: Fri, 27 Mar 2026 01:38:50 +0100 Subject: [PATCH 06/30] fceux: fix build with minizip 1.3.2 --- .../0001-fix-build-with-minizip-1.3.2.patch | 39 +++++++++++++++++++ pkgs/by-name/fc/fceux/package.nix | 4 ++ 2 files changed, 43 insertions(+) create mode 100644 pkgs/by-name/fc/fceux/0001-fix-build-with-minizip-1.3.2.patch diff --git a/pkgs/by-name/fc/fceux/0001-fix-build-with-minizip-1.3.2.patch b/pkgs/by-name/fc/fceux/0001-fix-build-with-minizip-1.3.2.patch new file mode 100644 index 000000000000..3701c37f0fee --- /dev/null +++ b/pkgs/by-name/fc/fceux/0001-fix-build-with-minizip-1.3.2.patch @@ -0,0 +1,39 @@ +From 8c648b4a68e5ebadb4d0f08728e44078954cebae Mon Sep 17 00:00:00 2001 +From: kuflierl <41301536+kuflierl@users.noreply.github.com> +Date: Fri, 27 Mar 2026 01:28:17 +0100 +Subject: [PATCH] fix: build with minizip 1.3.2 + +--- + src/drivers/Qt/AboutWindow.cpp | 2 +- + src/drivers/Qt/fceuWrapper.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/drivers/Qt/AboutWindow.cpp b/src/drivers/Qt/AboutWindow.cpp +index 025cf360..5638a3c1 100644 +--- a/src/drivers/Qt/AboutWindow.cpp ++++ b/src/drivers/Qt/AboutWindow.cpp +@@ -23,7 +23,7 @@ + #include + #include + #include +-#include ++#include + + #ifdef _S9XLUA_H + #include +diff --git a/src/drivers/Qt/fceuWrapper.cpp b/src/drivers/Qt/fceuWrapper.cpp +index 8d241258..5e48eaf7 100644 +--- a/src/drivers/Qt/fceuWrapper.cpp ++++ b/src/drivers/Qt/fceuWrapper.cpp +@@ -23,7 +23,7 @@ + #include + #include + #include +-#include ++#include + + #include + #include +-- +2.51.2 + diff --git a/pkgs/by-name/fc/fceux/package.nix b/pkgs/by-name/fc/fceux/package.nix index bc75054d3b11..efae4a449559 100644 --- a/pkgs/by-name/fc/fceux/package.nix +++ b/pkgs/by-name/fc/fceux/package.nix @@ -40,6 +40,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-2QDiAk2HO9oQ1gNvc7QFZSCbWkCDYW5OJWT8f4bmXyg="; }; + patches = [ + ./0001-fix-build-with-minizip-1.3.2.patch + ]; + nativeBuildInputs = [ cmake pkg-config From ab90e57470e8dee36f8164ca88e7340f3eac0623 Mon Sep 17 00:00:00 2001 From: Tom Herbers Date: Sat, 28 Mar 2026 17:10:16 +0100 Subject: [PATCH 07/30] nixos/incus: add useACMEHost option --- nixos/modules/virtualisation/incus.nix | 31 ++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index 1b8908d0d3d6..cd49fc870e0f 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -7,6 +7,9 @@ let cfg = config.virtualisation.incus; + + acmeHostDir = config.security.acme.certs."${cfg.useACMEHost}".directory; + preseedFormat = pkgs.formats.yaml { }; nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers); @@ -292,6 +295,17 @@ in package = lib.mkPackageOption pkgs [ "incus-ui-canonical" ] { }; }; + useACMEHost = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "incus.example.com"; + description = '' + Host of an existing Let's Encrypt certificate to use for TLS. + *Note that this option does not create any certificates and it + doesn't add subdomains to existing ones – you will need to create + them manually using {option}`security.acme.certs`.* + ''; + }; }; }; @@ -391,6 +405,10 @@ in ''; }; + security.acme.certs = lib.mkIf (cfg.useACMEHost != null) { + "${cfg.useACMEHost}".reloadServices = [ "incus.service" ]; + }; + systemd.services.incus = { description = "Incus Container and Virtual Machine Management Daemon"; @@ -402,7 +420,8 @@ in "lxcfs.service" "incus.socket" ] - ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ]; + ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ] + ++ lib.optionals (cfg.useACMEHost != null) [ "acme-${cfg.useACMEHost}.service" ]; requires = [ "lxcfs.service" @@ -410,7 +429,10 @@ in ] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ]; - wants = [ "network-online.target" ]; + wants = [ + "network-online.target" + ] + ++ lib.optionals (cfg.useACMEHost != null) [ "acme-${cfg.useACMEHost}.service" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/incusd --group incus-admin"; @@ -427,6 +449,11 @@ in Restart = "on-failure"; TimeoutStartSec = "${cfg.startTimeout}s"; TimeoutStopSec = "30s"; + + BindReadOnlyPaths = lib.mkIf (cfg.useACMEHost != null) [ + "${acmeHostDir}/fullchain.pem:/var/lib/incus/server.crt" + "${acmeHostDir}/key.pem:/var/lib/incus/server.key" + ]; }; }; From d7028fff144fe34325bdb2b573da2270c0a93174 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 29 Mar 2026 09:47:25 +0000 Subject: [PATCH 08/30] ruffle: 0.2.0-nightly-2026-03-20 -> 0.2.0-nightly-2026-03-29 --- pkgs/by-name/ru/ruffle/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/ruffle/package.nix b/pkgs/by-name/ru/ruffle/package.nix index 371e39805b12..4217f00b0a57 100644 --- a/pkgs/by-name/ru/ruffle/package.nix +++ b/pkgs/by-name/ru/ruffle/package.nix @@ -27,13 +27,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruffle"; - version = "0.2.0-nightly-2026-03-20"; + version = "0.2.0-nightly-2026-03-29"; src = fetchFromGitHub { owner = "ruffle-rs"; repo = "ruffle"; tag = lib.strings.removePrefix "0.2.0-" finalAttrs.version; - hash = "sha256-CONx48SDjHu22AXasIMwCpD+s6+6Tsr8+XtderuQzpM="; + hash = "sha256-QJorW1H0pmaa546L0Qk0EayjegA9ObhLwbBgPOccUOM="; }; postPatch = @@ -49,7 +49,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "OpenH264Version(${major}, ${minor}, ${patch})" ''; - cargoHash = "sha256-LfGZuTDkfz0Wn9O8t474Y9US85ewWMPx7qPBjK9gFg8="; + cargoHash = "sha256-WsygyqL8o+cRiHhrVj51F2hOws9wLDr/g0werSXv/i4="; cargoBuildFlags = lib.optional withRuffleTools "--workspace"; env = From 9549a995a354011a407ce9762f7ef9674ae490af Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 29 Mar 2026 12:29:54 +0000 Subject: [PATCH 09/30] gendef: 11.0.1 -> 14.0.0 --- pkgs/by-name/ge/gendef/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ge/gendef/package.nix b/pkgs/by-name/ge/gendef/package.nix index 93144d850708..0c1a0f70ce92 100644 --- a/pkgs/by-name/ge/gendef/package.nix +++ b/pkgs/by-name/ge/gendef/package.nix @@ -6,12 +6,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "gendef"; - version = "11.0.1"; + version = "14.0.0"; src = fetchgit { url = "https://git.code.sf.net/p/mingw-w64/mingw-w64.git"; rev = "v${finalAttrs.version}"; - hash = "sha256-0vbAHSN+uwxoXXZtbuycP67PxjcB8Ftxd/Oij1gqE3Y="; + hash = "sha256-ZhbY/RvTBI8ELSe0D7uzWi13sspgNZhdYg4LLK0JRng="; }; sourceRoot = "${finalAttrs.src.name}/mingw-w64-tools/gendef"; From f26b02478f1240ba05c4bf3a743ca0e89ebae78b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 29 Mar 2026 12:35:44 +0000 Subject: [PATCH 10/30] dosbox-x: 2026.01.02 -> 2026.03.29 --- pkgs/by-name/do/dosbox-x/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/do/dosbox-x/package.nix b/pkgs/by-name/do/dosbox-x/package.nix index 402e0f6b927c..11e401c74bee 100644 --- a/pkgs/by-name/do/dosbox-x/package.nix +++ b/pkgs/by-name/do/dosbox-x/package.nix @@ -27,13 +27,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dosbox-x"; - version = "2026.01.02"; + version = "2026.03.29"; src = fetchFromGitHub { owner = "joncampbell123"; repo = "dosbox-x"; rev = "dosbox-x-v${finalAttrs.version}"; - hash = "sha256-/1DACDf530rzxeLVMLGkB3n6d3d8sN/ci8Q3kHAtZJo="; + hash = "sha256-hOP+hmvVCdFSqXnD6+6OVIQ7allEidKt9W9AT704htA="; }; # sips is unavailable in sandbox, replacing with imagemagick breaks build due to wrong Foundation propagation(?) so don't generate resolution variants From ccd012cc69d4893948c7980031f0f9156ef3369b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 29 Mar 2026 08:50:03 -0700 Subject: [PATCH 11/30] poetry: 2.3.2 -> 2.3.3 Diff: https://github.com/python-poetry/poetry/compare/2.3.2...2.3.3 Changelog: https://github.com/python-poetry/poetry/blob/2.3.3/CHANGELOG.md --- pkgs/by-name/po/poetry/package.nix | 4 ++-- pkgs/by-name/po/poetry/unwrapped.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/po/poetry/package.nix b/pkgs/by-name/po/poetry/package.nix index f31d862dd5b3..6e9ad66cb18c 100644 --- a/pkgs/by-name/po/poetry/package.nix +++ b/pkgs/by-name/po/poetry/package.nix @@ -18,12 +18,12 @@ let # We keep the override around even when the versions match, as # it's likely to become relevant again after the next Poetry update. poetry-core = super.poetry-core.overridePythonAttrs (old: rec { - version = "2.3.1"; + version = "2.3.2"; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry-core"; tag = version; - hash = "sha256-gGXAPdFnrS/T7xvw8rpzI/7nW0bXdUiZnPeEwDgtWuQ="; + hash = "sha256-Rv6JCHsqu5rRvihGaUFcRk/NUT90bnIUM01QxUUkxh4="; }; }); } diff --git a/pkgs/by-name/po/poetry/unwrapped.nix b/pkgs/by-name/po/poetry/unwrapped.nix index 950ffddc7302..cbea33c31a17 100644 --- a/pkgs/by-name/po/poetry/unwrapped.nix +++ b/pkgs/by-name/po/poetry/unwrapped.nix @@ -35,14 +35,14 @@ buildPythonPackage rec { pname = "poetry"; - version = "2.3.2"; + version = "2.3.3"; pyproject = true; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry"; tag = version; - hash = "sha256-zJ7HA/NNBh9gy0WUXTxKBUsC74Yt+ANZuBxMrQrS6XU="; + hash = "sha256-+8zVe2JeQbbqmKOydQw1tZM2PYa5H/5ImBcVpoxYC5w="; }; build-system = [ From 5edc8f4a83ed7bfb8fc0b9a65aec469e401a190e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 29 Mar 2026 09:05:29 -0700 Subject: [PATCH 12/30] poetryPlugins.poetry-plugin-export: 1.9.0-unstable-2025-09-14 -> 1.10.0 Diff: https://github.com/python-poetry/poetry-plugin-export/compare/70a2f386a52687adee7353b51e59dd45aa319ee7...1.10.0 Changelog: https://github.com/python-poetry/poetry-plugin-export/blob/1.10.0/CHANGELOG.md --- pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix index 2e7ed72134c2..f1d0c2b50e52 100644 --- a/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix +++ b/pkgs/by-name/po/poetry/plugins/poetry-plugin-export.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "poetry-plugin-export"; - version = "1.9.0-unstable-2025-09-14"; + version = "1.10.0"; pyproject = true; src = fetchFromGitHub { owner = "python-poetry"; repo = "poetry-plugin-export"; - rev = "70a2f386a52687adee7353b51e59dd45aa319ee7"; + tag = version; hash = "sha256-KsvkM4hjG+jrdPVauXYdc6E87Gp7srMg/mJHpWRjaEs="; }; @@ -36,7 +36,7 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/python-poetry/poetry-plugin-export/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/python-poetry/poetry-plugin-export/blob/${src.tag}/CHANGELOG.md"; description = "Poetry plugin to export the dependencies to various formats"; license = lib.licenses.mit; homepage = "https://github.com/python-poetry/poetry-plugin-export"; From d6392921e5351120b2ab60c6a55ed0db45c54372 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sun, 29 Mar 2026 19:45:36 +0200 Subject: [PATCH 13/30] steamcmd: Use stdenvNoCC instead of stdenv Compiler and linker are not required, so use stdenvNoCC. Signed-off-by: Felix Singer --- pkgs/by-name/st/steamcmd/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/st/steamcmd/package.nix b/pkgs/by-name/st/steamcmd/package.nix index 2b64fbd0c596..f0eb5045bf14 100644 --- a/pkgs/by-name/st/steamcmd/package.nix +++ b/pkgs/by-name/st/steamcmd/package.nix @@ -1,6 +1,6 @@ { lib, - stdenv, + stdenvNoCC, fetchurl, steam-run, coreutils, @@ -24,12 +24,12 @@ let }; }; in -stdenv.mkDerivation { +stdenvNoCC.mkDerivation { pname = "steamcmd"; version = "20180104"; # According to steamcmd_linux.tar.gz mtime src = - srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + srcs.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); # The source tarball does not have a single top-level directory. preUnpack = '' @@ -49,7 +49,7 @@ stdenv.mkDerivation { --subst-var out \ --subst-var-by coreutils ${coreutils} \ --subst-var-by steamRoot '${steamRoot}' \ - --subst-var-by steamRun ${if stdenv.hostPlatform.isLinux then (lib.getExe steam-run) else "exec"} + --subst-var-by steamRun ${if stdenvNoCC.hostPlatform.isLinux then (lib.getExe steam-run) else "exec"} chmod 0755 $out/bin/steamcmd ''; From 754b26fbe0ab07b478b92587df8dca11e7e41a99 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Sun, 29 Mar 2026 19:51:06 +0200 Subject: [PATCH 14/30] steamcmd: Apply nixfmt Signed-off-by: Felix Singer --- pkgs/by-name/st/steamcmd/package.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/st/steamcmd/package.nix b/pkgs/by-name/st/steamcmd/package.nix index f0eb5045bf14..e3448c0b65ea 100644 --- a/pkgs/by-name/st/steamcmd/package.nix +++ b/pkgs/by-name/st/steamcmd/package.nix @@ -29,7 +29,8 @@ stdenvNoCC.mkDerivation { version = "20180104"; # According to steamcmd_linux.tar.gz mtime src = - srcs.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); + srcs.${stdenvNoCC.hostPlatform.system} + or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); # The source tarball does not have a single top-level directory. preUnpack = '' @@ -49,7 +50,9 @@ stdenvNoCC.mkDerivation { --subst-var out \ --subst-var-by coreutils ${coreutils} \ --subst-var-by steamRoot '${steamRoot}' \ - --subst-var-by steamRun ${if stdenvNoCC.hostPlatform.isLinux then (lib.getExe steam-run) else "exec"} + --subst-var-by steamRun ${ + if stdenvNoCC.hostPlatform.isLinux then (lib.getExe steam-run) else "exec" + } chmod 0755 $out/bin/steamcmd ''; From cf078c3015f14ac87a753d68f451889f93df6c2d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 29 Mar 2026 18:43:45 +0000 Subject: [PATCH 15/30] snouty: 0.3.3 -> 0.3.5 --- pkgs/by-name/sn/snouty/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sn/snouty/package.nix b/pkgs/by-name/sn/snouty/package.nix index 70100e9c23c1..db382182dbd5 100644 --- a/pkgs/by-name/sn/snouty/package.nix +++ b/pkgs/by-name/sn/snouty/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "snouty"; - version = "0.3.3"; + version = "0.3.5"; src = fetchFromGitHub { owner = "antithesishq"; repo = "snouty"; tag = "v${finalAttrs.version}"; - hash = "sha256-ScE+Er8k86N6zmEnVEpxWPnW6g6Gyy1TA+2HNGZmqgE="; + hash = "sha256-lE0SHk2pkWPAMRI8seBhP4lMVyruhF8DKW/LSRkqcRw="; }; - cargoHash = "sha256-I/pXyX4Z+tGqVbFjog+GzXJYnBwpyYZsc0lvlBOdT/Q="; + cargoHash = "sha256-b5FVhF+MVexf8ZV3+pUomzCA8fq1Un0g51aLg1muxRM="; nativeBuildInputs = [ installShellFiles From 5f99649caefd0559ed1db1b2cfbeece99f4bdd4f Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Sun, 29 Mar 2026 21:17:59 +0200 Subject: [PATCH 16/30] samba: fix nmbd crash by disabling strictflexarrays1 hardening --- pkgs/servers/samba/4.x.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index 8828a1ec1bfb..a0a6052ed342 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -277,6 +277,8 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; + hardeningDisable = [ "strictflexarrays1" ]; + preBuild = '' export MAKEFLAGS="-j $NIX_BUILD_CORES" ''; From 7eb98ccddeae3a91c7698cf7ab2f15551e20fb03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 29 Mar 2026 19:47:14 -0700 Subject: [PATCH 17/30] python3Packages.approvaltests: 17.4.0 -> 17.4.1 Diff: https://github.com/approvals/ApprovalTests.Python/compare/v17.4.0...v17.4.1 Changelog: https://github.com/approvals/ApprovalTests.Python/releases/tag/v17.4.1 --- pkgs/development/python-modules/approvaltests/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix index b6483affaf55..efa2eff09e36 100644 --- a/pkgs/development/python-modules/approvaltests/default.nix +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "approvaltests"; - version = "17.4.0"; + version = "17.4.1"; pyproject = true; src = fetchFromGitHub { owner = "approvals"; repo = "ApprovalTests.Python"; tag = "v${version}"; - hash = "sha256-Xtgzz5Z0tkwr9EmiYs8Nt/MUTvJ8sysySMp8QJnr33A="; + hash = "sha256-8JOd1JRwJS+y5Eh/an0RrGtwBZMPW/ziGTRd1H9Sveo="; }; postPatch = '' From d30f86e69c3f33e40536fbd754b2461648968d8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 29 Mar 2026 21:59:36 -0700 Subject: [PATCH 18/30] python3Packages.unstructured-client: 0.42.9 -> 0.42.12 Diff: https://github.com/Unstructured-IO/unstructured-python-client/compare/v0.42.9...v0.42.12 Changelog: https://github.com/Unstructured-IO/unstructured-python-client/blob/v0.42.12/RELEASES.md --- .../unstructured-client/default.nix | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/unstructured-client/default.nix b/pkgs/development/python-modules/unstructured-client/default.nix index 1b2d0a98b7cb..7959204b7581 100644 --- a/pkgs/development/python-modules/unstructured-client/default.nix +++ b/pkgs/development/python-modules/unstructured-client/default.nix @@ -3,32 +3,30 @@ buildPythonPackage, cryptography, deepdiff, - eval-type-backport, fetchFromGitHub, + httpcore, httpx, lib, - nest-asyncio, poetry-core, pydantic, pypdf, + pypdfium2, pytest-asyncio, pytestCheckHook, python, - python-dateutil, requests-toolbelt, - typing-inspection, }: buildPythonPackage (finalAttrs: { pname = "unstructured-client"; - version = "0.42.9"; + version = "0.42.12"; pyproject = true; src = fetchFromGitHub { owner = "Unstructured-IO"; repo = "unstructured-python-client"; tag = "v${finalAttrs.version}"; - hash = "sha256-+neZK7I5qjidLlM298TrVl5mGFBdGZdxAdFaJIf0tNk="; + hash = "sha256-xuaGvQEu1QpLn33AUgdWW120pVVNVPL08U/SCA7kGvc="; }; preBuild = '' @@ -44,14 +42,12 @@ buildPythonPackage (finalAttrs: { dependencies = [ aiofiles cryptography - eval-type-backport + httpcore httpx - nest-asyncio pydantic pypdf - python-dateutil + pypdfium2 requests-toolbelt - typing-inspection ]; pythonImportsCheck = [ "unstructured_client" ]; From eb09ede136f95a5fd7434248510ac0584d1fc97e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 30 Mar 2026 17:45:41 +0000 Subject: [PATCH 19/30] homebridge: 1.11.3 -> 1.11.4 --- pkgs/by-name/ho/homebridge/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ho/homebridge/package.nix b/pkgs/by-name/ho/homebridge/package.nix index da43e6534191..06c9b8eb95b8 100644 --- a/pkgs/by-name/ho/homebridge/package.nix +++ b/pkgs/by-name/ho/homebridge/package.nix @@ -7,16 +7,16 @@ buildNpmPackage (finalAttrs: { pname = "homebridge"; - version = "1.11.3"; + version = "1.11.4"; src = fetchFromGitHub { owner = "homebridge"; repo = "homebridge"; tag = "v${finalAttrs.version}"; - hash = "sha256-Hr4pwWsISj4zde5DNOVSciZr1xJmL7M0wG2GU62ZDk4="; + hash = "sha256-usp7zszkEfGsWXApywAolFhG0i59Pr/IvvaBMeU7YHc="; }; - npmDepsHash = "sha256-LPCaqJGMeX8PaGwxfLnxQ5hdNycaE9nUMIU3LM6PHkg="; + npmDepsHash = "sha256-Ci5aIDIEchB0niORK2cRy06qObLplCSogo6wRVXv9Vs="; # Homebridge's clean phase attempts to install rimraf directly, which fails in nix builds # rimraf is already in the declared dependencies, so we just don't need to do it. From 281af84a012d1b88d7f325a7ef1cc1869c21a3f1 Mon Sep 17 00:00:00 2001 From: redianthus Date: Mon, 30 Mar 2026 18:28:35 +0200 Subject: [PATCH 20/30] owi: 0.2-unstable-2026-01-29 -> 0.2-unstable-2026-03-16 ocamlPackages.symex: 0.1 -> 0.2 ocamlPackages.smtml: 0.20.0 -> 0.24.0 --- pkgs/by-name/ow/owi/package.nix | 18 +++++++++++------- .../ocaml-modules/smtml/default.nix | 8 ++++++-- .../ocaml-modules/symex/default.nix | 4 ++-- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/ow/owi/package.nix b/pkgs/by-name/ow/owi/package.nix index 5d55e5f57e2b..e707ef8698af 100644 --- a/pkgs/by-name/ow/owi/package.nix +++ b/pkgs/by-name/ow/owi/package.nix @@ -11,18 +11,18 @@ }: let - ocamlPackages = ocaml-ng.ocamlPackages_5_3; + ocamlPackages = ocaml-ng.ocamlPackages_5_4; in ocamlPackages.buildDunePackage { pname = "owi"; - version = "0.2-unstable-2026-01-29"; + version = "0.2-unstable-2026-03-16"; src = fetchFromGitHub { owner = "ocamlpro"; repo = "owi"; - rev = "07b96ef58021810352caceffbadf2d614785bb0d"; + rev = "7fb7af27025501c732d8dda903865b47bc5d4901"; fetchSubmodules = true; - hash = "sha256-vVTAoPWfjbX4c3AXxh4C2igig5LiMLZMpLmLSjLcxgo="; + hash = "sha256-aRNJiW6UTcpJU3fIcEQB3gujmAxsp2dwR1hFeWJrhzs="; }; nativeBuildInputs = with ocamlPackages; [ @@ -39,11 +39,15 @@ ocamlPackages.buildDunePackage { ]; buildInputs = with ocamlPackages; [ + dune-build-info + dune-site + ]; + + propagatedBuildInputs = with ocamlPackages; [ bos cmdliner digestif - dune-build-info - dune-site + domainpc menhirLib ocaml_intrinsics ocamlgraph @@ -52,11 +56,11 @@ ocamlPackages.buildDunePackage { scfg sedlex smtml + symex synchronizer uutf xmlm yojson - z3 ]; postInstall = '' diff --git a/pkgs/development/ocaml-modules/smtml/default.nix b/pkgs/development/ocaml-modules/smtml/default.nix index bc1f9d6ec47f..70887215bfe1 100644 --- a/pkgs/development/ocaml-modules/smtml/default.nix +++ b/pkgs/development/ocaml-modules/smtml/default.nix @@ -11,6 +11,7 @@ dolmen_model, dolmen_type, dune-build-info, + dune-site, fpath, hc, menhirLib, @@ -18,6 +19,7 @@ # fix eval on legacy ocaml versions ocaml_intrinsics ? null, prelude, + ppx_enumerate, scfg, yojson, z3, @@ -28,13 +30,13 @@ buildDunePackage (finalAttrs: { pname = "smtml"; - version = "0.20.0"; + version = "0.24.0"; src = fetchFromGitHub { owner = "formalsec"; repo = "smtml"; tag = "v${finalAttrs.version}"; - hash = "sha256-VnkF+bZXeqaj9LSpyzqH5AM9EQsrW4Rlj5kvyTfYTKE="; + hash = "sha256-9499a8ngL8rTeyhWumn08ZjymD8zOMyyG0ZgjVITSPQ="; }; minimalOCamlVersion = "4.14"; @@ -45,6 +47,7 @@ buildDunePackage (finalAttrs: { buildInputs = [ dune-build-info + dune-site ]; propagatedBuildInputs = [ @@ -58,6 +61,7 @@ buildDunePackage (finalAttrs: { menhirLib mtime ocaml_intrinsics + ppx_enumerate prelude scfg yojson diff --git a/pkgs/development/ocaml-modules/symex/default.nix b/pkgs/development/ocaml-modules/symex/default.nix index 38f3405c521d..b9ab401cefbb 100644 --- a/pkgs/development/ocaml-modules/symex/default.nix +++ b/pkgs/development/ocaml-modules/symex/default.nix @@ -9,13 +9,13 @@ buildDunePackage (finalAttrs: { pname = "symex"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "ocamlpro"; repo = "symex"; tag = finalAttrs.version; - hash = "sha256-jKwFtxVcBD8Y1bfKRB8Z/MSeQLQWKvk00i8HqodkBbM="; + hash = "sha256-KX+OHiCsAHEw0kBWLUDVakIcshUNXLYjm2f2le75Mj8="; }; propagatedBuildInputs = [ From 5c2f3aad94b6d57f23035b5d8fb857e99e579fec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 30 Mar 2026 20:41:25 +0000 Subject: [PATCH 21/30] ft2-clone: 2.12 -> 2.13 --- pkgs/by-name/ft/ft2-clone/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ft/ft2-clone/package.nix b/pkgs/by-name/ft/ft2-clone/package.nix index 0a67b87541e6..977bd9b44dff 100644 --- a/pkgs/by-name/ft/ft2-clone/package.nix +++ b/pkgs/by-name/ft/ft2-clone/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ft2-clone"; - version = "2.12"; + version = "2.13"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${finalAttrs.version}"; - hash = "sha256-Ca4vp2uEF7rZJ+0lAmVqC/6F+2CgbDLK2GkbG5Tn//0="; + hash = "sha256-Ieu7dxNEPz2DVKTfo2sitvtvAeKMCu3EiF6/PKrgETs="; }; nativeBuildInputs = [ cmake ]; From b5c40c9b5f6cea7338cee571b53782a5eb8997f5 Mon Sep 17 00:00:00 2001 From: John Chadwick Date: Mon, 30 Mar 2026 19:16:39 -0400 Subject: [PATCH 22/30] wlroots_0_20: fix dupe lcms2 dependency --- pkgs/development/libraries/wlroots/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 130abdcbbb5b..57b0bc594df3 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitLab, - fetchpatch, meson, ninja, pkg-config, @@ -176,8 +175,5 @@ in wlroots_0_20 = generic { version = "0.20.0"; hash = "sha256-hVJlJiJK6+9RkgkmQzUzb8ypVMqsNhbQG6KfeCvxtb0="; - extraBuildInputs = [ - lcms2 - ]; }; } From 011756b62f6b55c6558d7870e714315736946c00 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 00:50:45 +0000 Subject: [PATCH 23/30] redumper: 705 -> 706 --- pkgs/by-name/re/redumper/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/redumper/package.nix b/pkgs/by-name/re/redumper/package.nix index ede24baca36a..f3eadcedd86a 100644 --- a/pkgs/by-name/re/redumper/package.nix +++ b/pkgs/by-name/re/redumper/package.nix @@ -9,13 +9,13 @@ # redumper is using C++ modules, this requires latest C++20 compiler and build tools llvmPackages.libcxxStdenv.mkDerivation (finalAttrs: { pname = "redumper"; - version = "705"; + version = "706"; src = fetchFromGitHub { owner = "superg"; repo = "redumper"; tag = "b${finalAttrs.version}"; - hash = "sha256-g824KEdIK/B1DtNPe09AL839DTKeE3xy+NbI1DOkm+U="; + hash = "sha256-RPs5zfDMeXqOKsldlvdAbHM3XO36ezXou5YYxpw7jAo="; }; nativeBuildInputs = [ From 00631322349715914db5b193b413706922282341 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 00:55:16 +0000 Subject: [PATCH 24/30] telegraf: 1.38.1 -> 1.38.2 --- pkgs/by-name/te/telegraf/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/telegraf/package.nix b/pkgs/by-name/te/telegraf/package.nix index 67bfc17284fd..c0d07830169f 100644 --- a/pkgs/by-name/te/telegraf/package.nix +++ b/pkgs/by-name/te/telegraf/package.nix @@ -10,7 +10,7 @@ buildGoModule (finalAttrs: { pname = "telegraf"; - version = "1.38.1"; + version = "1.38.2"; subPackages = [ "cmd/telegraf" ]; @@ -18,10 +18,10 @@ buildGoModule (finalAttrs: { owner = "influxdata"; repo = "telegraf"; rev = "v${finalAttrs.version}"; - hash = "sha256-DKDKEYKm4vlyamGHLE1kPFYBgsZDvkzCGEmqBQ6/VIE="; + hash = "sha256-EfT3uxUTRvAlZcIsm7zDn+6znE7UG+N0yBoGM5Fl8eo="; }; - vendorHash = "sha256-1fsyqCsxABDB4ZBAjshRo+GPtG70CEVu/mWzMoDjhjc="; + vendorHash = "sha256-Ir9/JjnwfrxlF7oCTpsn/e+8UxdZJgCZM2SW3y2h1Rg="; proxyVendor = true; ldflags = [ From 80d7a8f4b5cca9d163bee2786117d1e4dd030f99 Mon Sep 17 00:00:00 2001 From: Jademalo <386846+Jademalo@users.noreply.github.com> Date: Tue, 31 Mar 2026 02:13:38 +0100 Subject: [PATCH 25/30] pay-respects: fix modules not building and strip api keys --- pkgs/by-name/pa/pay-respects/package.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/by-name/pa/pay-respects/package.nix b/pkgs/by-name/pa/pay-respects/package.nix index c5fde5b4aaf9..197d964065f0 100644 --- a/pkgs/by-name/pa/pay-respects/package.nix +++ b/pkgs/by-name/pa/pay-respects/package.nix @@ -17,6 +17,23 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-dCZGPIipSotcA7DT3VvTCYq8+DxWHi5cp/fwh/44Jwc="; + env = { + _DEF_PR_AI_API_KEY = ""; + _DEF_PR_AI_URL = ""; + _DEF_PR_AI_MODEL = ""; + }; + + cargoBuildFlags = [ + "-p pay-respects" + "-p pay-respects-module-runtime-rules" + "-p pay-respects-module-request-ai" + ]; + cargoTestFlags = [ + "-p pay-respects" + "-p pay-respects-module-runtime-rules" + "-p pay-respects-module-request-ai" + ]; + nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; From 852987500b8fb90e8a8c5956c87240c2e587888b Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Sat, 28 Mar 2026 20:32:51 +0530 Subject: [PATCH 26/30] nixosTests.mitmproxy: fix certificate location passed to curl Broken since - https://hydra.nixos.org/build/322094860 (logs missing) - https://hydra.nixos.org/build/323032381 (next run with logs) https://hydra.nixos.org/job/nixos/unstable/nixos.tests.mitmproxy.x86_64-linux/all Signed-off-by: phanirithvij --- nixos/tests/mitmproxy.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/mitmproxy.nix b/nixos/tests/mitmproxy.nix index 1a3d98d7fcf2..334085463a20 100644 --- a/nixos/tests/mitmproxy.nix +++ b/nixos/tests/mitmproxy.nix @@ -86,7 +86,7 @@ in '' def curl(command: str, proxy: bool = False): if proxy: - command = "curl --proxy 127.0.0.1:8080 --cacert ~/.mitmproxy/mitmproxy-ca-cert.pem " + command + command = "curl --proxy 127.0.0.1:8080 --cacert ~/.mitmproxy/mitmproxy-ca.pem " + command else: command = "curl " + command return machine.succeed(command) From a469aa29b0e2bb829ebdcf916a5e39294bb900be Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Wed, 11 Mar 2026 09:23:08 -0700 Subject: [PATCH 27/30] shelfmark: init at 1.2.0 Self-hosted web interface for searching and downloading books and audiobooks from multiple sources. This packages the lite variant, which relies on an external Cloudflare bypass (e.g. FlareSolverr). https://github.com/calibrain/shelfmark --- .../by-name/sh/shelfmark-frontend/package.nix | 25 +++++ pkgs/by-name/sh/shelfmark/package.nix | 96 +++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 pkgs/by-name/sh/shelfmark-frontend/package.nix create mode 100644 pkgs/by-name/sh/shelfmark/package.nix diff --git a/pkgs/by-name/sh/shelfmark-frontend/package.nix b/pkgs/by-name/sh/shelfmark-frontend/package.nix new file mode 100644 index 000000000000..d8f448281fe8 --- /dev/null +++ b/pkgs/by-name/sh/shelfmark-frontend/package.nix @@ -0,0 +1,25 @@ +{ + buildNpmPackage, + shelfmark, +}: + +buildNpmPackage (finalAttrs: { + pname = "shelfmark-frontend"; + inherit (shelfmark) version src; + + sourceRoot = "${finalAttrs.src.name}/src/frontend"; + + npmDepsHash = "sha256-RAzotFGj0FGpfF7iyB5f2fdKFvMLcpJx142yplRwboU="; + + installPhase = '' + runHook preInstall + cp -r dist $out + runHook postInstall + ''; + + meta = { + description = "Shelfmark frontend"; + homepage = "https://github.com/calibrain/shelfmark/tree/main/src/frontend"; + inherit (shelfmark.meta) changelog license maintainers; + }; +}) diff --git a/pkgs/by-name/sh/shelfmark/package.nix b/pkgs/by-name/sh/shelfmark/package.nix new file mode 100644 index 000000000000..464e4755bef4 --- /dev/null +++ b/pkgs/by-name/sh/shelfmark/package.nix @@ -0,0 +1,96 @@ +{ + lib, + stdenv, + fetchFromGitHub, + python3Packages, + makeWrapper, + nixosTests, + shelfmark-frontend, + unrar-free, +}: + +let + pythonDeps = with python3Packages; [ + flask + flask-cors + flask-socketio + python-socketio + requests + pysocks + defusedxml + beautifulsoup4 + tqdm + dnspython + gunicorn + gevent + gevent-websocket + psutil + emoji + rarfile + qbittorrent-api + transmission-rpc + authlib + apprise + ]; +in +stdenv.mkDerivation (finalAttrs: { + pname = "shelfmark"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "calibrain"; + repo = "shelfmark"; + tag = "v${finalAttrs.version}"; + hash = "sha256-t4t7je7Y/aezx/EX7paJIcsCq5qyZeU/+mPLeZ8oTPg="; + }; + + nativeBuildInputs = [ + python3Packages.wrapPython + makeWrapper + ]; + + pythonPath = pythonDeps; + + installPhase = '' + runHook preInstall + + wrapPythonPrograms + + mkdir -p $out/libexec $out/bin + + cp -r shelfmark $out/libexec/shelfmark + cp -r data $out/libexec/data + ln -s ${finalAttrs.passthru.frontend} $out/libexec/frontend-dist + + makeWrapper ${python3Packages.python.interpreter} $out/bin/shelfmark \ + --prefix PATH : ${ + lib.makeBinPath [ + python3Packages.python + unrar-free + ] + } \ + --set PYTHONPATH "$out/libexec:$program_PYTHONPATH" \ + --set USING_EXTERNAL_BYPASSER true \ + --add-flags "-m gunicorn.app.wsgiapp --worker-class geventwebsocket.gunicorn.workers.GeventWebSocketWorker --workers 1 -t 300 shelfmark.main:app" + + runHook postInstall + ''; + + passthru = { + frontend = shelfmark-frontend.override { + shelfmark = finalAttrs.finalPackage; + }; + tests = { + inherit (nixosTests) shelfmark; + }; + }; + + meta = { + description = "Self-hosted web interface for searching and downloading books and audiobooks"; + homepage = "https://github.com/calibrain/shelfmark"; + changelog = "https://github.com/calibrain/shelfmark/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + mainProgram = "shelfmark"; + }; +}) From 3757b61622b8087d7d17198c5ed012f697016e26 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Wed, 11 Mar 2026 09:23:16 -0700 Subject: [PATCH 28/30] nixos/shelfmark: init module Adds a NixOS service module with DynamicUser, configurable host/port, data and ingest directories, environment variable passthrough, and systemd hardening (per NixOS/nixpkgs#377827). --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/shelfmark.nix | 131 ++++++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 nixos/modules/services/misc/shelfmark.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index df81fa95aca2..3347adb1d145 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -957,6 +957,7 @@ ./services/misc/servarr/sonarr.nix ./services/misc/servarr/whisparr.nix ./services/misc/serviio.nix + ./services/misc/shelfmark.nix ./services/misc/shoko.nix ./services/misc/sickbeard.nix ./services/misc/snapper.nix diff --git a/nixos/modules/services/misc/shelfmark.nix b/nixos/modules/services/misc/shelfmark.nix new file mode 100644 index 000000000000..ebdaf812dbf1 --- /dev/null +++ b/nixos/modules/services/misc/shelfmark.nix @@ -0,0 +1,131 @@ +{ + lib, + pkgs, + config, + ... +}: +let + cfg = config.services.shelfmark; +in +{ + options.services.shelfmark = { + + enable = lib.mkEnableOption "Shelfmark, a self-hosted book and audiobook search and download interface"; + + package = lib.mkPackageOption pkgs "shelfmark" { }; + + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Open the appropriate ports in the firewall for Shelfmark."; + }; + + environment = lib.mkOption { + type = lib.types.submodule { + freeformType = lib.types.attrsOf lib.types.str; + options = { + FLASK_HOST = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + example = "0.0.0.0"; + description = "The IP address to bind the Shelfmark server to."; + }; + + FLASK_PORT = lib.mkOption { + type = lib.types.port; + default = 8084; + apply = toString; + description = "TCP port for the Shelfmark web interface."; + }; + + ENABLE_LOGGING = lib.mkOption { + type = lib.types.bool; + apply = toString; + default = false; + description = "Whether to enable file logging. Disabled by default since systemd captures console output via journald."; + }; + + CONFIG_DIR = lib.mkOption { + type = lib.types.path; + default = "/var/lib/shelfmark"; + description = "Directory for Shelfmark configuration, database, and artwork cache."; + }; + }; + }; + default = { }; + example = { + SEARCH_MODE = "universal"; + LOG_LEVEL = "DEBUG"; + }; + description = '' + Environment variables to pass to the Shelfmark service. + See + for available options. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + + systemd.services.shelfmark = { + description = "Shelfmark - book and audiobook search and download interface"; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + inherit (cfg) environment; + serviceConfig = { + DynamicUser = true; + ExecStart = "${lib.getExe cfg.package} -b ${cfg.environment.FLASK_HOST}:${cfg.environment.FLASK_PORT}"; + StateDirectory = "shelfmark"; + + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + PrivateDevices = true; + PrivateMounts = true; + ProtectControlGroups = true; + ProtectKernelTunables = true; + RestrictSUIDSGID = true; + RemoveIPC = true; + UMask = "0077"; + + CapabilityBoundingSet = [ "" ]; + NoNewPrivileges = true; + + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectClock = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + + PrivateUsers = true; + + LockPersonality = true; + ProtectHostname = true; + RestrictRealtime = true; + RestrictNamespaces = true; + ProtectProc = "invisible"; + ProcSubset = "pid"; + DeviceAllow = [ "" ]; + }; + }; + + networking.firewall = lib.mkIf cfg.openFirewall { + allowedTCPPorts = [ (lib.toInt cfg.environment.FLASK_PORT) ]; + }; + }; + + meta = { + maintainers = with lib.maintainers; [ jamiemagee ]; + }; +} From e1df3ce76bd07bb43ee5c1a92e620bf121b5d953 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Wed, 11 Mar 2026 09:23:21 -0700 Subject: [PATCH 29/30] nixos/tests/shelfmark: init Starts the service and checks that /api/health responds. --- nixos/tests/all-tests.nix | 1 + nixos/tests/shelfmark.nix | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 nixos/tests/shelfmark.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a6963a6ef6f4..badad067fe11 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1461,6 +1461,7 @@ in shadps4 = runTest ./shadps4.nix; sharkey = runTest ./web-apps/sharkey.nix; shattered-pixel-dungeon = runTest ./shattered-pixel-dungeon.nix; + shelfmark = runTest ./shelfmark.nix; shiori = runTest ./shiori.nix; shoko = import ./shoko.nix { inherit runTest; }; signal-desktop = runTest ./signal-desktop.nix; diff --git a/nixos/tests/shelfmark.nix b/nixos/tests/shelfmark.nix new file mode 100644 index 000000000000..da91edce5f97 --- /dev/null +++ b/nixos/tests/shelfmark.nix @@ -0,0 +1,20 @@ +{ lib, ... }: +{ + name = "shelfmark"; + meta.maintainers = with lib.maintainers; [ jamiemagee ]; + + nodes.machine = { + services.shelfmark = { + enable = true; + environment.FLASK_HOST = "0.0.0.0"; + }; + }; + + testScript = '' + machine.wait_for_unit("shelfmark.service") + machine.wait_for_open_port(8084) + + with subtest("Health endpoint responds"): + machine.succeed("curl --fail http://localhost:8084/api/health") + ''; +} From 84414411b1a4d4f95d8d148b233a5434f4cc83bb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 04:53:20 +0000 Subject: [PATCH 30/30] terraform-providers.cloudposse_utils: 2.4.0 -> 2.5.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index f8e831c0bb03..44916dd4f2fe 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -219,13 +219,13 @@ "vendorHash": "sha256-6MKWpiDq4yI3mfIJyzEsWLa7gi0+DScI5jKcOcM6Qs0=" }, "cloudposse_utils": { - "hash": "sha256-Fjb+9NG+p+oTvKziRYHaNdAZaUv8Rs/FYLXmtwrfkOI=", + "hash": "sha256-Pf2UHxGEacmtIlSIKACC0MULAZMj5EGKq2q8Tsv79F8=", "homepage": "https://registry.terraform.io/providers/cloudposse/utils", "owner": "cloudposse", "repo": "terraform-provider-utils", - "rev": "v2.4.0", + "rev": "v2.5.0", "spdx": "Apache-2.0", - "vendorHash": "sha256-LNsJygeBSpY4xawhWfIcYOB0TEVK4DMeyiSgyn8PJ2A=" + "vendorHash": "sha256-F4vFlhpPQUa1q7cFfjRooK4krISfpPxdj8uhvDmZQuY=" }, "cloudscale-ch_cloudscale": { "hash": "sha256-Ynuyn0L5B7d81WXEHoTI03zFzlEP3LGY4yQIl/WBr/8=",