From 0239196dc63f2ee8a8cc447a5022eb21775dda1e Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Tue, 21 Jul 2026 10:42:19 +0200 Subject: [PATCH 01/31] nixos/tests/nixos-rebuild-target-host: fix guest networking Seems to have been broken for a while now... https://hydra.nixos.org/job/nixos/unstable/nixos.tests.nixos-rebuild-target-host.x86_64-linux/all --- nixos/tests/nixos-rebuild-target-host.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/tests/nixos-rebuild-target-host.nix b/nixos/tests/nixos-rebuild-target-host.nix index ae872a205a0e..7245dbc1c0bd 100644 --- a/nixos/tests/nixos-rebuild-target-host.nix +++ b/nixos/tests/nixos-rebuild-target-host.nix @@ -116,6 +116,7 @@ { lib, modulesPath, ... }: { imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") + (modulesPath + "/virtualisation/guest-networking-options.nix") (modulesPath + "/testing/test-instrumentation.nix") (modulesPath + "/../tests/common/user-account.nix") (lib.modules.importJSON ./target-configuration.json) From 5b7a4c7b977430dbdb25a8b2243a5901db0cbbc4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 13 Aug 2026 05:03:22 +0000 Subject: [PATCH 02/31] odamex: 12.2.0 -> 12.3.0 --- pkgs/by-name/od/odamex/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/od/odamex/package.nix b/pkgs/by-name/od/odamex/package.nix index b98c575dda8f..972b7a209065 100644 --- a/pkgs/by-name/od/odamex/package.nix +++ b/pkgs/by-name/od/odamex/package.nix @@ -43,13 +43,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "odamex"; - version = "12.2.0"; + version = "12.3.0"; src = fetchFromGitHub { owner = "odamex"; repo = "odamex"; tag = finalAttrs.version; - hash = "sha256-cRQtY4C0gjzheE4cG8aPjzAoPf/Hm05a6tidsbce7uM="; + hash = "sha256-JT8flyIEHfCejJnRd+bpUGKNAM746i51EuTItLho5WE="; fetchSubmodules = true; }; From edcf7f6b56c1aeeb6054fe740c7b9ae244e6281e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 6 Sep 2026 05:03:03 +0000 Subject: [PATCH 03/31] cockpit: 366 -> 367 --- pkgs/by-name/co/cockpit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix index 75d89cb1a158..f1069d6d4de8 100644 --- a/pkgs/by-name/co/cockpit/package.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -54,13 +54,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "cockpit"; - version = "366"; + version = "367"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit"; tag = finalAttrs.version; - hash = "sha256-WyV6I8u83ETVLmjJ7Mjh0D1cLY+RQkxGAIMTkRfy3T0="; + hash = "sha256-TWB39cnhU9zgr/FP4FfXEzdMEnjXOs/HamYjSXLVadY="; fetchSubmodules = true; }; From c5a3b4fb26ace55d6ef07543f7ebe516b04042b5 Mon Sep 17 00:00:00 2001 From: Henri Menke Date: Mon, 14 Sep 2026 21:33:33 +0200 Subject: [PATCH 04/31] zellij: de-vendor libssh2 --- pkgs/by-name/ze/zellij-unwrapped/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ze/zellij-unwrapped/package.nix b/pkgs/by-name/ze/zellij-unwrapped/package.nix index ba2ccf797c50..9e00367bd95f 100644 --- a/pkgs/by-name/ze/zellij-unwrapped/package.nix +++ b/pkgs/by-name/ze/zellij-unwrapped/package.nix @@ -6,6 +6,7 @@ installShellFiles, pkg-config, curl, + libssh2, openssl, writableTmpDirAsHomeHook, versionCheckHook, @@ -38,6 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-rCK7FyAUIjUq6dxEw9YBaGm29xYvlYjX0b1xHU03XVU="; + env.LIBSSH2_SYS_USE_PKG_CONFIG = 1; env.OPENSSL_NO_VENDOR = 1; nativeBuildInputs = [ @@ -48,6 +50,7 @@ rustPlatform.buildRustPackage (finalAttrs: { buildInputs = [ curl + libssh2 openssl ]; From 4970144519634f834f571ab4fecf8272cdc2d965 Mon Sep 17 00:00:00 2001 From: zazedd Date: Wed, 16 Sep 2026 14:46:58 +0100 Subject: [PATCH 05/31] farmhash: init at 1.1.0-unstable-2019-05-13 --- pkgs/by-name/fa/farmhash/package.nix | 34 +++++++++++++++++++ .../sp/speech-to-phrase/stt-onlyprobs.nix | 12 ++----- 2 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 pkgs/by-name/fa/farmhash/package.nix diff --git a/pkgs/by-name/fa/farmhash/package.nix b/pkgs/by-name/fa/farmhash/package.nix new file mode 100644 index 000000000000..233ecdc36440 --- /dev/null +++ b/pkgs/by-name/fa/farmhash/package.nix @@ -0,0 +1,34 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: + +stdenv.mkDerivation { + pname = "farmhash"; + version = "1.1.0-unstable-2019-05-13"; + + src = fetchFromGitHub { + owner = "google"; + repo = "farmhash"; + rev = "0d859a811870d10f53a594927d0d0b97573ad06d"; + hash = "sha256-J0AhHVOvPFT2SqvQ+evFiBoVfdHthZSBXzAhUepARfA="; + }; + + strictDeps = true; + __structuredAttrs = true; + + nativeBuildInputs = [ autoreconfHook ]; + configureFlags = [ "--enable-shared" ]; + env.CXXFLAGS = "-std=c++14"; + + doCheck = true; + + meta = { + description = "Family of hash functions from Google"; + homepage = "https://github.com/google/farmhash"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix b/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix index 5ba23843cb28..524d13440df5 100644 --- a/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix +++ b/pkgs/by-name/sp/speech-to-phrase/stt-onlyprobs.nix @@ -6,6 +6,7 @@ cmake, cpuinfo, eigen, + farmhash, fetchFromGitHub, fp16, lib, @@ -13,15 +14,6 @@ }: let - # https://github.com/coqui-ai/tensorflow/blob/f8242ebc005f6195b67d58349724e608d4fe45da/tensorflow/lite/tools/cmake/modules/farmhash.cmake#L22 - farmhash = fetchFromGitHub { - name = "farmhash-source"; - owner = "google"; - repo = "farmhash"; - rev = "0d859a811870d10f53a594927d0d0b97573ad06d"; - hash = "sha256-J0AhHVOvPFT2SqvQ+evFiBoVfdHthZSBXzAhUepARfA="; - }; - # https://github.com/coqui-ai/tensorflow/blob/f8242ebc005f6195b67d58349724e608d4fe45da/tensorflow/lite/tools/cmake/modules/fft2d.cmake#L22 fft2d = fetchFromGitHub { name = "fft2d-source"; @@ -118,7 +110,7 @@ stdenv.mkDerivation { (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CLOG" "${cpuinfo.src}") (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_CPUINFO" "${cpuinfo.src}") (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_EIGEN" "/build/eigen") - (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FARMHASH" "${farmhash}") + (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FARMHASH" "${farmhash.src}") (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FFT2D" "${fft2d}") (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_FLATBUFFERS" "${flatbuffers}") (lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_GEMMLOWP" "${gemmlowp}") From bb38e6d120b8d0fa345888636c596d3048ae22e8 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Sat, 13 Sep 2025 00:21:38 +0200 Subject: [PATCH 06/31] gophernicus: init at 3.1.1 Co-authored-by: George Huebner --- pkgs/by-name/go/gophernicus/package.nix | 120 ++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 pkgs/by-name/go/gophernicus/package.nix diff --git a/pkgs/by-name/go/gophernicus/package.nix b/pkgs/by-name/go/gophernicus/package.nix new file mode 100644 index 000000000000..c0ac349bd9bc --- /dev/null +++ b/pkgs/by-name/go/gophernicus/package.nix @@ -0,0 +1,120 @@ +{ + lib, + stdenv, + buildPackages, + fetchFromGitHub, + gnused, + systemdMinimal, + systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdMinimal, + xinetd, + xinetdSupport ? lib.meta.availableOn stdenv.hostPlatform xinetd, + versionCheckHook, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gophernicus"; + version = "3.1.1"; + + src = fetchFromGitHub { + owner = "gophernicus"; + repo = "gophernicus"; + tag = finalAttrs.version; + hash = "sha256-pweiUiMmLXiyF9NMxvcWfJPH6JiGRlpT4chJiRGh9vg="; + }; + + postPatch = '' + substituteInPlace README.md \ + --replace-warn 'DEVEL' '${finalAttrs.version}' + + substituteInPlace src/gophernicus.h \ + --replace-fail 'SAFE_PATH "/usr/bin:/bin"' 'SAFE_PATH "/usr/bin:/bin:/run/gophernicus/bin"' + + substituteInPlace init/gophernicus.xinetd.in \ + --replace-fail ' -h@HOSTNAME@' ''' + + substituteInPlace init/gophernicus.env.in \ + --replace-fail '-h @HOSTNAME@ ' ''' + + substituteInPlace init/org.gophernicus.server.plist.in \ + --replace-fail '${"\t\t"}-h@HOSTNAME@${"\n"}' ''' \ + --replace-fail '/usr/local/sbin' '${placeholder "out"}/sbin' + + substituteInPlace init/gophernicus@.service.in \ + --replace-fail 'User=nobody' ''' + + substituteInPlace Makefile.in \ + --replace-fail \ + '$(INSTALL) -s' \ + '$(INSTALL) -s --strip-program=${stdenv.cc.targetPrefix}strip' \ + --replace-fail \ + '$(INSTALL) -m 644 init/$(PLIST) $(DESTDIR)$(LAUNCHD)' \ + '$(INSTALL) -Dm 644 -t $(DESTDIR)$(LAUNCHD) init/$(PLIST)' + + sed -E -i '/^\s+(chown|chmod)/d' Makefile.in + ''; + + configurePlatforms = [ ]; + dontAddStaticConfigureFlags = true; + configureFlags = [ + "--prefix=/" + "--gopherroot=/share/gophernicus/gopher" + "--os=${ + if stdenv.hostPlatform.isDarwin then + "mac" + else if stdenv.hostPlatform.isLinux then + "linux" + else if stdenv.hostPlatform.isBSD then + "freebsd" + else + "autodetected" + }" + ] + ++ lib.optionals systemdSupport [ + "--listener=systemd" + ] + ++ lib.optionals xinetdSupport [ + "--listener=xinetd" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + "--listener=mac" + ]; + + env = lib.optionalAttrs (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) { + HOSTCC = "${buildPackages.stdenv.cc}/bin/cc"; + CC = "${stdenv.cc.targetPrefix}cc"; + }; + + makeFlags = [ + "DESTDIR=${placeholder "out"}" + ]; + + strictDeps = true; + __structuredAttrs = true; + + installTargets = [ + "install" + ] + ++ lib.optionals systemdSupport [ + "install-systemd" + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "-v"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Modern full-featured (and hopefully) secure gopher daemon"; + homepage = "https://gophernicus.org/"; + changelog = "https://github.com/gophernicus/gophernicus/blob/${finalAttrs.src.tag}/changelog"; + license = lib.licenses.bsd2; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ + felixalbrigtsen + h7x4 + ]; + mainProgram = "gophernicus"; + }; +}) From e4c7d977153965496cbe73ff5631ca6a1118b347 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Sat, 13 Sep 2025 13:53:48 +0200 Subject: [PATCH 07/31] nixos/gophernicus: init --- .../manual/release-notes/rl-2611.section.md | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/gophernicus.nix | 229 ++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/gophernicus.nix | 117 +++++++++ pkgs/by-name/go/gophernicus/package.nix | 6 +- 6 files changed, 355 insertions(+), 1 deletion(-) create mode 100644 nixos/modules/services/misc/gophernicus.nix create mode 100644 nixos/tests/gophernicus.nix diff --git a/nixos/doc/manual/release-notes/rl-2611.section.md b/nixos/doc/manual/release-notes/rl-2611.section.md index 0d70a142390c..4304d368b046 100644 --- a/nixos/doc/manual/release-notes/rl-2611.section.md +++ b/nixos/doc/manual/release-notes/rl-2611.section.md @@ -92,6 +92,8 @@ - [gocron](https://github.com/flohoss/gocron), a task scheduler with web interface. Available as [services.gocron](#opt-services.gocron.enable). +- [gophernicus](https://github.com/gophernicus/gophernicus), a modern gopher daemon. Available at [services.gophernicus](#opt-services.gophernicus.enable). + - [Unpackerr](https://unpackerr.zip), extracts downloads for Radarr, Sonarr, Lidarr, Readarr, and/or a Watch folder. Available as [services.unpackerr](#opt-services.unpackerr.enable). - [ioquake3](https://ioquake3.org), a open-source port of the 3D action shooter Quake 3 Arena. Available as [programs.ioquake3](#opt-programs.ioquake3.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 744cdbf19ad2..fc268ee92bca 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -911,6 +911,7 @@ ./services/misc/gitolite.nix ./services/misc/gitweb.nix ./services/misc/gollum.nix + ./services/misc/gophernicus.nix ./services/misc/gotenberg.nix ./services/misc/gpsd.nix ./services/misc/graphical-desktop.nix diff --git a/nixos/modules/services/misc/gophernicus.nix b/nixos/modules/services/misc/gophernicus.nix new file mode 100644 index 000000000000..c3f83228d641 --- /dev/null +++ b/nixos/modules/services/misc/gophernicus.nix @@ -0,0 +1,229 @@ +{ + config, + options, + pkgs, + lib, + ... +}: +let + cfg = config.services.gophernicus; + opt = options.services.gophernicus; +in +{ + options.services.gophernicus = { + enable = lib.mkEnableOption "gophernicus, a modern gopher daemon"; + package = lib.mkPackageOption pkgs "gophernicus" { }; + + domain = lib.mkOption { + type = lib.types.str; + description = "A DNS-resolvable domain pointing to this machine or a reverse proxy redirecting here."; + example = "gopher.example.com"; + }; + + path = lib.mkOption { + type = lib.types.listOf lib.types.package; + description = '' + Packages with content in {file}`/bin` that should be available to gophernicus. + + This will be provided as {env}`PATH` to both gophermaps, cgi scripts and filters. + ''; + default = with pkgs; [ + coreutils + gnused + whoami + bash + php + perl + ]; + defaultText = lib.literalExpression '' + with pkgs; [ + coreutils + gnused + whoami + bash + php + perl + ] + ''; + }; + + filters = lib.mkOption { + type = lib.types.attrsOf lib.types.pathInStore; + description = "Executables that should be registered as preprocessing filters."; + default = { }; + example = lib.literalExpression '' + { + # Files with the `.txt` extension should be preprocessed with `my-filter` + txt = pkgs.writeShellScript "my-filter" ''' + echo "To whom it may concern..." + # First argument is the path of the file being filtered + cat "$1" + echo "Best regards, server owner" + '''; + # Files with the `.php` extension should automatically be rendered by php + php = "''${pkgs.php}/bin/php"; + } + ''; + }; + + rootDir = lib.mkOption { + type = lib.types.path; + description = '' + The directory which contains the root of your gopher content. + + Note that you might want to disable {option}`services.gophernicus.enableDefaultRootIndex` if you are + modifying the contents of your root directory. + ''; + default = "/var/lib/gophernicus/gopher"; + example = lib.literalExpression '' + pkgs.symlinkJoin { + name = "gophernicus-root-dir"; + paths = [ + (pkgs.writeTextDir "gophermap" ''' + iHello! + + 1Misc\tmisc + ''') + (pkgs.writeTextDir "misc/info.txt" ''' + World + ''') + ]; + } + ''; + }; + + enableDefaultRootIndex = lib.mkOption { + type = lib.types.bool; + description = "Whether to enable the example gophermap shipped with gophernicus as the default root index."; + default = true; + example = false; + }; + + enableUserDirs = lib.mkOption { + type = lib.types.bool; + description = "Whether to host content from {file}`~/public_gopher` in user home directories."; + default = true; + example = false; + }; + + listenStreams = lib.mkOption { + description = '' + Which sockets to bind to. + + See {option}`systemd.sockets.«name».listenStreams`. + ''; + type = lib.types.listOf lib.types.str; + default = [ "127.0.0.1:70" ]; + example = [ "/run/gophernicus/gophernicus.sock" ]; + }; + + extraArgs = lib.mkOption { + description = '' + Extra commandline arguments to pass to {command}`gophernicus`. + + See {manpage}`gophernicus(8)` for available arguments. + ''; + type = lib.types.attrsOf lib.types.anything; + default = { }; + example = { + u = "gopher_stuff"; + w = 80; + np = true; + nx = true; + }; + }; + }; + + config = lib.mkIf cfg.enable { + services.gophernicus.path = opt.path.default; + + systemd.packages = [ cfg.package ]; + + systemd.sockets."gophernicus" = { + wantedBy = [ "sockets.target" ]; + listenStreams = [ "" ] ++ cfg.listenStreams; + }; + + systemd.services."gophernicus@" = { + documentation = [ "man:gophernicus(8)" ]; + serviceConfig = { + DynamicUser = true; + User = "gophernicus"; + Group = "gophernicus"; + + StateDirectory = [ "gophernicus/gopher" ]; + + RuntimeDirectory = [ "gophernicus/bin" ]; + BindReadOnlyPaths = + let + binDir = pkgs.symlinkJoin { + name = "gophernicus-bin"; + paths = cfg.path; + stripPrefix = "/bin"; + }; + in + [ + "${binDir}:/run/gophernicus/bin" + ] + ++ lib.optionals (cfg.rootDir != opt.rootDir.default) [ + "${cfg.rootDir}:/var/lib/gophernicus/gopher" + ] + ++ lib.optionals cfg.enableDefaultRootIndex [ + "${cfg.package}/share/gophernicus/gopher/gophermap:/var/lib/gophernicus/gopher/gophermap" + ]; + + ExecStart = + let + args = lib.cli.toCommandLineShellGNU { } ( + { + r = "/var/lib/gophernicus/gopher"; + h = cfg.domain; + f = if cfg.filters != { } then pkgs.linkFarm "gophernicus-filters" cfg.filters else null; + nu = !cfg.enableUserDirs; + } + // cfg.extraArgs + ); + in + [ + "" + "${lib.getExe cfg.package} ${args}" + ]; + + PrivateUsers = !cfg.enableUserDirs; + ProtectHome = if cfg.enableUserDirs then "read-only" else true; + + ProcSubset = "pid"; + ProtectProc = "invisible"; + UMask = "0077"; + CapabilityBoundingSet = ""; + NoNewPrivileges = true; + ProtectSystem = "strict"; + PrivateTmp = true; + PrivateDevices = true; + ProtectHostname = true; + ProtectClock = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + LockPersonality = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RemoveIPC = true; + PrivateMounts = true; + SystemCallArchitectures = "native"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ + felixalbrigtsen + h7x4 + ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index b412a85e56a0..750658ddaf8a 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -788,6 +788,7 @@ in gollum = runTest ./gollum.nix; gonic = runTest ./gonic.nix; google-oslogin = runTest ./google-oslogin; + gophernicus = runTest ./gophernicus.nix; gopro-tool = runTest ./gopro-tool.nix; goss = runTest ./goss.nix; gotenberg = runTest ./gotenberg.nix; diff --git a/nixos/tests/gophernicus.nix b/nixos/tests/gophernicus.nix new file mode 100644 index 000000000000..2b2599c44ec6 --- /dev/null +++ b/nixos/tests/gophernicus.nix @@ -0,0 +1,117 @@ +{ pkgs, lib, ... }: +{ + name = "gophernicus"; + meta.maintainers = with lib.maintainers; [ + felixalbrigtsen + h7x4 + ]; + + containers.machine = + { options, ... }: + { + imports = [ ./common/user-account.nix ]; + + environment.systemPackages = with pkgs; [ + phetch + ]; + + users.users = { + alice.homeMode = "755"; + bob.homeMode = "755"; + }; + + services.gophernicus = { + enable = true; + domain = "localhost"; + + path = options.services.gophernicus.path.default ++ [ + (pkgs.writeScriptBin "hello" ''printf "aaaaaaa\n"'') + ]; + + filters = { + txt = pkgs.writeShellScript "gophernicus-test-filter-script" '' + cat "$1" + echo "world" + ''; + php = "${pkgs.php}/bin/php"; + }; + }; + }; + + testScript = + let + alice-hello = pkgs.writeText "gophernicus-test-alice-hello" '' + Hi! + ''; + bob-hello = pkgs.writeText "gophernicus-test-bob-hello" '' + Hello! + ''; + bob-custom-command = pkgs.writeText "gophernicus-test-bob-custom-command" '' + =hello + ''; + bob-php-cgi = pkgs.writeText "gophernicus-test-bob-php-cgi" '' + #!${lib.getExe pkgs.php} + + ''; + bob-filtered = pkgs.writeText "gophernicus-test-bob-filtered" '' + hello + ''; + bob-php-non-cgi = pkgs.writeText "gophernicus-test-bob-php-non-cgi" '' + + ''; + in + '' + machine.wait_for_unit("sockets.target") + + def phetch_or_fail(path: str) -> str: + result = machine.succeed(f"phetch -r gopher://localhost/{path}") + + print("--- RESPONSE ---") + print(result) + print("----------------") + + assert "Error:" not in result, "Found error in fetched content" + assert "command not found" not in result, "Found missing command error in fetched content" + + return result + + with subtest("Fetch root pages"): + content = phetch_or_fail("") + assert "Welcome to Gophernicus!" in content, "Content not rendered properly" + + content = phetch_or_fail("/server-status") + assert "Total Accesses" in content, "Content not rendered properly" + + content = phetch_or_fail("/caps.txt") + assert "This is an automatically generated caps file." in content, "Content not rendered properly" + + machine.succeed("runuser -u alice -- install -Dm755 -d /home/alice/public_gopher") + machine.succeed("runuser -u bob -- install -Dm755 -d /home/bob/public_gopher") + + with subtest("Fetch user pages"): + machine.succeed("runuser -u alice -- install -Dm644 '${alice-hello}' /home/alice/public_gopher/hello") + machine.succeed("runuser -u bob -- install -Dm644 '${bob-hello}' /home/bob/public_gopher/world") + phetch_or_fail("1~alice/hello") + phetch_or_fail("1~bob/world") + + with subtest("Render gophermap with custom command"): + machine.succeed("runuser -u bob -- install -Dm644 '${bob-custom-command}' /home/bob/public_gopher/custom/gophermap") + content = phetch_or_fail("1~bob/custom") + assert "aaaaaaa" in content, "Content not rendered properly" + + with subtest("Render php as cgi"): + machine.succeed("runuser -u bob -- install -Dm755 '${bob-php-cgi}' /home/bob/public_gopher/cgi-bin/php-cgi.php") + content = phetch_or_fail("1~bob/cgi-bin/php-cgi.php") + assert "Result: 2" in content, "Content not rendered properly" + + with subtest("Render filters"): + machine.succeed("runuser -u bob -- install -Dm644 '${bob-filtered}' /home/bob/public_gopher/filtered.txt") + content = phetch_or_fail("1~bob/filtered.txt") + assert "hello" in content, "Content not rendered properly" + assert "world" in content, "Content not rendered properly" + + machine.succeed("runuser -u bob -- install -Dm644 '${bob-php-non-cgi}' /home/bob/public_gopher/filtered.php") + content = phetch_or_fail("1~bob/filtered.php") + assert "Result: 2" in content, "Content not rendered properly" + ''; +} diff --git a/pkgs/by-name/go/gophernicus/package.nix b/pkgs/by-name/go/gophernicus/package.nix index c0ac349bd9bc..f5fc7a53f9ef 100644 --- a/pkgs/by-name/go/gophernicus/package.nix +++ b/pkgs/by-name/go/gophernicus/package.nix @@ -10,6 +10,7 @@ xinetdSupport ? lib.meta.availableOn stdenv.hostPlatform xinetd, versionCheckHook, nix-update-script, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -103,7 +104,10 @@ stdenv.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "-v"; - passthru.updateScript = nix-update-script { }; + passthru = { + updateScript = nix-update-script { }; + tests.nixos = nixosTests.gophernicus; + }; meta = { description = "Modern full-featured (and hopefully) secure gopher daemon"; From 23af614c39014ca4d05f85c5212757d096c19137 Mon Sep 17 00:00:00 2001 From: Guillaume Fournier Date: Mon, 21 Sep 2026 15:31:49 +0200 Subject: [PATCH 08/31] mdcat: add giomf as maintainer --- pkgs/tools/text/mdcat/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix index 941f65a84f76..ce735b17f17b 100644 --- a/pkgs/tools/text/mdcat/default.nix +++ b/pkgs/tools/text/mdcat/default.nix @@ -69,6 +69,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/swsnr/mdcat"; changelog = "https://github.com/swsnr/mdcat/releases/tag/mdcat-${version}"; license = lib.licenses.mpl20; - maintainers = with lib.maintainers; [ SuperSandro2000 ]; + maintainers = with lib.maintainers; [ + SuperSandro2000 + giomf + ]; }; } From e97dc2cd9053f08a70f4e90bf49e4a8c9dec60ed Mon Sep 17 00:00:00 2001 From: Guillaume Fournier Date: Mon, 21 Sep 2026 15:49:13 +0200 Subject: [PATCH 09/31] mdcat: 2.7.1 -> 2.17.0 --- pkgs/tools/text/mdcat/default.nix | 31 +++++++++------------------ pkgs/tools/text/mdcat/fix-clippy.diff | 14 ------------ 2 files changed, 10 insertions(+), 35 deletions(-) delete mode 100644 pkgs/tools/text/mdcat/fix-clippy.diff diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix index ce735b17f17b..9292d634c8d3 100644 --- a/pkgs/tools/text/mdcat/default.nix +++ b/pkgs/tools/text/mdcat/default.nix @@ -8,24 +8,21 @@ asciidoctor, openssl, ansi2html, + less, installShellFiles, }: rustPlatform.buildRustPackage rec { pname = "mdcat"; - version = "2.7.1"; + version = "2.17.0"; src = fetchFromGitHub { - owner = "swsnr"; + owner = "BIRSAx2"; repo = "mdcat"; rev = "mdcat-${version}"; - hash = "sha256-j6BFXx5cyjE3+fo1gGKlqpsxrm3i9HfQ9tJGNNjjLwo="; + hash = "sha256-pBKGxMUZ9U93HmotoItxIitijZ2yMBPduBv5Ul1yQyI="; }; - patches = [ - ./fix-clippy.diff - ]; - nativeBuildInputs = [ pkg-config asciidoctor @@ -36,19 +33,11 @@ rustPlatform.buildRustPackage rec { openssl ]; - cargoHash = "sha256-8A0RLbFkh3fruZAbjJzipQvuFLchqIRovPcc6MSKdOc="; + cargoHash = "sha256-9/v33gdd9dGCdEDf53u1bKhsQGQXCBrtSe5ZvCGN1LU="; - nativeCheckInputs = [ ansi2html ]; - # Skip tests that use the network and that include files. - checkFlags = [ - "--skip=magic::tests::detect_mimetype_of_larger_than_magic_param_bytes_max_length" - "--skip=magic::tests::detect_mimetype_of_magic_param_bytes_max_length" - "--skip=magic::tests::detect_mimetype_of_png_image" - "--skip=magic::tests::detect_mimetype_of_svg_image" - "--skip=resources::tests::read_url_with_http_url_fails_when_size_limit_is_exceeded" - "--skip=resources::tests::read_url_with_http_url_fails_when_status_404" - "--skip=resources::tests::read_url_with_http_url_returns_content_when_status_200" - "--skip=iterm2_tests_render_md_samples_images_md" + nativeCheckInputs = [ + ansi2html + less ]; postInstall = '' @@ -66,8 +55,8 @@ rustPlatform.buildRustPackage rec { meta = { description = "cat for markdown"; - homepage = "https://github.com/swsnr/mdcat"; - changelog = "https://github.com/swsnr/mdcat/releases/tag/mdcat-${version}"; + homepage = "https://github.com/BIRSAx2/mdcat"; + changelog = "https://github.com/BIRSAx2/mdcat/releases/tag/mdcat-${version}"; license = lib.licenses.mpl20; maintainers = with lib.maintainers; [ SuperSandro2000 diff --git a/pkgs/tools/text/mdcat/fix-clippy.diff b/pkgs/tools/text/mdcat/fix-clippy.diff deleted file mode 100644 index d54b75ffd581..000000000000 --- a/pkgs/tools/text/mdcat/fix-clippy.diff +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/pulldown-cmark-mdcat/src/terminal/osc.rs b/pulldown-cmark-mdcat/src/terminal/osc.rs -index 8fa2db6..dc2a2da 100644 ---- a/pulldown-cmark-mdcat/src/terminal/osc.rs -+++ b/pulldown-cmark-mdcat/src/terminal/osc.rs -@@ -20,9 +20,6 @@ pub fn write_osc(writer: &mut W, command: &str) -> Result<()> - Ok(()) - } - --#[derive(Debug, PartialEq, Eq, Copy, Clone)] --pub struct Osc8Links; -- - /// Whether the given `url` needs to get an explicit host. - /// - /// [OSC 8] links require that `file://` URLs give an explicit hostname, as From f678abd085aa9ebc619cf5511056831f5d45c5cf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Sep 2026 20:43:09 +0000 Subject: [PATCH 10/31] searxng: 0-unstable-2026-09-12 -> 0-unstable-2026-09-22 --- pkgs/by-name/se/searxng/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/se/searxng/package.nix b/pkgs/by-name/se/searxng/package.nix index 18998210b4ef..923399ad71fe 100644 --- a/pkgs/by-name/se/searxng/package.nix +++ b/pkgs/by-name/se/searxng/package.nix @@ -13,14 +13,14 @@ in python.pkgs.toPythonModule ( python.pkgs.buildPythonApplication rec { pname = "searxng"; - version = "0-unstable-2026-09-12"; + version = "0-unstable-2026-09-22"; pyproject = true; src = fetchFromGitHub { owner = "searxng"; repo = "searxng"; - rev = "d4f00d15d4c2b8260124a9039b80bc9c1c26499b"; - hash = "sha256-N5sCetc2JEnKl9eZn2HtJ4QP3TAH9h75/lmqqSWpPSg="; + rev = "2ed96e6fcfc96ca1045155fc52a12f5f7b070417"; + hash = "sha256-CdOV77x0SHrdUZYS/c7RXDI4cQ1sh+eqlKNbgl2Ci6Q="; }; nativeBuildInputs = with python.pkgs; [ pythonRelaxDepsHook ]; From 2445f8106fe6908427b68753b1fcca08babebd37 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Tue, 15 Sep 2026 11:00:10 -0400 Subject: [PATCH 11/31] comfyui: add updateScript to update coupled packages These other packages are tightly coupled to the comfyui version, and so should always be updated together. As such, also exempt those packages from auto-update, since they will be updated from here instead. Originally wanted to put the comfyui-workflow-templates fan-out in its own `updateScript`, but the problem with that is we cannot pass an explicit version to it, since `maintainers/scripts/update.nix` does not support it, and so `nix-update --use-update-script` cannot (since its `--update-script-args` go to `maintainers/scripts/update.py`, not to the underlying `updateScript`). This is fine anyway since comfyui-workflow-templates has auto-update disabled anyway. So just shove it all in `comfyui.passthru.updateScript`. Assisted-by: Pi (GLM-5.3-Flash) --- pkgs/by-name/co/comfyui/package.nix | 47 +++++++++++++++++++ .../python-modules/comfy-aimdo/default.nix | 2 + .../python-modules/comfy-kitchen/default.nix | 2 + .../comfyui-embedded-docs/default.nix | 2 + .../comfyui-frontend-package/default.nix | 2 + .../default.nix | 2 + .../default.nix | 2 + .../default.nix | 2 + .../default.nix | 2 + .../default.nix | 2 + .../default.nix | 2 + .../default.nix | 2 + .../comfyui-workflow-templates/default.nix | 2 + 13 files changed, 71 insertions(+) diff --git a/pkgs/by-name/co/comfyui/package.nix b/pkgs/by-name/co/comfyui/package.nix index 90de37186be1..676814b844a9 100644 --- a/pkgs/by-name/co/comfyui/package.nix +++ b/pkgs/by-name/co/comfyui/package.nix @@ -2,11 +2,17 @@ lib, callPackage, cudaPackages_13, + common-updater-scripts, fetchFromGitHub, + gnutar, + gzip, + nix-update, makeBinaryWrapper, python3, stdenvNoCC, withManager ? false, + writeShellApplication, + yq-go, }: let @@ -118,6 +124,47 @@ stdenvNoCC.mkDerivation (finalAttrs: { passthru = { inherit python pythonEnv; + + updateScript = lib.getExe (writeShellApplication { + name = "update-comfyui"; + runtimeInputs = [ + common-updater-scripts + gnutar + gzip + nix-update + yq-go + ]; + text = '' + nix-update comfyui + + src=$(nix-build --no-out-link -A comfyui.src) + + while IFS= read -r requirement; do + if [[ $requirement =~ ^comfy.+==.+ ]]; then + pkg=''${requirement%%==*} + version=''${requirement##*==} + + nix-update "python3Packages.$pkg" --version "$version" + + if [[ $pkg == comfyui-workflow-templates ]]; then + wtSrc=$(nix-build --no-out-link -A python3Packages.comfyui-workflow-templates.src) + + while IFS= read -r subRequirement; do + if [[ $subRequirement =~ ^comfyui-workflow-templates-.+==.+ ]]; then + subPkg=''${subRequirement%%==*} + subVersion=''${subRequirement##*==} + + nix-update "python3Packages.$subPkg" --version "$subVersion" + fi + done < <( + tar --extract --gzip --to-stdout --file="$wtSrc" --strip-components=1 --wildcards '*/pyproject.toml' \ + | yq --input-format toml --output-format yaml '.project.dependencies[]' + ) + fi + fi + done < "$src/requirements.txt" + ''; + }); } // lib.optionalAttrs (!withManager) { tests.withManager = callPackage ./package.nix { diff --git a/pkgs/development/python-modules/comfy-aimdo/default.nix b/pkgs/development/python-modules/comfy-aimdo/default.nix index 61d590e4af10..f7535542184b 100644 --- a/pkgs/development/python-modules/comfy-aimdo/default.nix +++ b/pkgs/development/python-modules/comfy-aimdo/default.nix @@ -24,6 +24,8 @@ buildPythonPackage (finalAttrs: { version = "0.5.3"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchFromGitHub { owner = "Comfy-Org"; repo = "comfy-aimdo"; diff --git a/pkgs/development/python-modules/comfy-kitchen/default.nix b/pkgs/development/python-modules/comfy-kitchen/default.nix index 322db3afb236..eea6e46962c6 100644 --- a/pkgs/development/python-modules/comfy-kitchen/default.nix +++ b/pkgs/development/python-modules/comfy-kitchen/default.nix @@ -20,6 +20,8 @@ buildPythonPackage (finalAttrs: { version = "0.2.33"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchFromGitHub { owner = "Comfy-Org"; repo = "comfy-kitchen"; diff --git a/pkgs/development/python-modules/comfyui-embedded-docs/default.nix b/pkgs/development/python-modules/comfyui-embedded-docs/default.nix index 0a1268164363..18feca92ed50 100644 --- a/pkgs/development/python-modules/comfyui-embedded-docs/default.nix +++ b/pkgs/development/python-modules/comfyui-embedded-docs/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.5.11"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_embedded_docs"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-frontend-package/default.nix b/pkgs/development/python-modules/comfyui-frontend-package/default.nix index cbedaaf27df9..ca0ab29a0831 100644 --- a/pkgs/development/python-modules/comfyui-frontend-package/default.nix +++ b/pkgs/development/python-modules/comfyui-frontend-package/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "1.51.10"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_frontend_package"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix index 3c410e7837c5..d9493c382855 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.3.337"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates_core"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix index 7f737e56296e..8d6beb10ba1e 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.1.72"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates_json"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix index 25cdbfc7a5c6..bb8d056ab6f4 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-api/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.3.84"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates_media_api"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix index c0be45bf95c5..87125a4beb96 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.1.43"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates_media_assets_01"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix index 631a707567e6..6a79133e8057 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-image/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.3.160"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates_media_image"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix index 7afc8b4dd2d3..638a055040ef 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-other/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.3.229"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates_media_other"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix index 856eae8b86f5..f3944f2d97b0 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-video/default.nix @@ -11,6 +11,8 @@ buildPythonPackage (finalAttrs: { version = "0.3.101"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates_media_video"; inherit (finalAttrs) version; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates/default.nix index fb3d2cdc2213..69fd38d729b4 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates/default.nix @@ -18,6 +18,8 @@ buildPythonPackage (finalAttrs: { version = "0.11.57"; pyproject = true; + # nixpkgs-update: no auto update + # updated via comfyui src = fetchPypi { pname = "comfyui_workflow_templates"; inherit (finalAttrs) version; From dd03043fef513f60d6e4cf82222e4c85904e9655 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Tue, 22 Sep 2026 09:17:30 -0400 Subject: [PATCH 12/31] comfyui-workflow-templates-media-assets-02: init at 0.1.3 Basically copied from the *-01 pkg. Needed for newer comfyui. --- .../default.nix | 34 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 +++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/comfyui-workflow-templates-media-assets-02/default.nix diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-02/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-02/default.nix new file mode 100644 index 000000000000..03d5dda3424b --- /dev/null +++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-02/default.nix @@ -0,0 +1,34 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + comfyui, +}: + +buildPythonPackage (finalAttrs: { + pname = "comfyui-workflow-templates-media-assets-02"; + version = "0.1.3"; + pyproject = true; + + # nixpkgs-update: no auto update + # updated via comfyui + src = fetchPypi { + pname = "comfyui_workflow_templates_media_assets_02"; + inherit (finalAttrs) version; + hash = "sha256-VqEUtsbYFoySosWw7RySa09aFVkAr3+Bzcf9Bf1flCQ="; + }; + + build-system = [ setuptools ]; + + doCheck = false; + + pythonImportsCheck = [ "comfyui_workflow_templates_media_assets_02" ]; + + meta = { + description = "Media assets bundle 02 for ComfyUI workflow templates"; + homepage = "https://github.com/Comfy-Org/workflow_templates"; + license = lib.licenses.mit; + inherit (comfyui.meta) maintainers; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3692876325cf..c9f7b89ee3f8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3531,6 +3531,10 @@ self: super: with self; { callPackage ../development/python-modules/comfyui-workflow-templates-media-assets-01 { }; + comfyui-workflow-templates-media-assets-02 = + callPackage ../development/python-modules/comfyui-workflow-templates-media-assets-02 + { }; + comfyui-workflow-templates-media-image = callPackage ../development/python-modules/comfyui-workflow-templates-media-image { }; From 7393d623eb66a6dfaca6fe8e2f38625f1f4f797f Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Tue, 22 Sep 2026 13:18:17 +0000 Subject: [PATCH 13/31] comfyui: 0.35.0 -> 0.37.0 --- pkgs/by-name/co/comfyui/package.nix | 4 ++-- pkgs/development/python-modules/comfy-aimdo/default.nix | 4 ++-- pkgs/development/python-modules/comfy-kitchen/default.nix | 4 ++-- .../python-modules/comfyui-embedded-docs/default.nix | 4 ++-- .../python-modules/comfyui-frontend-package/default.nix | 4 ++-- .../comfyui-workflow-templates-core/default.nix | 4 ++-- .../comfyui-workflow-templates-json/default.nix | 4 ++-- .../comfyui-workflow-templates-media-assets-01/default.nix | 4 ++-- .../python-modules/comfyui-workflow-templates/default.nix | 6 ++++-- 9 files changed, 20 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/co/comfyui/package.nix b/pkgs/by-name/co/comfyui/package.nix index 676814b844a9..59f9c2a2106d 100644 --- a/pkgs/by-name/co/comfyui/package.nix +++ b/pkgs/by-name/co/comfyui/package.nix @@ -80,7 +80,7 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "comfyui"; - version = "0.35.0"; + version = "0.37.0"; strictDeps = true; __structuredAttrs = true; @@ -89,7 +89,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { owner = "Comfy-Org"; repo = "ComfyUI"; tag = "v${finalAttrs.version}"; - hash = "sha256-ffT9euBDsxpmq4wzd9R2QUcCgI/YnfQOsvC5HuAekUM="; + hash = "sha256-hfpoQsu8xzKHCy2Qqw2BMGsorwizJEuhKXWjUUJzTHs="; }; nativeBuildInputs = [ makeBinaryWrapper ]; diff --git a/pkgs/development/python-modules/comfy-aimdo/default.nix b/pkgs/development/python-modules/comfy-aimdo/default.nix index f7535542184b..ed302646046b 100644 --- a/pkgs/development/python-modules/comfy-aimdo/default.nix +++ b/pkgs/development/python-modules/comfy-aimdo/default.nix @@ -21,7 +21,7 @@ let in buildPythonPackage (finalAttrs: { pname = "comfy-aimdo"; - version = "0.5.3"; + version = "0.5.5"; pyproject = true; # nixpkgs-update: no auto update @@ -30,7 +30,7 @@ buildPythonPackage (finalAttrs: { owner = "Comfy-Org"; repo = "comfy-aimdo"; tag = "v${finalAttrs.version}"; - hash = "sha256-oHK1+kwPbfhCS5WBo2qCvCWH+t6B6MKvevpcsD9JflE="; + hash = "sha256-f5r2UgkWU49Y/sc9MBwlrmzaY3w4wcHJ0HgcFoVe3QY="; }; postPatch = '' diff --git a/pkgs/development/python-modules/comfy-kitchen/default.nix b/pkgs/development/python-modules/comfy-kitchen/default.nix index eea6e46962c6..cf73b780d018 100644 --- a/pkgs/development/python-modules/comfy-kitchen/default.nix +++ b/pkgs/development/python-modules/comfy-kitchen/default.nix @@ -17,7 +17,7 @@ let in buildPythonPackage (finalAttrs: { pname = "comfy-kitchen"; - version = "0.2.33"; + version = "0.2.35"; pyproject = true; # nixpkgs-update: no auto update @@ -27,7 +27,7 @@ buildPythonPackage (finalAttrs: { repo = "comfy-kitchen"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-2wiUIF6zWSn8y/FK0czuKcuH5wD1HWNhyiQ2yC7AFT4="; + hash = "sha256-ymNZ4uuM59cOf+neC6tfr+NXH9f7LpF9ml7gsYfB4Fk="; }; buildInputs = lib.optionals cudaSupport ( diff --git a/pkgs/development/python-modules/comfyui-embedded-docs/default.nix b/pkgs/development/python-modules/comfyui-embedded-docs/default.nix index 18feca92ed50..6e237ac94df7 100644 --- a/pkgs/development/python-modules/comfyui-embedded-docs/default.nix +++ b/pkgs/development/python-modules/comfyui-embedded-docs/default.nix @@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: { pname = "comfyui-embedded-docs"; - version = "0.5.11"; + version = "0.5.12"; pyproject = true; # nixpkgs-update: no auto update @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { src = fetchPypi { pname = "comfyui_embedded_docs"; inherit (finalAttrs) version; - hash = "sha256-HetjmoWqXFY7ULa+ImvTPbG7OpeReI0sP7TYiMwv2n0="; + hash = "sha256-QKb7AIvnzFqcAUIlK9e93r1LBAczXennedlrFjoau0I="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/comfyui-frontend-package/default.nix b/pkgs/development/python-modules/comfyui-frontend-package/default.nix index ca0ab29a0831..a4b4062288a5 100644 --- a/pkgs/development/python-modules/comfyui-frontend-package/default.nix +++ b/pkgs/development/python-modules/comfyui-frontend-package/default.nix @@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: { pname = "comfyui-frontend-package"; - version = "1.51.10"; + version = "1.52.7"; pyproject = true; # nixpkgs-update: no auto update @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { src = fetchPypi { pname = "comfyui_frontend_package"; inherit (finalAttrs) version; - hash = "sha256-li4bsdMGeQawCcYLyys1vL2ux0YCFyuXJ0Ww+ymNjcc="; + hash = "sha256-XLKH2CthihdZjMrmQd1Wreh8paRN3IVKdyVtveKa2kM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix index d9493c382855..af0fe1413440 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-core/default.nix @@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: { pname = "comfyui-workflow-templates-core"; - version = "0.3.337"; + version = "0.3.357"; pyproject = true; # nixpkgs-update: no auto update @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { src = fetchPypi { pname = "comfyui_workflow_templates_core"; inherit (finalAttrs) version; - hash = "sha256-JqN1DwmBwar8gT5U4FP7/W5e6YQTLqlgcM1fOl9l2fM="; + hash = "sha256-DCWykCQlJhIDvB+RCaLvvomn1OeKUO6nUbo15/O+uf4="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix index 8d6beb10ba1e..583f7d17d88b 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-json/default.nix @@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: { pname = "comfyui-workflow-templates-json"; - version = "0.1.72"; + version = "0.1.92"; pyproject = true; # nixpkgs-update: no auto update @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { src = fetchPypi { pname = "comfyui_workflow_templates_json"; inherit (finalAttrs) version; - hash = "sha256-m35dJtD1KYDmGkhLG5I9/dXKd2Pq9U6pJLn655SmpiA="; + hash = "sha256-PHq+d5L7DdQFpFCL8hxp3O1qOiy6MELE3mqslDh5T+I="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix index 87125a4beb96..972cc4e9639b 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates-media-assets-01/default.nix @@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: { pname = "comfyui-workflow-templates-media-assets-01"; - version = "0.1.43"; + version = "0.1.47"; pyproject = true; # nixpkgs-update: no auto update @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { src = fetchPypi { pname = "comfyui_workflow_templates_media_assets_01"; inherit (finalAttrs) version; - hash = "sha256-QJYhpsaQmLfgaE+9bLDOmeKXhp6nw7VOKdbQquRX+Hk="; + hash = "sha256-R8AUUFfROKiw1jr2b+kxwwkYJdVS6Cs48UCW59CVUFI="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/comfyui-workflow-templates/default.nix b/pkgs/development/python-modules/comfyui-workflow-templates/default.nix index 69fd38d729b4..968b07f988d8 100644 --- a/pkgs/development/python-modules/comfyui-workflow-templates/default.nix +++ b/pkgs/development/python-modules/comfyui-workflow-templates/default.nix @@ -8,6 +8,7 @@ comfyui-workflow-templates-json, comfyui-workflow-templates-media-api, comfyui-workflow-templates-media-assets-01, + comfyui-workflow-templates-media-assets-02, comfyui-workflow-templates-media-video, comfyui-workflow-templates-media-image, comfyui-workflow-templates-media-other, @@ -15,7 +16,7 @@ buildPythonPackage (finalAttrs: { pname = "comfyui-workflow-templates"; - version = "0.11.57"; + version = "0.11.66"; pyproject = true; # nixpkgs-update: no auto update @@ -23,7 +24,7 @@ buildPythonPackage (finalAttrs: { src = fetchPypi { pname = "comfyui_workflow_templates"; inherit (finalAttrs) version; - hash = "sha256-oGnYJKPnU8YDJI30/w3c7GjogQOsaik10mIZ+u8ndiI="; + hash = "sha256-PYTvWQ0u7MavD9lPHaEytxkdXOy35eze55qjd+D8tGI="; }; build-system = [ setuptools ]; @@ -33,6 +34,7 @@ buildPythonPackage (finalAttrs: { comfyui-workflow-templates-json comfyui-workflow-templates-media-api comfyui-workflow-templates-media-assets-01 + comfyui-workflow-templates-media-assets-02 comfyui-workflow-templates-media-image comfyui-workflow-templates-media-other comfyui-workflow-templates-media-video From 91bb183d485e1406aa2ea4e8e0bfbee7a050e986 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Sep 2026 15:54:18 +0000 Subject: [PATCH 14/31] revive: 1.16.0 -> 1.17.0 --- pkgs/by-name/re/revive/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/revive/package.nix b/pkgs/by-name/re/revive/package.nix index 8f3acb2dae83..5b9c7e48b8a4 100644 --- a/pkgs/by-name/re/revive/package.nix +++ b/pkgs/by-name/re/revive/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "revive"; - version = "1.16.0"; + version = "1.17.0"; src = fetchFromGitHub { owner = "mgechev"; repo = "revive"; tag = "v${finalAttrs.version}"; - hash = "sha256-7uYNDIhl7iyI2cko+KqGBgL24b8mjNnjt2tZP77nNmg="; + hash = "sha256-RbWpGQ5rGkp2yBZ42if3hYyelWEZg+hlelw3WQ1VFRg="; postFetch = '' # The repository currently has a 'v1' and 'V1' directory. @@ -24,7 +24,7 @@ buildGoModule (finalAttrs: { ''; }; - vendorHash = "sha256-2JYqTgJy97qUgwLxhtluapWArH28wd+XnJsl9iFtddk="; + vendorHash = "sha256-467AG0QMO565IBaUyZnqpUbLW6/J87x2b7zfbWqHecM="; # Only build the revive package at the root. subPackages = [ "." ]; From 29c166fc90ebf372b649aebd5f55a6598ce649d3 Mon Sep 17 00:00:00 2001 From: Fede Barcelona Date: Thu, 24 Sep 2026 07:55:56 +0200 Subject: [PATCH 15/31] python3Packages.comfy-aimdo: support darwin The native offloader only supports Linux and Windows. Upstream ships a pure-Python wheel for other platforms, where init() reports the OS as unsupported and ComfyUI falls back to its legacy model patcher. Skip the native build outside Linux to match. Assisted-by: Claude Code (Claude Opus 5.5) --- pkgs/development/python-modules/comfy-aimdo/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/comfy-aimdo/default.nix b/pkgs/development/python-modules/comfy-aimdo/default.nix index 61d590e4af10..cc3c3978b7c9 100644 --- a/pkgs/development/python-modules/comfy-aimdo/default.nix +++ b/pkgs/development/python-modules/comfy-aimdo/default.nix @@ -6,6 +6,7 @@ fetchFromGitHub, setuptools, setuptools-scm, + stdenv, comfyui, }: @@ -58,7 +59,9 @@ buildPythonPackage (finalAttrs: { setuptools-scm ]; - preBuild = '' + # The native library is Linux/Windows only; on other platforms the Python + # module is still importable and ComfyUI falls back to its legacy offloader. + preBuild = lib.optionalString stdenv.hostPlatform.isLinux '' ./scripts/build-linux-aimdo.sh ''; @@ -71,7 +74,7 @@ buildPythonPackage (finalAttrs: { description = "AI model dynamic offloader for ComfyUI"; homepage = "https://github.com/Comfy-Org/comfy-aimdo"; license = lib.licenses.gpl3Only; - platforms = lib.platforms.linux; + platforms = lib.platforms.linux ++ lib.platforms.darwin; inherit (comfyui.meta) maintainers; }; }) From 491eb7c029d261400c77205a2248b3b3b37424cb Mon Sep 17 00:00:00 2001 From: Fede Barcelona Date: Thu, 24 Sep 2026 07:55:56 +0200 Subject: [PATCH 16/31] python3Packages.comfy-angle: support darwin Upstream's macOS wheel bundles ANGLE, since macOS has no EGL. Link against nixpkgs' angle there instead of libGL. Assisted-by: Claude Code (Claude Opus 5.5) --- .../python-modules/comfy-angle/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/comfy-angle/default.nix b/pkgs/development/python-modules/comfy-angle/default.nix index f3b8183637b3..5ded931efd39 100644 --- a/pkgs/development/python-modules/comfy-angle/default.nix +++ b/pkgs/development/python-modules/comfy-angle/default.nix @@ -1,5 +1,6 @@ { lib, + angle, buildPythonPackage, fetchFromGitHub, libGL, @@ -20,10 +21,15 @@ buildPythonPackage (finalAttrs: { hash = "sha256-FnS2aQmPb5a3dO9m5McpO5Kfyy1aOaboc+oAtYqauQo="; }; - postPatch = '' - mkdir -p comfy_angle/libs - ln -s ${lib.getLib libGL}/lib/{libEGL,libGLESv2}${stdenv.hostPlatform.extensions.sharedLibrary} comfy_angle/libs/ - ''; + # Upstream wheels bundle ANGLE on macOS; on Linux the system libGL provides EGL + postPatch = + let + egl = if stdenv.hostPlatform.isDarwin then angle else lib.getLib libGL; + in + '' + mkdir -p comfy_angle/libs + ln -s ${egl}/lib/{libEGL,libGLESv2}${stdenv.hostPlatform.extensions.sharedLibrary} comfy_angle/libs/ + ''; build-system = [ setuptools @@ -38,7 +44,7 @@ buildPythonPackage (finalAttrs: { description = "Redistributable ANGLE libraries"; homepage = "https://github.com/Comfy-Org/comfy-angle"; license = lib.licenses.bsd3; - platforms = lib.platforms.linux; + platforms = lib.platforms.linux ++ lib.platforms.darwin; inherit (comfyui.meta) maintainers; }; }) From 6ba24c8a5f2ccf2325a94d242b016cf5bbfc8f0c Mon Sep 17 00:00:00 2001 From: Fede Barcelona Date: Thu, 24 Sep 2026 07:55:57 +0200 Subject: [PATCH 17/31] comfyui: support darwin Upstream supports Apple Silicon through PyTorch's MPS backend. The CUDA overrides are no-ops on darwin, so the cached torch is used. Linux derivations are unchanged. Assisted-by: Claude Code (Claude Opus 5.5) --- pkgs/by-name/co/comfyui/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/co/comfyui/package.nix b/pkgs/by-name/co/comfyui/package.nix index 90de37186be1..50f3f4c9b2c9 100644 --- a/pkgs/by-name/co/comfyui/package.nix +++ b/pkgs/by-name/co/comfyui/package.nix @@ -135,6 +135,6 @@ stdenvNoCC.mkDerivation (finalAttrs: { caniko SuperSandro2000 ]; - platforms = lib.platforms.linux; + platforms = lib.platforms.linux ++ lib.platforms.darwin; }; }) From e6ab6faa791e050a1cf4c057564bb658c759e6c3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 25 Sep 2026 06:12:57 +0000 Subject: [PATCH 18/31] slint-viewer: 1.18.0 -> 1.18.1 --- pkgs/by-name/sl/slint-viewer/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sl/slint-viewer/package.nix b/pkgs/by-name/sl/slint-viewer/package.nix index 6269b3b3d9a0..b2526f0d3a98 100644 --- a/pkgs/by-name/sl/slint-viewer/package.nix +++ b/pkgs/by-name/sl/slint-viewer/package.nix @@ -20,14 +20,14 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "slint-viewer"; - version = "1.18.0"; + version = "1.18.1"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-lCDhKt1lKZnzKuOuusbWYqwLBH8NJ8sF/UaDk7gjfLc="; + hash = "sha256-MlYBkJl8MupzpTfyjmlLlfpYqFWHg3lll7x87leB5iY="; }; - cargoHash = "sha256-vp8hJuskBxeyZ2vxoKe73kEI8TR13ooNwqP7gw19yo4="; + cargoHash = "sha256-qEXy0uaQFY5fu5Gtpsk+7oW6jtFTK4N/y4aK8ruplI8="; buildInputs = [ qt6.qtbase From 11a3df0992b39cd001975cb7728f124646bbce62 Mon Sep 17 00:00:00 2001 From: Rafael Ieda Date: Fri, 25 Sep 2026 06:13:17 -0300 Subject: [PATCH 19/31] microsoft-edge, msedgedriver: 153.0.4234.48 -> 154.0.4258.37 --- pkgs/by-name/mi/microsoft-edge/package.nix | 4 ++-- pkgs/by-name/ms/msedgedriver/package.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/mi/microsoft-edge/package.nix b/pkgs/by-name/mi/microsoft-edge/package.nix index fe79b99032cd..13cdd8b602e7 100644 --- a/pkgs/by-name/mi/microsoft-edge/package.nix +++ b/pkgs/by-name/mi/microsoft-edge/package.nix @@ -164,11 +164,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "microsoft-edge"; - version = "153.0.4234.48"; + version = "154.0.4258.37"; src = fetchurl { url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-JVNZQo8F9xzWNpKmJlwOKnRf/wiuDkJh+c/tUdgIEC8="; + hash = "sha256-xvopdHM5kTIbRsQGS3hc3sWhTYzd0YK8X9oFfjfnYD0="; }; # With strictDeps on, some shebangs were not being patched correctly diff --git a/pkgs/by-name/ms/msedgedriver/package.nix b/pkgs/by-name/ms/msedgedriver/package.nix index c258d19d2f3e..43de4807a9a0 100644 --- a/pkgs/by-name/ms/msedgedriver/package.nix +++ b/pkgs/by-name/ms/msedgedriver/package.nix @@ -12,11 +12,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "msedgedriver"; - version = "153.0.4234.48"; + version = "154.0.4258.37"; src = fetchzip { url = "https://msedgedriver.microsoft.com/${finalAttrs.version}/edgedriver_linux64.zip"; - hash = "sha256-5gCrPPjYC/AmsO5vSNTX/r3hm6wATvNeIxRt4TYyZhY="; + hash = "sha256-XbOQl9FyckF3Qybb+40474ImJDKahBkekPoydf/TxV0="; stripRoot = false; }; From b7190dec1f1e54d76c327304bec2cb089d34e40d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 09:52:31 +0000 Subject: [PATCH 20/31] renode-dts2repl: 0-unstable-2026-09-11 -> 0-unstable-2026-09-25 --- pkgs/by-name/re/renode-dts2repl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix index 8ac305ff98ad..80cacd7ec3e8 100644 --- a/pkgs/by-name/re/renode-dts2repl/package.nix +++ b/pkgs/by-name/re/renode-dts2repl/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication { pname = "renode-dts2repl"; - version = "0-unstable-2026-09-11"; + version = "0-unstable-2026-09-25"; pyproject = true; src = fetchFromGitHub { owner = "antmicro"; repo = "dts2repl"; - rev = "a27a69b89dbf3a99fd233f2c5671e8c76f648557"; - hash = "sha256-J0IwXJr88mx2R7m9VsvvOAJPDO4b+HEe7SRS5Oi2TCU="; + rev = "75f2fce6c6d5829feaf14b11c1f39a0c95c4a62a"; + hash = "sha256-fHDB9ZcHPAj6AMZqEMY3H84GChzGkpnM3h8H7g3/lUY="; }; nativeBuildInputs = [ From cd7c88460db40f6ca6245d3515857090295ff015 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 13:19:25 +0000 Subject: [PATCH 21/31] cockpit-machines: 355 -> 357 --- pkgs/by-name/co/cockpit-machines/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cockpit-machines/package.nix b/pkgs/by-name/co/cockpit-machines/package.nix index 31d67375d394..4d0f4df5d400 100644 --- a/pkgs/by-name/co/cockpit-machines/package.nix +++ b/pkgs/by-name/co/cockpit-machines/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cockpit-machines"; - version = "355"; + version = "357"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit-machines"; tag = finalAttrs.version; - hash = "sha256-9NRpo9j0EDTWvJAPuAhr3H6Gigt7MdwYbdXZeGqHVGo="; + hash = "sha256-RuMmBqx+Fm+qHLxFct5Kc2zW98EBHQpK77zvCkAQ+24="; fetchSubmodules = true; postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json"; From 41ba158543cef46a68180d0943d87ceecda7e6a3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 13:19:49 +0000 Subject: [PATCH 22/31] cockpit-files: 43 -> 45 --- pkgs/by-name/co/cockpit-files/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cockpit-files/package.nix b/pkgs/by-name/co/cockpit-files/package.nix index 5a19c924b0ca..de98dde676f6 100644 --- a/pkgs/by-name/co/cockpit-files/package.nix +++ b/pkgs/by-name/co/cockpit-files/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cockpit-files"; - version = "43"; + version = "45"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit-files"; tag = finalAttrs.version; - hash = "sha256-ex15Bs8hFlNnksTEQC3rxhpiKDpK6bY3r3o5wX9ad44="; + hash = "sha256-+ubt2tROkxpuWMIwUD81EhBJyGfG1+a5QLf3G5P8G9Y="; fetchSubmodules = true; postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json"; From fa6c4534eba85cfc9c4b4cc04448d618c896859b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 13:20:31 +0000 Subject: [PATCH 23/31] cockpit-podman: 129 -> 131 --- pkgs/by-name/co/cockpit-podman/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/cockpit-podman/package.nix b/pkgs/by-name/co/cockpit-podman/package.nix index 423f4abf3f77..1fb6227676ac 100644 --- a/pkgs/by-name/co/cockpit-podman/package.nix +++ b/pkgs/by-name/co/cockpit-podman/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cockpit-podman"; - version = "129"; + version = "131"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit-podman"; tag = finalAttrs.version; - hash = "sha256-NFEVwDrDgFQphSh7k56wjGsWJslkerJEQ6FFm5xJsfA="; + hash = "sha256-+djsTOaE8tY2pn5O7KWNHdtqEogDEPUETNeWt3bzdhU="; fetchSubmodules = true; postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json"; From c95271327e7c09552e759b2b6cbe58c1f932239f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 26 Sep 2026 13:50:43 +0000 Subject: [PATCH 24/31] bacon: 3.25.0 -> 3.26.0 Diff: https://github.com/Canop/bacon/compare/v3.25.0...v3.26.0 Changelog: https://github.com/Canop/bacon/blob/v3.26.0/CHANGELOG.md --- pkgs/by-name/ba/bacon/package.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ba/bacon/package.nix b/pkgs/by-name/ba/bacon/package.nix index 93919889813b..d22077a200c0 100644 --- a/pkgs/by-name/ba/bacon/package.nix +++ b/pkgs/by-name/ba/bacon/package.nix @@ -27,17 +27,17 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "bacon"; - version = "3.25.0"; + version = "3.26.0"; __structuredAttrs = true; src = fetchFromGitHub { owner = "Canop"; repo = "bacon"; tag = "v${finalAttrs.version}"; - hash = "sha256-+7K8hy6zzLUshLc2I24md5FOYq3lB0ivx1VbCRHIXII="; + hash = "sha256-PFPHGY8akIZntz/LHUyQph6c+YD4OlppAPd3ols8Htg="; }; - cargoHash = "sha256-fAdS77fBUFlSbXu1aw3X3z0ema2FC5fDo8At2GQpGn0="; + cargoHash = "sha256-Sl7122Z8irYPVTGUlkwTyrt/f3ZCPlLJG6GP+C7ENGM="; buildFeatures = lib.optionals withSound [ "sound" @@ -52,6 +52,12 @@ rustPlatform.buildRustPackage (finalAttrs: { buildInputs = lib.optionals withSound soundDependencies; + checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + # no notification on first save + "--skip=watch::tests::test_watch_file_saved_by_replacement" + "--skip=watch::tests::test_watch_symlinked_file" + ]; + nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; From e726f8c33395c32fc77404cc09a16fa235757c5a Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 26 Sep 2026 14:38:39 +0000 Subject: [PATCH 25/31] bacon: add GaetanLepage as maintainer --- pkgs/by-name/ba/bacon/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ba/bacon/package.nix b/pkgs/by-name/ba/bacon/package.nix index d22077a200c0..208d89f456f3 100644 --- a/pkgs/by-name/ba/bacon/package.nix +++ b/pkgs/by-name/ba/bacon/package.nix @@ -87,6 +87,7 @@ rustPlatform.buildRustPackage (finalAttrs: { license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ FlorianFranzen + GaetanLepage matthiasbeyer ]; }; From a29dbc255c9c0d3c825689a849f926665053ca61 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 17:57:49 +0000 Subject: [PATCH 26/31] technitium-dns-server: 15.4.0 -> 15.5.1 --- .../nuget-deps.json | 4 +- .../technitium-dns-server-library/package.nix | 4 +- .../te/technitium-dns-server/nuget-deps.json | 56 +++++++++++++------ .../te/technitium-dns-server/package.nix | 4 +- 4 files changed, 44 insertions(+), 24 deletions(-) diff --git a/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json b/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json index ca48dcf1154e..ea7b9f769971 100644 --- a/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json +++ b/pkgs/by-name/te/technitium-dns-server-library/nuget-deps.json @@ -1,8 +1,8 @@ [ { "pname": "BouncyCastle.Cryptography", - "version": "2.6.2", - "hash": "sha256-Yjk2+x/RcVeccGOQOQcRKCiYzyx1mlFnhS5auCII+Ms=" + "version": "2.7.0", + "hash": "sha256-8JH/zKtNA5k+Zgus4ndlmnne4JcvVNfx9L1G1oCWYkE=" }, { "pname": "Microsoft.Win32.SystemEvents", diff --git a/pkgs/by-name/te/technitium-dns-server-library/package.nix b/pkgs/by-name/te/technitium-dns-server-library/package.nix index 68c5826b831e..4cd50a5c19f3 100644 --- a/pkgs/by-name/te/technitium-dns-server-library/package.nix +++ b/pkgs/by-name/te/technitium-dns-server-library/package.nix @@ -6,7 +6,7 @@ }: buildDotnetModule (finalAttrs: { pname = "technitium-dns-server-library"; - version = "15.4.0"; + version = "15.5.1"; __structuredAttrs = true; @@ -14,7 +14,7 @@ buildDotnetModule (finalAttrs: { owner = "TechnitiumSoftware"; repo = "TechnitiumLibrary"; tag = "dns-server-v${finalAttrs.version}"; - hash = "sha256-h6EXPJTlYatT5IiFrIsZC/LJ5exzAAU8H4DZCimkn7Q="; + hash = "sha256-GkHHAXfmT1MUSIG8zsPHBxtpKVSV7KMONLHy00lk10Y="; }; dotnet-sdk = dotnetCorePackages.sdk_10_0; diff --git a/pkgs/by-name/te/technitium-dns-server/nuget-deps.json b/pkgs/by-name/te/technitium-dns-server/nuget-deps.json index dfb73aa03e2b..bb53096e7d47 100644 --- a/pkgs/by-name/te/technitium-dns-server/nuget-deps.json +++ b/pkgs/by-name/te/technitium-dns-server/nuget-deps.json @@ -1,43 +1,58 @@ [ { "pname": "BouncyCastle.Cryptography", - "version": "2.6.2", - "hash": "sha256-Yjk2+x/RcVeccGOQOQcRKCiYzyx1mlFnhS5auCII+Ms=" + "version": "2.7.0", + "hash": "sha256-8JH/zKtNA5k+Zgus4ndlmnne4JcvVNfx9L1G1oCWYkE=" }, { "pname": "Microsoft.AspNetCore.Authentication.OpenIdConnect", - "version": "10.0.9", - "hash": "sha256-+fRq6oetJlK32C2R/nRBThcO+S6HTX6AIcfg12keAxU=" + "version": "10.0.12", + "hash": "sha256-W3pYq6kIZR6brxV8cWBsgD+lyzVstN0vQ1579WC6Xd4=" + }, + { + "pname": "Microsoft.Bcl.Cryptography", + "version": "10.0.2", + "hash": "sha256-+OYtcWsd1qZcEXadYeA4t6+pyADg1APQCxpKUtP002M=" + }, + { + "pname": "Microsoft.Extensions.DependencyInjection.Abstractions", + "version": "8.0.0", + "hash": "sha256-75KzEGWjbRELczJpCiJub+ltNUMMbz5A/1KQU+5dgP8=" + }, + { + "pname": "Microsoft.Extensions.Logging.Abstractions", + "version": "8.0.0", + "hash": "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4=" }, { "pname": "Microsoft.IdentityModel.Abstractions", - "version": "8.0.1", - "hash": "sha256-zPWUKTCfGm4MWcYPU037NzezsFE1g8tEijjQkw5iooI=" + "version": "8.19.2", + "hash": "sha256-vNGK6u6V+S0MIaYTg+sSkRF4XUjM1K+cKuR1a9aRCLs=" }, { "pname": "Microsoft.IdentityModel.JsonWebTokens", - "version": "8.0.1", - "hash": "sha256-Xv9MUnjb66U3xeR9drOcSX5n2DjOCIJZPMNSKjWHo9Y=" + "version": "8.19.2", + "hash": "sha256-j9ai0NrgytDsfQiIijp1Ib4jRGX9lgREQBoE6XW9SOc=" }, { "pname": "Microsoft.IdentityModel.Logging", - "version": "8.0.1", - "hash": "sha256-FfwrH/2eLT521Kqw+RBIoVfzlTNyYMqlWP3z+T6Wy2Y=" + "version": "8.19.2", + "hash": "sha256-ja8PAYUNwlfIrkL6EOuZ7SgZfRJwIORGG/ETDD1BtRE=" }, { "pname": "Microsoft.IdentityModel.Protocols", - "version": "8.0.1", - "hash": "sha256-v3DIpG6yfIToZBpHOjtQHRo2BhXGDoE70EVs6kBtrRg=" + "version": "8.19.2", + "hash": "sha256-soADEUQsOp1Hytt1qLo+jOOeq7uy7I7tUOWogXeQXFY=" }, { "pname": "Microsoft.IdentityModel.Protocols.OpenIdConnect", - "version": "8.0.1", - "hash": "sha256-ZHKaZxqESk+OU1SFTFGxvZ71zbdgWqv1L6ET9+fdXX0=" + "version": "8.19.2", + "hash": "sha256-uSrN5xlG+SXlxg4NACFU2FSlC3V3hYojdhU8lUc687o=" }, { "pname": "Microsoft.IdentityModel.Tokens", - "version": "8.0.1", - "hash": "sha256-beVbbVQy874HlXkTKarPTT5/r7XR1NGHA/50ywWp7YA=" + "version": "8.19.2", + "hash": "sha256-POi3SzcK3+iB3104wXYh3ooVD1GbltwTUf+KMj//UYU=" }, { "pname": "Microsoft.Win32.SystemEvents", @@ -49,6 +64,11 @@ "version": "1.8.0", "hash": "sha256-UvOeFFxUZ/bddmDs6IamiYGDIfgxybE/CSpPyy5DMxI=" }, + { + "pname": "System.DirectoryServices.Protocols", + "version": "10.0.12", + "hash": "sha256-tpYNScocWAml3NqO4hHvpJr3ULd2rdHxijTcVDIxiEo=" + }, { "pname": "System.Drawing.Common", "version": "6.0.0", @@ -56,7 +76,7 @@ }, { "pname": "System.IdentityModel.Tokens.Jwt", - "version": "8.0.1", - "hash": "sha256-hW4f9zWs0afxPbcMqCA/FAGvBZbBFSkugIOurswomHg=" + "version": "8.19.2", + "hash": "sha256-kEqfEiWkotfDUDphn0MsMqhOc82qQLXlbo5XYg58/io=" } ] diff --git a/pkgs/by-name/te/technitium-dns-server/package.nix b/pkgs/by-name/te/technitium-dns-server/package.nix index 45752d60153b..3cea1cc3140b 100644 --- a/pkgs/by-name/te/technitium-dns-server/package.nix +++ b/pkgs/by-name/te/technitium-dns-server/package.nix @@ -9,7 +9,7 @@ }: buildDotnetModule (finalAttrs: { pname = "technitium-dns-server"; - version = "15.4.0"; + version = "15.5.1"; __structuredAttrs = true; @@ -17,7 +17,7 @@ buildDotnetModule (finalAttrs: { owner = "TechnitiumSoftware"; repo = "DnsServer"; tag = "v${finalAttrs.version}"; - hash = "sha256-EPqaVulPO5giURtlmj4vMDXYFKICrhJa9TQbQ9AaYJ8="; + hash = "sha256-h6GhWVqv+SRpJberH/xJ2bny1j+RFM7FI1E+LxuhLOw="; }; dotnet-sdk = dotnetCorePackages.sdk_10_0; From f6571eb5ae20967c026bf250c25531d5baa83652 Mon Sep 17 00:00:00 2001 From: Tom Hunze Date: Sat, 26 Sep 2026 20:15:06 +0200 Subject: [PATCH 27/31] gvfs: reduce platform support to linux gvfs uses `explicit_bzero`, which is not available on darwin. Hydra: https://hydra.nixos.org/build/345660722 --- pkgs/by-name/gv/gvfs/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/gv/gvfs/package.nix b/pkgs/by-name/gv/gvfs/package.nix index 041007059cee..b681e59170e0 100644 --- a/pkgs/by-name/gv/gvfs/package.nix +++ b/pkgs/by-name/gv/gvfs/package.nix @@ -153,7 +153,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Virtual Filesystem support library" + lib.optionalString gnomeSupport " (full GNOME support)"; license = lib.licenses.lgpl2Plus; - platforms = lib.platforms.unix; + platforms = lib.platforms.linux; teams = [ lib.teams.gnome ]; }; }) From bf6d9e9a57bd23cf88336c899d7bbe8149927276 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 18:38:35 +0000 Subject: [PATCH 28/31] python3Packages.tesla-protocol: 2.0.0 -> 3.0.0 --- pkgs/development/python-modules/tesla-protocol/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tesla-protocol/default.nix b/pkgs/development/python-modules/tesla-protocol/default.nix index f9d5a4e88afb..44f51586d400 100644 --- a/pkgs/development/python-modules/tesla-protocol/default.nix +++ b/pkgs/development/python-modules/tesla-protocol/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "tesla-protocol"; - version = "2.0.0"; + version = "3.0.0"; pyproject = true; src = fetchFromGitHub { owner = "Teslemetry"; repo = "tesla-protocol"; tag = "@teslemetry/tesla-protocol@${finalAttrs.version}"; - hash = "sha256-Zii0Hq4ow7tyMD2Vsjj8wMF4xAHIAYUHeum3htWcRx4="; + hash = "sha256-q5GDWaxgxVH9ZUiu0dKVcKJUo7A/pK+YtVvMrM6Ys88="; }; sourceRoot = "${finalAttrs.src.name}/packages/python"; From d899ca28f17dc5c4fff08650bf109da247b6ec0f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 20:47:36 +0000 Subject: [PATCH 29/31] gpu-screen-recorder-ui: 1.13.9 -> 1.13.10 --- pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix b/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix index 10db980b5c71..733bfacae11e 100644 --- a/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix +++ b/pkgs/by-name/gp/gpu-screen-recorder-ui/package.nix @@ -34,12 +34,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "gpu-screen-recorder-ui"; - version = "1.13.9"; + version = "1.13.10"; src = fetchgit { url = "https://repo.dec05eba.com/gpu-screen-recorder-ui"; tag = finalAttrs.version; - hash = "sha256-f4jTv3IS73NWStg1af20pGKlqwIN9K9ZyLjKUX9Tp3s="; + hash = "sha256-mH/xSdsDHwokemGq2h/qaf/ImN3xlrZupcK+5ptXOns="; }; nativeBuildInputs = [ From 5a6dae13945b70a25f9dfeed7f7c4e74b1dc36cb Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Sat, 26 Sep 2026 16:52:35 -0400 Subject: [PATCH 30/31] ci/github-script/bot: replace "unmaintained" label with "no default reviewers" --- ci/github-script/bot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/github-script/bot.js b/ci/github-script/bot.js index efb5f4935aa8..aa607d0dfc1b 100644 --- a/ci/github-script/bot.js +++ b/ci/github-script/bot.js @@ -491,7 +491,7 @@ export default async ({ github, context, core, dry }) => { ), ).map((id) => parseInt(id)) - prLabels['7.unmaintained'] = + prLabels['7.no default reviewers'] = user_maintainers.length === 0 && team_maintainers.length === 0 && owners.length === 0 From 19519f9f3c094b3acead087a51c92d6d40b2a012 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Sep 2026 23:01:26 +0000 Subject: [PATCH 31/31] meilisearch: 1.53.2 -> 1.54.0 --- pkgs/by-name/me/meilisearch/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/me/meilisearch/package.nix b/pkgs/by-name/me/meilisearch/package.nix index 274dad368412..19f3be11b40b 100644 --- a/pkgs/by-name/me/meilisearch/package.nix +++ b/pkgs/by-name/me/meilisearch/package.nix @@ -8,18 +8,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "meilisearch"; - version = "1.53.2"; + version = "1.54.0"; src = fetchFromGitHub { owner = "meilisearch"; repo = "meilisearch"; tag = "v${finalAttrs.version}"; - hash = "sha256-bbVuB8brplUAqKrmTBah4HKbmshv0n5Hn2v9hUnY62c="; + hash = "sha256-GFVMplrViua0dQyMC6qq4/uk0HJaQZ2HLP5zooYdhyI="; }; cargoBuildFlags = [ "--package=meilisearch" ]; - cargoHash = "sha256-ojRJPL3EHyGmWHcX5SLv11fkP1pUNKrYkd82GEC4zKE="; + cargoHash = "sha256-OddLDA+jyIFUnP8XNnh3oFTVmop3IKGn9UpfYD48jWE="; # Default features include mini dashboard which downloads something from the internet. buildNoDefaultFeatures = true;