From 4ef2a18e9e358202347b9a67418bf7f1e51f7322 Mon Sep 17 00:00:00 2001 From: phaer Date: Tue, 25 Nov 2025 14:20:25 +0100 Subject: [PATCH 01/39] nixos/restic-rest-server: set ReusePort=true for socket to make restarts more robust --- nixos/modules/services/backup/restic-rest-server.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix index e8d34e879dc5..4abe906388a6 100644 --- a/nixos/modules/services/backup/restic-rest-server.nix +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -134,6 +134,9 @@ in systemd.sockets.restic-rest-server = { listenStreams = [ cfg.listenAddress ]; wantedBy = [ "sockets.target" ]; + socketConfig = { + ReusePort = true; + }; }; systemd.tmpfiles.rules = lib.mkIf cfg.privateRepos [ From f02f30a021790004f211f988f2ca047127c848e5 Mon Sep 17 00:00:00 2001 From: phaer Date: Tue, 25 Nov 2025 14:21:35 +0100 Subject: [PATCH 02/39] nixos/restic-rest-server: set FreeBind=true for socket... in order to allow binding to not (yet) locally available interfaces. man 5 systemd.socket says: > For robustness reasons it is recommended to use this option > whenever you bind a socket to a specific IP address. --- nixos/modules/services/backup/restic-rest-server.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix index 4abe906388a6..6b374e0b0213 100644 --- a/nixos/modules/services/backup/restic-rest-server.nix +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -136,6 +136,7 @@ in wantedBy = [ "sockets.target" ]; socketConfig = { ReusePort = true; + FreeBind = true; }; }; From 2863f5c324e03c0b9bf15e94e5509e5879f163d1 Mon Sep 17 00:00:00 2001 From: Jamie Quigley Date: Wed, 5 Nov 2025 14:59:11 +0000 Subject: [PATCH 03/39] dr14_tmeter: 1.0.16 -> unstable-20250927 Apply suggestions from code review from @SuperSandro2000 --- pkgs/by-name/dr/dr14_tmeter/package.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/dr/dr14_tmeter/package.nix b/pkgs/by-name/dr/dr14_tmeter/package.nix index 797550823ebd..09daa19712ad 100644 --- a/pkgs/by-name/dr/dr14_tmeter/package.nix +++ b/pkgs/by-name/dr/dr14_tmeter/package.nix @@ -5,22 +5,21 @@ pkgs, }: -python3Packages.buildPythonApplication rec { +python3Packages.buildPythonApplication { pname = "dr14_tmeter"; - version = "1.0.16"; + version = "1.0.16-unstable-2025-09-27"; format = "setuptools"; - disabled = !python3Packages.isPy3k; - src = fetchFromGitHub { - owner = "simon-r"; + owner = "hboetes"; repo = "dr14_t.meter"; - rev = "v${version}"; - sha256 = "1nfsasi7kx0myxkahbd7rz8796mcf5nsadrsjjpx2kgaaw5nkv1m"; + rev = "f9d62f60c30d9404d4c4b644931e76049332310c"; + sha256 = "sha256-3z9Gi32aG6Tk9UHpfT1VqmBZpFJrlKB+NZFu3CH+18U="; }; propagatedBuildInputs = with pkgs; [ python3Packages.numpy + python3Packages.mutagen flac vorbis-tools ffmpeg From 652e724f68fd2025d1b3a1a95d16884ee5641ca8 Mon Sep 17 00:00:00 2001 From: Jamie Quigley Date: Wed, 5 Nov 2025 20:11:29 +0000 Subject: [PATCH 04/39] dr14_tmeter: add sciencentistguy as maintainer --- pkgs/by-name/dr/dr14_tmeter/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/dr/dr14_tmeter/package.nix b/pkgs/by-name/dr/dr14_tmeter/package.nix index 09daa19712ad..887c046e2d13 100644 --- a/pkgs/by-name/dr/dr14_tmeter/package.nix +++ b/pkgs/by-name/dr/dr14_tmeter/package.nix @@ -35,6 +35,6 @@ python3Packages.buildPythonApplication { mainProgram = "dr14_tmeter"; license = lib.licenses.gpl3Plus; homepage = "http://dr14tmeter.sourceforge.net/"; - maintainers = [ ]; + maintainers = with maintainers; [ sciencentistguy ]; }; } From 8f58d081214cf2bbc9f310939fcda0c96a81761b Mon Sep 17 00:00:00 2001 From: Jamie Quigley Date: Fri, 21 Nov 2025 10:05:39 +0000 Subject: [PATCH 05/39] dr14_t.meter: update homepage --- pkgs/by-name/dr/dr14_tmeter/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dr/dr14_tmeter/package.nix b/pkgs/by-name/dr/dr14_tmeter/package.nix index 887c046e2d13..921b920cc613 100644 --- a/pkgs/by-name/dr/dr14_tmeter/package.nix +++ b/pkgs/by-name/dr/dr14_tmeter/package.nix @@ -33,8 +33,8 @@ python3Packages.buildPythonApplication { meta = { description = "Compute the DR14 of a given audio file according to the procedure described by the Pleasurize Music Foundation"; mainProgram = "dr14_tmeter"; + homepage = "https://github.com/hboetes/dr14_t.meter"; + maintainers = with lib.maintainers; [ sciencentistguy ]; license = lib.licenses.gpl3Plus; - homepage = "http://dr14tmeter.sourceforge.net/"; - maintainers = with maintainers; [ sciencentistguy ]; }; } From 90296b1ed2b090583bfb1fbca831970a8c12667f Mon Sep 17 00:00:00 2001 From: Jhony Elmer Angulo Fabian Date: Mon, 5 Jan 2026 00:00:37 -0500 Subject: [PATCH 06/39] just: 1.45.0 -> 1.46.0 --- pkgs/by-name/ju/just/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ju/just/package.nix b/pkgs/by-name/ju/just/package.nix index 1182233cdd95..9be4d7dfc50a 100644 --- a/pkgs/by-name/ju/just/package.nix +++ b/pkgs/by-name/ju/just/package.nix @@ -17,7 +17,7 @@ withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: let - version = "1.45.0"; + version = "1.46.0"; in rustPlatform.buildRustPackage { inherit version; @@ -34,10 +34,10 @@ rustPlatform.buildRustPackage { owner = "casey"; repo = "just"; tag = version; - hash = "sha256-D+xMPpn8JLX88eIO9zY051K81KPGBhcFvhBIwuTDymk="; + hash = "sha256-NE54LKS2bYBfQL+yLJPaG4iF7EiJfDqBfnsrlPo1+OE="; }; - cargoHash = "sha256-zokI+mWyI/HmzP7GuO59usEsscl3tpeyhNT2tXmLny8="; + cargoHash = "sha256-yyaJAWp6luizA/aQuUGhdxRX2Ofri4CeLIO3/ndSCzc="; nativeBuildInputs = lib.optionals (installShellCompletions || installManPages) [ installShellFiles ] From cab53706906a956302428c825c6b4e71af48b7fc Mon Sep 17 00:00:00 2001 From: Philipp Bartsch Date: Sat, 10 Jan 2026 17:54:43 +0100 Subject: [PATCH 07/39] python3Packages.python-cstruct: 6.1 -> 6.2 --- .../python-modules/cstruct/default.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/cstruct/default.nix b/pkgs/development/python-modules/cstruct/default.nix index d30f702ce6b5..fb14a65d31fc 100644 --- a/pkgs/development/python-modules/cstruct/default.nix +++ b/pkgs/development/python-modules/cstruct/default.nix @@ -3,18 +3,21 @@ buildPythonPackage, fetchFromGitHub, pytestCheckHook, + setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cstruct"; - version = "6.1"; - format = "setuptools"; + version = "6.2"; + pyproject = true; + + build-system = [ setuptools ]; src = fetchFromGitHub { owner = "andreax79"; repo = "python-cstruct"; - tag = "v${version}"; - hash = "sha256-9MC6f8U++vJkglBmGMTmiamE8XqUNKTzKOz7TA148Ys="; + tag = "v${finalAttrs.version}"; + hash = "sha256-jLpuvApEP8Acva/OV3ulwl4+dOy8t/cD/LFJWWnD3BM="; }; pythonImportsCheck = [ "cstruct" ]; @@ -24,8 +27,8 @@ buildPythonPackage rec { meta = { description = "C-style structs for Python"; homepage = "https://github.com/andreax79/python-cstruct"; - changelog = "https://github.com/andreax79/python-cstruct/blob/${src.tag}/changelog.txt"; + changelog = "https://github.com/andreax79/python-cstruct/blob/${finalAttrs.src.tag}/changelog.txt"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ tnias ]; }; -} +}) From f9576bd74df7b866104aff2e710d9cc648d73777 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Mon, 12 Jan 2026 16:57:49 +0100 Subject: [PATCH 08/39] nixos/onlyoffice: declaratively manage fonts This refactor has several additional advantages: * simplify by moving logic from service startup to build time, also making the service more stateless because they can now be loaded from the nix store instead of keeping this state in /var/lib/onlyoffice * improve disk usage by reducing the need for copying over symlinking This also unlocks further simplifications: it removes the need to have `pkgs/by-name/x2/x2t` as a separate package and brings us closer to not needing the fhs wrapper for the converter and docservice. Those are for the future, though. --- .../modules/services/web-apps/onlyoffice.nix | 22 +-- .../on/onlyoffice-documentserver/package.nix | 153 +++++++++--------- .../core-fontengine-custom-fonts-paths.patch | 27 ++++ .../x2/x2t/doctrenderer-config-dir.patch | 13 -- pkgs/by-name/x2/x2t/package.nix | 43 ++--- 5 files changed, 126 insertions(+), 132 deletions(-) create mode 100644 pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch delete mode 100644 pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix index 10c0ed1b779c..526ef9269645 100644 --- a/nixos/modules/services/web-apps/onlyoffice.nix +++ b/nixos/modules/services/web-apps/onlyoffice.nix @@ -133,13 +133,6 @@ in virtualHosts.${cfg.hostname} = { locations = { - # resources that are generated and thus cannot be taken from the cfg.package yet: - "~ ^(\\/[\\d]+\\.[\\d]+\\.[\\d]+[\\.|-][\\w]+)?\\/(sdkjs/common/AllFonts.js)$".extraConfig = '' - proxy_pass http://onlyoffice-docservice/$2$3; - ''; - "~ ^(\\/[\\d]+\\.[\\d]+\\.[\\d]+[\\.|-][\\w]+)?\\/(fonts/.*)$".extraConfig = '' - proxy_pass http://onlyoffice-docservice/$2$3; - ''; # /etc/nginx/includes/ds-docservice.conf # disable caching for api.js "~ ^(\\/[\\d]+\\.[\\d]+\\.[\\d]+[\\.|-][\\w]+)?\\/(web-apps\\/apps\\/api\\/documents\\/api\\.js)$".extraConfig = @@ -278,7 +271,7 @@ in serviceConfig = { # needs to be ran wrapped in FHS for now # because the default config refers to many FHS paths - ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.fileconverter}/bin/fileconverter /run/onlyoffice/config"; + ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.fileconverter}/bin/fileconverter"; Group = "onlyoffice"; Restart = "always"; RuntimeDirectory = "onlyoffice"; @@ -336,8 +329,10 @@ in ' /run/onlyoffice/config/default.json | sponge /run/onlyoffice/config/default.json chmod u+w /run/onlyoffice/config/production-linux.json - jq '.FileConverter.converter.x2tPath = "${cfg.x2t}/bin/x2t"' \ - /run/onlyoffice/config/production-linux.json | sponge /run/onlyoffice/config/production-linux.json + jq ' + .log.filePath = "/run/onlyoffice/config/log4js/production.json" | + .FileConverter.converter.x2tPath = "${cfg.package.x2t-with-fonts-and-themes}/bin/x2t" + ' /run/onlyoffice/config/production-linux.json | sponge /run/onlyoffice/config/production-linux.json chmod u+w /run/onlyoffice/config/log4js/production.json jq '.categories.default.level = "${cfg.loglevel}"' \ @@ -360,8 +355,13 @@ in ]; requires = [ "postgresql.target" ]; wantedBy = [ "multi-user.target" ]; + environment = { + NODE_CONFIG_DIR = "/run/onlyoffice/config"; + NODE_DISABLE_COLORS = "1"; + NODE_ENV = "production-linux"; + }; serviceConfig = { - ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.docservice}/bin/docservice /run/onlyoffice/config"; + ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper ${cfg.package.docservice}/bin/docservice"; ExecStartPre = [ onlyoffice-prestart ]; Group = "onlyoffice"; Restart = "always"; diff --git a/pkgs/by-name/on/onlyoffice-documentserver/package.nix b/pkgs/by-name/on/onlyoffice-documentserver/package.nix index 59bf1a6b4483..61f9d7e50ae8 100644 --- a/pkgs/by-name/on/onlyoffice-documentserver/package.nix +++ b/pkgs/by-name/on/onlyoffice-documentserver/package.nix @@ -1,21 +1,21 @@ { buildFHSEnv, buildNpmPackage, - corefonts, dpkg, - dejavu_fonts, fetchFromGitHub, fetchurl, gcc-unwrapped, lib, - liberation_ttf_v1, lndir, nixosTests, pkg-config, + runCommand, stdenv, vips, writeScript, x2t, + + extra-fonts ? [ ], }: let @@ -76,6 +76,59 @@ let ln -s ${docservice}/lib/node_modules/coauthoring $out/lib/node_modules/DocService ''; }); + + # https://github.com/ONLYOFFICE/document-server-package/blob/master/common/documentserver/bin/documentserver-generate-allfonts.sh.m4 + x2t-with-fonts-and-themes = runCommand "x2t-with-fonts-and-themes" { } '' + mkdir -p $out/web + mkdir -p $out/converter + mkdir -p $out/images + mkdir -p $out/fonts + + echo Generating fonts + export CUSTOM_FONTS_PATHS=${lib.concatStringsSep ":" extra-fonts} + ${x2t.components.allfontsgen}/bin/allfontsgen \ + --input=${x2t.components.core-fonts} \ + --allfonts-web=$out/web/AllFonts.js \ + --allfonts=$out/converter/AllFonts.js \ + --images=$out/images \ + --selection=$out/converter/font_selection.bin \ + --output-web=$out/fonts \ + --use-system=true + + mkdir -p $out/bin + cp ${x2t}/bin/x2t $out/bin + cat >$out/bin/DoctRenderer.config < + ${x2t.components.sdkjs}/common/Native/native.js + ${x2t.components.sdkjs}/common/Native/jquery_native.js + $out/converter/AllFonts.js + ${x2t.components.web-apps}/vendor/xregexp/xregexp-all-min.js + ${x2t.components.sdkjs} + ${x2t.components.dictionaries} + + EOF + + echo Generating presentation themes + # creates temporary files next to sources... + mkdir working + cp ${x2t.components.sdkjs}/slide/themes/src/* working + ${x2t.components.allthemesgen}/bin/allthemesgen \ + --converter-dir="$out/bin"\ + --src="working"\ + --output="$out/images" + ${x2t.components.allthemesgen}/bin/allthemesgen \ + --converter-dir="$out/bin"\ + --src="working"\ + --output="$out/images"\ + --postfix="ios"\ + --params="280,224" + ${x2t.components.allthemesgen}/bin/allthemesgen \ + --converter-dir="$out/bin"\ + --src="working"\ + --output="$out/images"\ + --postfix="android"\ + --params="280,224" + ''; # var/www/onlyoffice/documentserver/server/DocService/docservice onlyoffice-documentserver = stdenv.mkDerivation { pname = "onlyoffice-documentserver"; @@ -104,10 +157,20 @@ let cp -r common/documentserver-example/welcome $out/var/www/onlyoffice/documentserver-example mkdir -p $out/var/www/onlyoffice/documentserver - ln -s ${x2t.components.web-apps} $out/var/www/onlyoffice/documentserver/web-apps - # copying instead of linking for now because we want to inject - # AllFonts.js in here: - cp -r ${x2t.components.sdkjs} $out/var/www/onlyoffice/documentserver/sdkjs + + # equivalent of usr/bin/documentserver-flush-cache.sh, + # busts cache also when fonts collection changes + mkdir $out/var/www/onlyoffice/documentserver/web-apps + ${lndir}/bin/lndir -silent ${x2t.components.web-apps} $out/var/www/onlyoffice/documentserver/web-apps + mv $out/var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.js{,.orig} + sed -e "s/{{HASH_POSTFIX}}/$(basename $out | cut -d '-' -f 1)/" $out/var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.js.orig > $out/var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.js + + ln -s ${x2t-with-fonts-and-themes}/fonts $out/var/www/onlyoffice/documentserver/fonts + + mkdir -p $out/var/www/onlyoffice/documentserver/sdkjs + ${lndir}/bin/lndir -silent ${x2t.components.sdkjs} $out/var/www/onlyoffice/documentserver/sdkjs + ln -s ${x2t-with-fonts-and-themes}/web/AllFonts.js $out/var/www/onlyoffice/documentserver/sdkjs/common/AllFonts.js + ${lndir}/bin/lndir -silent ${x2t-with-fonts-and-themes}/images $out/var/www/onlyoffice/documentserver/sdkjs/common/Images # we don't currently support sdkjs plugins in NixOS # https://github.com/ONLYOFFICE/build_tools/blob/master/scripts/deploy_server.py#L130 @@ -116,20 +179,22 @@ let mkdir -p $out/var/www/onlyoffice/documentserver/server/schema cp -r ${server-src}/schema/* $out/var/www/onlyoffice/documentserver/server/schema - mkdir -p $out/var/www/onlyoffice/documentserver/server/FileConverter/bin ## required for bwrap --bind chmod u+w $out/var mkdir -p $out/var/lib/onlyoffice - chmod u+w $out/var/www/onlyoffice/documentserver - mkdir $out/var/www/onlyoffice/documentserver/fonts ''; # stripping self extracting javascript binaries likely breaks them dontStrip = true; passthru = { - inherit fileconverter common docservice; + inherit + x2t-with-fonts-and-themes + common + docservice + fileconverter + ; tests = nixosTests.onlyoffice; fhs = buildFHSEnv { name = "onlyoffice-wrapper"; @@ -137,11 +202,6 @@ let targetPkgs = pkgs: [ gcc-unwrapped.lib onlyoffice-documentserver - - # fonts - corefonts - dejavu_fonts - liberation_ttf_v1 fileconverter ]; @@ -152,68 +212,7 @@ let extraBwrapArgs = [ "--bind var/lib/onlyoffice/ var/lib/onlyoffice/" - "--bind var/lib/onlyoffice/documentserver/sdkjs/common/ var/www/onlyoffice/documentserver/sdkjs/common/" - "--bind var/lib/onlyoffice/documentserver/sdkjs/slide/themes/ var/www/onlyoffice/documentserver/sdkjs/slide/themes/" - "--bind var/lib/onlyoffice/documentserver/fonts/ var/www/onlyoffice/documentserver/fonts/" - "--bind var/lib/onlyoffice/documentserver/server/FileConverter/bin/ var/www/onlyoffice/documentserver/server/FileConverter/bin/" ]; - - runScript = writeScript "onlyoffice-documentserver-run-script" '' - export NODE_CONFIG_DIR=$2 - export NODE_DISABLE_COLORS=1 - export NODE_ENV=production-linux - - if [[ $1 == *"docservice" ]]; then - mkdir -p var/www/onlyoffice/documentserver/sdkjs/slide/themes/ - # symlinking themes/src breaks discovery in allfontsgen - rm -rf var/www/onlyoffice/documentserver/sdkjs/slide/themes/src - cp -r ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/sdkjs/slide/themes/src var/www/onlyoffice/documentserver/sdkjs/slide/themes/ - chmod -R u+w var/www/onlyoffice/documentserver/sdkjs/slide/themes/ - - # onlyoffice places generated files in those directores - rm -rf var/www/onlyoffice/documentserver/sdkjs/common/* - ${lndir}/bin/lndir -silent ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/sdkjs/common/ var/www/onlyoffice/documentserver/sdkjs/common/ - rm -rf var/www/onlyoffice/documentserver/server/FileConverter/bin/* - ${lndir}/bin/lndir -silent ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/server/FileConverter/bin/ var/www/onlyoffice/documentserver/server/FileConverter/bin/ - - # https://github.com/ONLYOFFICE/document-server-package/blob/master/common/documentserver/bin/documentserver-generate-allfonts.sh.m4 - # TODO --use-system doesn't actually appear to make a difference? - echo -n Generating AllFonts.js, please wait... - "${x2t.components.allfontsgen}/bin/allfontsgen"\ - --input="${x2t.components.core-fonts}"\ - --allfonts-web="var/www/onlyoffice/documentserver/sdkjs/common/AllFonts.js"\ - --allfonts="var/www/onlyoffice/documentserver/server/FileConverter/bin/AllFonts.js"\ - --images="var/www/onlyoffice/documentserver/sdkjs/common/Images"\ - --selection="var/www/onlyoffice/documentserver/server/FileConverter/bin/font_selection.bin"\ - --output-web="var/www/onlyoffice/documentserver/fonts"\ - --use-system="true" - echo Done - - # TODO x2t brings its on DoctRenderer.config, so it wouldn't pick up the new fonts: - echo -n Generating presentation themes, please wait... - "${x2t.components.allthemesgen}/bin/allthemesgen"\ - --converter-dir="${x2t}/bin"\ - --src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\ - --output="var/www/onlyoffice/documentserver/sdkjs/common/Images" - - "${x2t.components.allthemesgen}/bin/allthemesgen"\ - --converter-dir="${x2t}/bin"\ - --src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\ - --output="var/www/onlyoffice/documentserver/sdkjs/common/Images"\ - --postfix="ios"\ - --params="280,224" - - "${x2t.components.allthemesgen}/bin/allthemesgen"\ - --converter-dir="${x2t}/bin"\ - --src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\ - --output="var/www/onlyoffice/documentserver/sdkjs/common/Images"\ - --postfix="android"\ - --params="280,224" - echo Done - fi - - exec $1 - ''; }; }; diff --git a/pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch b/pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch new file mode 100644 index 000000000000..e043e77eb8c0 --- /dev/null +++ b/pkgs/by-name/x2/x2t/core-fontengine-custom-fonts-paths.patch @@ -0,0 +1,27 @@ +diff --git a/DesktopEditor/fontengine/ApplicationFonts.cpp b/DesktopEditor/fontengine/ApplicationFonts.cpp +index ed1a01fb1b..ee071f9ebe 100644 +--- a/DesktopEditor/fontengine/ApplicationFonts.cpp ++++ b/DesktopEditor/fontengine/ApplicationFonts.cpp +@@ -29,6 +29,7 @@ + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ ++#include + #include "ApplicationFonts.h" + #include "../common/File.h" + #include "../common/Directory.h" +@@ -1845,6 +1846,14 @@ std::vector CApplicationFonts::GetSetupFontFiles(const bool& bIsUs + std::wstring custom_fonts_path = NSSystemUtils::GetEnvVariable(L"CUSTOM_FONTS_PATH"); + if (!custom_fonts_path.empty()) + NSDirectory::GetFiles2(custom_fonts_path, _array, true); ++ ++ std::wstring custom_fonts_paths = NSSystemUtils::GetEnvVariable(L"CUSTOM_FONTS_PATHS"); ++ if (!custom_fonts_paths.empty()) { ++ std::wistringstream stream(custom_fonts_paths); ++ while (std::getline(stream, custom_fonts_path, L':')) { ++ NSDirectory::GetFiles2(custom_fonts_path, _array, true); ++ } ++ } + #endif + + return _array; diff --git a/pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch b/pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch deleted file mode 100644 index a27ff140b112..000000000000 --- a/pkgs/by-name/x2/x2t/doctrenderer-config-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/DesktopEditor/doctrenderer/doctrenderer.cpp b/DesktopEditor/doctrenderer/doctrenderer.cpp -index ac24efa8b2..f6de72cc2a 100644 ---- a/DesktopEditor/doctrenderer/doctrenderer.cpp -+++ b/DesktopEditor/doctrenderer/doctrenderer.cpp -@@ -238,7 +238,7 @@ namespace NSDoctRenderer - public: - CDoctRenderer_Private(const std::wstring& sAllFontsPath = L"") : CDoctRendererConfig() - { -- LoadConfig(NSFile::GetProcessDirectory(), sAllFontsPath); -+ LoadConfig(NSFile::GetProcessDirectory() + L"/../etc", sAllFontsPath); - m_pDrawingFile = NULL; - } - ~CDoctRenderer_Private() diff --git a/pkgs/by-name/x2/x2t/package.nix b/pkgs/by-name/x2/x2t/package.nix index 8bb46f0acc87..79c1f78f0e03 100644 --- a/pkgs/by-name/x2/x2t/package.nix +++ b/pkgs/by-name/x2/x2t/package.nix @@ -137,8 +137,6 @@ let # workaround for https://github.com/NixOS/nixpkgs/issues/477803 nodejs = nodejs_22; - #src = /home/aengelen/d/onlyoffice/documentserver/web-apps; - #sourceRoot = "/build/web-apps/build"; src = fetchFromGitHub { owner = "ONLYOFFICE"; repo = "web-apps"; @@ -183,11 +181,6 @@ let cp -r ../deploy/web-apps $out - ## see usr/bin/documentserver-flush-cache.sh - chmod u+w $out/apps/api/documents - substituteInPlace $out/apps/api/documents/api.js \ - --replace-fail '{{HASH_POSTFIX}}' "$(basename $out | cut -d '-' -f 1)" - runHook postInstall ''; }); @@ -362,6 +355,7 @@ let graphics = buildCoreComponent "DesktopEditor/graphics/pro" { patches = [ ./cximage-types.patch + ./core-fontengine-custom-fonts-paths.patch ]; buildInputs = [ unicodeConverter @@ -470,12 +464,6 @@ let chmod u+w $BUILDRT/Common/3dParty/apple/libetonyek/src/lib cp $BUILDRT/Common/3dParty/apple/headers/* $BUILDRT/Common/3dParty/apple/libetonyek/src/lib ''; - installPhase = '' - runHook preInstall - mkdir -p $out/lib - mv ../build/lib/*/* $out/lib - runHook postInstall - ''; doCheck = true; passthru.tests = buildCoreTests "Apple/test" { buildInputs = [ @@ -601,7 +589,6 @@ let patches = [ # https://github.com/ONLYOFFICE/core/pull/1631 ./doctrenderer-format-security.patch - ./doctrenderer-config-dir.patch ./doctrenderer-v8-iterator.patch ./fontengine-format-security.patch ./v8_updates.patch @@ -731,7 +718,7 @@ let runHook preInstall mkdir -p $out/bin - cp $BUILDRT/build/bin/*/* $BUILDRT/build/bin/*/*/* $out/bin + find $BUILDRT/build -type f -exec cp {} $out/bin \; runHook postInstall ''; @@ -757,7 +744,7 @@ let runHook preInstall mkdir -p $out/bin - cp $BUILDRT/build/bin/*/* $BUILDRT/build/bin/*/*/* $out/bin + find $BUILDRT/build -type f -exec cp {} $out/bin \; runHook postInstall ''; @@ -835,23 +822,17 @@ buildCoreComponent "X2tConverter/build/Qt" { mkdir -p $out/bin find $BUILDRT/build -type f -exec cp {} $out/bin \; - mkdir $out/etc - cat >$out/etc/DoctRenderer.config < - ${sdkjs}/common/Native/native.js - ${sdkjs}//common/Native/jquery_native.js - ${allfonts}/converter/AllFonts.js - ${web-apps}/vendor/xregexp/xregexp-all-min.js - ${sdkjs} - ${dictionaries} - + cat >$out/bin/DoctRenderer.config < + ${sdkjs}/common/Native/native.js + ${sdkjs}/common/Native/jquery_native.js + ${allfonts}/converter/AllFonts.js + ${web-apps}/vendor/xregexp/xregexp-all-min.js + ${sdkjs} + ${dictionaries} + EOF - # TODO when allthemesgen invokes x2t as the converter, it - # hard-codes expecting DoctRenderer.config in the same dir - # the x2t binary is located: - ln -s $out/etc/DoctRenderer.config $out/bin/DoctRenderer.config - runHook postInstall ''; passthru.tests = { From 7a4387cee36d24af67c647d9b37a8f8e7cdf9c1e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 20 Jan 2026 02:29:43 +0000 Subject: [PATCH 09/39] proton-pass: 1.33.4 -> 1.33.5 --- pkgs/by-name/pr/proton-pass/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/proton-pass/package.nix b/pkgs/by-name/pr/proton-pass/package.nix index 226559f00913..bf91216f834c 100644 --- a/pkgs/by-name/pr/proton-pass/package.nix +++ b/pkgs/by-name/pr/proton-pass/package.nix @@ -9,11 +9,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "proton-pass"; - version = "1.33.4"; + version = "1.33.5"; src = fetchurl { url = "https://proton.me/download/pass/linux/x64/proton-pass_${finalAttrs.version}_amd64.deb"; - hash = "sha256-sGO4BiVS1Zbs0y6UkBK42Tfq+VrLDcYXZA4U3xHaXmM="; + hash = "sha256-2H8zqo9UQubz2x7Pt1NG8OK14/ThvVS9Q0s73oTgbhs="; }; dontConfigure = true; From c3da3ac40bcd18cd5a6d4ef8b49cfdd299db8634 Mon Sep 17 00:00:00 2001 From: Marie Ramlow Date: Tue, 20 Jan 2026 08:14:31 +0000 Subject: [PATCH 10/39] appium-inspector: 2025.8.2 -> 2026.1.2 --- pkgs/by-name/ap/appium-inspector/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ap/appium-inspector/package.nix b/pkgs/by-name/ap/appium-inspector/package.nix index 473216d965f1..d7bfdf16faef 100644 --- a/pkgs/by-name/ap/appium-inspector/package.nix +++ b/pkgs/by-name/ap/appium-inspector/package.nix @@ -2,7 +2,7 @@ lib, buildNpmPackage, copyDesktopItems, - electron_38, + electron_39, fetchFromGitHub, makeDesktopItem, makeWrapper, @@ -10,8 +10,8 @@ }: let - electron = electron_38; - version = "2025.8.2"; + electron = electron_39; + version = "2026.1.2"; in buildNpmPackage { @@ -22,10 +22,10 @@ buildNpmPackage { owner = "appium"; repo = "appium-inspector"; tag = "v${version}"; - hash = "sha256-v3UN58dJ+rSdFx+99xRMI88gnJ/hgL48Lr7AMjNgXMY="; + hash = "sha256-uNRm6XHgK55gayl4ab9atV4+i9uCnxEcl4C6HEOX6Ro="; }; - npmDepsHash = "sha256-rlmAZyznoLSudAf7k1mgf13CO+9mlDB3HhubPga+30Q="; + npmDepsHash = "sha256-MraVLbKNgEhwT9sTyNhi4uDfyXOEAGOznvSs0B+mEUA="; npmFlags = [ "--ignore-scripts" ]; nativeBuildInputs = [ From 50b4fac9e10f5ed7f0f479ad3b306a0c94630dcf Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 13 Jan 2026 10:52:36 +0100 Subject: [PATCH 11/39] nixos/pdns-recursor: remove old-settings --- .../services/networking/pdns-recursor.nix | 72 ++++++------------- nixos/tests/pdns-recursor.nix | 4 -- 2 files changed, 20 insertions(+), 56 deletions(-) diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix index 172f45c61331..bed9eb636086 100644 --- a/nixos/modules/services/networking/pdns-recursor.nix +++ b/nixos/modules/services/networking/pdns-recursor.nix @@ -48,23 +48,6 @@ let } ); - configFile = - if cfg.old-settings != { } then - # Convert recursor.conf to recursor.yml and merge it - let - conf = pkgs.writeText "recursor.conf" ( - concatStringsSep "\n" (mapAttrsToList (name: val: "${name}=${serialize val}") cfg.old-settings) - ); - - yaml = settingsFormat.generate "recursor.yml" cfg.yaml-settings; - in - pkgs.runCommand "recursor-merged.yml" { } '' - ${pkgs.pdns-recursor}/bin/rec_control show-yaml --config ${conf} > override.yml - ${pkgs.yq-go}/bin/yq '. *= load("override.yml")' ${yaml} > $out - '' - else - settingsFormat.generate "recursor.yml" cfg.yaml-settings; - in { options.services.pdns-recursor = { @@ -196,30 +179,7 @@ in ''; }; - old-settings = mkOption { - type = configType; - default = { }; - example = literalExpression '' - { - loglevel = 8; - log-common-errors = true; - } - ''; - description = '' - Older PowerDNS Recursor settings. Use this option to configure - Recursor settings not exposed in a NixOS option or to bypass one. - See the full documentation at - - for the available options. - - ::: {.warning} - This option is provided for backward compatibility only - and will be removed in the next release of NixOS. - ::: - ''; - }; - - yaml-settings = mkOption { + settings = mkOption { type = settingsFormat.type; default = { }; example = literalExpression '' @@ -249,11 +209,12 @@ in config = mkIf cfg.enable { - environment.etc."/pdns-recursor/recursor.yml".source = configFile; + environment.etc."/pdns-recursor/recursor.yml".source = + settingsFormat.generate "recursor.yml" cfg.settings; networking.resolvconf.useLocalResolver = lib.mkDefault true; - services.pdns-recursor.yaml-settings = { + services.pdns-recursor.settings = { incoming = mkDefaultAttrs { listen = cfg.dns.address; port = cfg.dns.port; @@ -301,15 +262,6 @@ in users.groups.pdns-recursor = { }; - warnings = lib.optional (cfg.old-settings != { }) '' - pdns-recursor has changed its configuration file format from pdns-recursor.conf - (mapped to `services.pdns-recursor.old-settings`) to the newer pdns-recursor.yml - (mapped to `services.pdns-recursor.yaml-settings`). - - Support for the older format will be removed in a future version, so please migrate - your settings over. See . - ''; - }; imports = [ @@ -320,16 +272,32 @@ in ] "To change extra Recursor settings use services.pdns-recursor.settings instead.") (mkRenamedOptionModule + [ + "services" + "pdns-recursor" + "yaml-settings" + ] [ "services" "pdns-recursor" "settings" ] + ) + + (mkRemovedOptionModule [ "services" "pdns-recursor" "old-settings" ] + '' + pdns-recursor has changed its configuration file format from pdns-recursor.conf + (mapped to `services.pdns-recursor.old-settings`) to the newer pdns-recursor.yml + (mapped to `services.pdns-recursor.settings`). + + Support for the older format has been removed, please migrate your settings over. + See . + '' ) ]; diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix index 0c326d7db965..160d9a0fd2a0 100644 --- a/nixos/tests/pdns-recursor.nix +++ b/nixos/tests/pdns-recursor.nix @@ -7,7 +7,6 @@ nodes.server = { services.pdns-recursor.enable = true; services.pdns-recursor.exportHosts = true; - services.pdns-recursor.old-settings.dnssec-log-bogus = true; networking.hosts."192.0.2.1" = [ "example.com" ]; }; @@ -18,8 +17,5 @@ with subtest("can resolve names"): assert "192.0.2.1" in server.succeed("host example.com localhost") - - with subtest("old-settings have been merged in"): - server.succeed("${lib.getExe pkgs.yq-go} -e .dnssec.log_bogus /etc/pdns-recursor/recursor.yml") ''; } From e075f892c3d55c181ad464de4b86797a7a50de3e Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 21 Jan 2026 17:31:29 +0100 Subject: [PATCH 12/39] nixos/release-notes: warn of pdns-recursor.old-settings removal --- nixos/doc/manual/release-notes/rl-2505.section.md | 8 ++++---- nixos/doc/manual/release-notes/rl-2605.section.md | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index cbaf33c5ed40..3b8575bff47e 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -275,11 +275,11 @@ Alongside many enhancements to NixOS modules and general system improvements, th and thus doesn't qualify as default. - PowerDNS Recursor has been updated to version 5.1.2, which comes with a new YAML configuration format (`recursor.yml`) - and deprecates the previous format (`recursor.conf`). Accordingly, the NixOS option `services.pdns-recursor.settings` - has been renamed to [old-settings](#opt-services.pdns-recursor.old-settings) and will be provided for backward compatibility - until the next NixOS release. Users are asked to migrate their settings to the new [yaml-settings](#opt-services.pdns-recursor.old-settings) + and deprecates the previous format (`recursor.conf`). Accordingly, the NixOS option {option}`services.pdns-recursor.settings` + has been renamed to `old-settings` and will be provided for backward compatibility + until the next NixOS release. Users are asked to migrate their settings to the new `yaml-settings`. option following this [guide](https://doc.powerdns.com/recursor/appendices/yamlconversion.html). - Note that options other than `services.pdns-recursor.settings` are unaffacted by this change. + Note that options other than {option}`services.pdns-recursor.settings` are unaffacted by this change. - The `virtualisation.hypervGuest.videoMode` option has been removed. Standard tooling can now be used to configure display modes for Hyper-V VMs. diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index d29cb9aa49dc..87267314e9f4 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -97,6 +97,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - `pdns` has been updated to version [v5.0.x](https://doc.powerdns.com/authoritative/changelog/5.0.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-5-0-0) for details. +- In the PowerDNS Recursor module, following the deprecation period started with NixOS 25.05, the option {option}`services.pdns-recursor.old-settings` has been removed and {option}`services.pdns-recursor.yaml-settings` consequently renamed to [](#opt-services.pdns-recursor.settings). + - `services.angrr` now uses TOML for configuration. Define policies with `services.angrr.settings` (generate TOML file) or point to a file using `services.angrr.configFile`. The legacy options `services.angrr.period`, `services.angrr.ownedOnly`, and `services.angrr.removeRoot` have been removed. See `man 5 angrr` and the description of `services.angrr.settings` options for examples and details. - `services.pingvin-share` has been removed as the `pingvin-share.backend` package was broken and the project was archived upstream. From 525cf221bbbd04fa86d945283b59409f52dc01fd Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 13/39] bigquery-emulator: use pname and version instead of name --- pkgs/by-name/bi/bigquery-emulator/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bi/bigquery-emulator/package.nix b/pkgs/by-name/bi/bigquery-emulator/package.nix index b0bdc2b54223..bda65e4a026d 100644 --- a/pkgs/by-name/bi/bigquery-emulator/package.nix +++ b/pkgs/by-name/bi/bigquery-emulator/package.nix @@ -13,7 +13,7 @@ buildGoModule.override stdenv = pkgs.clangStdenv; } { - name = pname; + inherit pname version; src = fetchFromGitHub { owner = "goccy"; From efc0f6d27d30daccb015d24a75ad2aeb35471a4e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 21 Jan 2026 22:34:31 +0000 Subject: [PATCH 14/39] python3Packages.pyrdfa3: 3.6.4 -> 3.6.5 --- pkgs/development/python-modules/pyrdfa3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyrdfa3/default.nix b/pkgs/development/python-modules/pyrdfa3/default.nix index 56c854b026a0..e9967e47a988 100644 --- a/pkgs/development/python-modules/pyrdfa3/default.nix +++ b/pkgs/development/python-modules/pyrdfa3/default.nix @@ -10,12 +10,12 @@ buildPythonPackage (finalAttrs: { pname = "pyrdfa3"; - version = "3.6.4"; + version = "3.6.5"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-ZHEtGkvyGCllKzlxW62m58A7zxnLSfliwZCjj0YXIkM="; + hash = "sha256-D8KP8UJq+AWxAK/3Fi22pD+iFeN/krzpsRO0Zf61Y+o="; }; build-system = [ setuptools ]; From 65e7fe7be2efe94545293f59a0f6837a5185d23b Mon Sep 17 00:00:00 2001 From: TornaxO7 Date: Tue, 20 Jan 2026 17:58:07 +0100 Subject: [PATCH 15/39] paperless-ngx: 2.20.4 -> 2.20.5 --- pkgs/by-name/pa/paperless-ngx/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 4a2746ae109c..50ec4711c028 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -30,13 +30,13 @@ xorg, }: let - version = "2.20.4"; + version = "2.20.5"; src = fetchFromGitHub { owner = "paperless-ngx"; repo = "paperless-ngx"; tag = "v${version}"; - hash = "sha256-xWyYisSJ5FKU+ZFrCtjo94TjqXCzHDVdPAISMTX0Tt8="; + hash = "sha256-EZaAn55gilvTitAo0p7U3BeqNI9iYIWg147BbO2fp9M="; }; python = python3.override { From 9912c6a2d2468f524486872a5224891b947fcc10 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Wed, 21 Jan 2026 19:27:59 -0500 Subject: [PATCH 16/39] buildMozillaMach: increase hydra timeout to 1d on darwin With lto enabled for darwin, we now observe timeouts in Hydra [1]. Looks like the default timeout is ~4h, and usually builds succeeds in a few hours, so 1d should be more than enough to complete a build, even with heavy node load. [1] https://hydra.nixos.org/build/319560484 --- pkgs/build-support/build-mozilla-mach/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/build-mozilla-mach/default.nix b/pkgs/build-support/build-mozilla-mach/default.nix index 5117b979f686..73d1ccef9574 100644 --- a/pkgs/build-support/build-mozilla-mach/default.nix +++ b/pkgs/build-support/build-mozilla-mach/default.nix @@ -293,7 +293,14 @@ buildStdenv.mkDerivation { pname = "${pname}-unwrapped"; version = packageVersion; - inherit src unpackPhase meta; + inherit src unpackPhase; + + meta = + meta + // lib.optionalAttrs stdenv.hostPlatform.isDarwin { + # MacOS builds may take a long time and sometimes hit the default timeout + timeout = lib.max (24 * 60 * 60) (meta.timeout or 0); + }; outputs = [ "out" From 9f7b8fb43500284cf8102f3788b41ce5a737b370 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 02:55:03 +0000 Subject: [PATCH 17/39] vscode-extensions.augment.vscode-augment: 0.747.1 -> 0.754.2 --- .../vscode/extensions/augment.vscode-augment/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix b/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix index 6e57235a3a13..5ad265dbabba 100644 --- a/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix +++ b/pkgs/applications/editors/vscode/extensions/augment.vscode-augment/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-augment"; publisher = "augment"; - version = "0.747.1"; - hash = "sha256-QQty7jtBHSUHR/BIPCjKMlIuCnn5dbVCqSsXv4LVfdE="; + version = "0.754.2"; + hash = "sha256-PWcJr6hTCGeDLMG0h54x5D2n6zrK/bEqv7kygSZS/qo="; }; meta = { From 6ba9d73366940639d22a87a353908c06ac1fbeaa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 05:48:52 +0000 Subject: [PATCH 18/39] python3Packages.geniushub-client: 0.7.1 -> 0.7.2 --- pkgs/development/python-modules/geniushub-client/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/geniushub-client/default.nix b/pkgs/development/python-modules/geniushub-client/default.nix index b56ab9f61f58..6eceb28fd3f6 100644 --- a/pkgs/development/python-modules/geniushub-client/default.nix +++ b/pkgs/development/python-modules/geniushub-client/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "geniushub-client"; - version = "0.7.1"; + version = "0.7.2"; format = "setuptools"; src = fetchFromGitHub { owner = "manzanotti"; repo = "geniushub-client"; tag = "v${version}"; - hash = "sha256-Gq2scYos7E8me1a4x7NanHRq2eYWuU2uSUwM+O1TPb8="; + hash = "sha256-RBXqSpumJMLZIT+nQr/BUE315krjRy/Qk9OlX9Ukn3Y="; }; postPatch = '' From ad1894035200ec09224e52c91865eb4c5c6a0bea Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:00:15 +0000 Subject: [PATCH 19/39] terraform-providers.yandex-cloud_yandex: 0.178.0 -> 0.179.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 9c353c6a01e6..85e2b68f8a18 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1499,12 +1499,12 @@ "vendorHash": "sha256-Z4DfoG4ApXbPNXZs9YvBWQj1bH7moLNI6P+nKDHt/Jc=" }, "yandex-cloud_yandex": { - "hash": "sha256-nJzWN2OrRiXKLzM1awn68eTW4WFvLavA06+/2BmRPGA=", + "hash": "sha256-lNVCxNXYai+da2Hcg1+tcoYzoYRLRoCjzAQ/UB1WW4g=", "homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex", "owner": "yandex-cloud", "repo": "terraform-provider-yandex", - "rev": "v0.178.0", + "rev": "v0.179.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-bHsSBrfyUgUzuFOgFHXmPV12e4whsU5LTIzIXHeHlH0=" + "vendorHash": "sha256-JW8aCDhY0XLoeFN864bM9ZWPxDrGk7VGTAUhx3PiQ+E=" } } From fe58ac3cdcf18472c90bd5bccc41c3ac870c39e4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 06:37:29 +0000 Subject: [PATCH 20/39] comrak: 0.49.0 -> 0.50.0 --- pkgs/by-name/co/comrak/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/comrak/package.nix b/pkgs/by-name/co/comrak/package.nix index 8adf32137ff6..4fcb23f33597 100644 --- a/pkgs/by-name/co/comrak/package.nix +++ b/pkgs/by-name/co/comrak/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "comrak"; - version = "0.49.0"; + version = "0.50.0"; src = fetchFromGitHub { owner = "kivikakk"; repo = "comrak"; rev = "v${version}"; - sha256 = "sha256-o4fa5lO8fTf5Nb2kGUqCRK/v5rQOlmHbnzCx9l7S3So="; + sha256 = "sha256-OWfNg66ZLorN+PW26v2n695f8vfqT76jO6Bl+M/FNdc="; }; - cargoHash = "sha256-ceDdBBolkQYI3F58DgKztWfULvc5jVp69FDdk6NxcLU="; + cargoHash = "sha256-d4krWEvupTniVka4f7OPvWbJx6YoT0tfzxr7SU46jME="; meta = { description = "CommonMark-compatible GitHub Flavored Markdown parser and formatter"; From 153987f644d117d7d2db5503b00f7254fcca7147 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 21/39] bottles: set pname and version instead of name --- pkgs/by-name/bo/bottles/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bo/bottles/package.nix b/pkgs/by-name/bo/bottles/package.nix index f9ff26adcf71..8b84cb39c1c6 100644 --- a/pkgs/by-name/bo/bottles/package.nix +++ b/pkgs/by-name/bo/bottles/package.nix @@ -116,7 +116,7 @@ let }; in symlinkJoin { - name = "bottles"; + pname = "bottles"; paths = [ (buildFHSEnv ( fhsEnv @@ -139,5 +139,5 @@ symlinkJoin { ln -s ${bottles-unwrapped}/share/icons $out/share ''; - inherit (bottles-unwrapped) meta; + inherit (bottles-unwrapped) meta version; } From 270be28f9706aab7e5e2e9ae3a165bf80d886dc9 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 22/39] brasero: set pname and version instead of name --- pkgs/by-name/br/brasero/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/br/brasero/package.nix b/pkgs/by-name/br/brasero/package.nix index 2747bc994796..f21abd74e845 100644 --- a/pkgs/by-name/br/brasero/package.nix +++ b/pkgs/by-name/br/brasero/package.nix @@ -11,7 +11,7 @@ let binPath = lib.makeBinPath [ cdrtools ]; in symlinkJoin { - name = "brasero-${brasero-unwrapped.version}"; + pname = "brasero"; paths = [ brasero-unwrapped ]; nativeBuildInputs = [ makeWrapper ]; @@ -22,5 +22,5 @@ symlinkJoin { --prefix LD_PRELOAD : ${lib.makeLibraryPath [ libdvdcss ]}/libdvdcss.so ''; - inherit (brasero-unwrapped) meta; + inherit (brasero-unwrapped) meta version; } From f69135155397f13ae7952f5bca46ea3e24324d63 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 23/39] rofi: set pname and version instead of name --- pkgs/by-name/ro/rofi/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ro/rofi/package.nix b/pkgs/by-name/ro/rofi/package.nix index 4b72f3f43f8d..472886bb7912 100644 --- a/pkgs/by-name/ro/rofi/package.nix +++ b/pkgs/by-name/ro/rofi/package.nix @@ -12,7 +12,8 @@ }: symlinkJoin { - name = "rofi-${rofi-unwrapped.version}"; + pname = "rofi"; + inherit (rofi-unwrapped) version; paths = [ rofi-unwrapped.out From c4075a6522e89c20ceba74f55fd30217861849b9 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 24/39] liblockfile: set pname instead of name and _name --- pkgs/by-name/li/liblockfile/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/liblockfile/package.nix b/pkgs/by-name/li/liblockfile/package.nix index 50e3b308e016..30c18c5d6729 100644 --- a/pkgs/by-name/li/liblockfile/package.nix +++ b/pkgs/by-name/li/liblockfile/package.nix @@ -5,12 +5,11 @@ }: stdenv.mkDerivation rec { - _name = "liblockfile"; + pname = "liblockfile"; version = "1.17"; - name = "${_name}-${version}"; src = fetchurl { - url = "mirror://debian/pool/main/libl/${_name}/${_name}_${version}.orig.tar.gz"; + url = "mirror://debian/pool/main/libl/liblockfile/liblockfile_${version}.orig.tar.gz"; sha256 = "sha256-bpN/NlCvq0qsGY80i4mxykLtzrF/trsJGPZCFDzP0V4="; }; From 59dd9ba84c5b1df507ba4cd2064b1c7a9899140c Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 25/39] simutrans: set pname and version instead of name --- pkgs/by-name/si/simutrans/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/si/simutrans/package.nix b/pkgs/by-name/si/simutrans/package.nix index b4a01db9642f..a98eada88762 100644 --- a/pkgs/by-name/si/simutrans/package.nix +++ b/pkgs/by-name/si/simutrans/package.nix @@ -114,7 +114,7 @@ let withPaks = paks: buildEnv { - inherit (binaries) name; + inherit (binaries) pname version; paths = [ binaries ] ++ paks; postBuild = '' rm "$out/bin" && mkdir "$out/bin" From 429885e4021ee2580a9d84751cf23c8964fecf6f Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 26/39] snis: set pname and version instead of name --- pkgs/by-name/sn/snis/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/sn/snis/package.nix b/pkgs/by-name/sn/snis/package.nix index 846786ed8145..b91340d64174 100644 --- a/pkgs/by-name/sn/snis/package.nix +++ b/pkgs/by-name/sn/snis/package.nix @@ -5,7 +5,8 @@ makeWrapper, }: buildEnv { - name = "snis-${snis-unwrapped.version}"; + pname = "snis"; + inherit (snis-unwrapped) version; nativeBuildInputs = [ makeWrapper ]; From ea76efc897f9941d1171ac33380e2a789555b5ec Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 27/39] ssb-patchwork: set pname and version instead of name --- pkgs/by-name/ss/ssb-patchwork/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ss/ssb-patchwork/package.nix b/pkgs/by-name/ss/ssb-patchwork/package.nix index c907e29b3ed9..7e4264a64e78 100644 --- a/pkgs/by-name/ss/ssb-patchwork/package.nix +++ b/pkgs/by-name/ss/ssb-patchwork/package.nix @@ -36,7 +36,9 @@ let in symlinkJoin { - inherit name; + inherit version; + pname = "patchwork"; + paths = [ binary ]; postBuild = '' From 59539a0d522649235391f3792008f3db6f4436f0 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 28/39] zeroad: set pname and version instead of name --- pkgs/by-name/ze/zeroad/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ze/zeroad/package.nix b/pkgs/by-name/ze/zeroad/package.nix index b07405b7ec72..68fdc993daff 100644 --- a/pkgs/by-name/ze/zeroad/package.nix +++ b/pkgs/by-name/ze/zeroad/package.nix @@ -8,7 +8,8 @@ assert zeroad-unwrapped.version == zeroad-data.version; buildEnv { - name = "zeroad-${zeroad-unwrapped.version}"; + pname = "zeroad"; + inherit (zeroad-unwrapped) version; nativeBuildInputs = [ makeWrapper ]; From 5fc8944b6b6535c5351d48035dfabce043e06c58 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 22 Jan 2026 07:06:01 +0000 Subject: [PATCH 29/39] enumer: 1.6.1 -> 1.6.3 --- pkgs/by-name/en/enumer/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/en/enumer/package.nix b/pkgs/by-name/en/enumer/package.nix index a6171014852b..18832deac1f4 100644 --- a/pkgs/by-name/en/enumer/package.nix +++ b/pkgs/by-name/en/enumer/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "enumer"; - version = "1.6.1"; + version = "1.6.3"; src = fetchFromGitHub { owner = "dmarkham"; repo = "enumer"; tag = "v${version}"; - hash = "sha256-Motlnq1U40gUGhDdFtKgQ7ogGfm8RvittTnRWOqIhKU="; + hash = "sha256-VowZcDNksa4ncydzdWyCDMcyEIujUmfVlf4SDEGPpVg="; }; - vendorHash = "sha256-w9T9PWMJjBJP2MmhGC7e78zbszgCwtVrfO5AQlu/ugQ="; + vendorHash = "sha256-3aiAvpNGW2FtMmpzKx/+dWJ3ZQG3BKJei8KcJMyDH20="; meta = { description = "Go tool to auto generate methods for enums"; From f837d3fa69657a94b3a7be73c623d5bac24c1b98 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 30/39] vst2-sdk: set pname instead of name fetchzip supports pname nowdays --- pkgs/by-name/vs/vst2-sdk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vs/vst2-sdk/package.nix b/pkgs/by-name/vs/vst2-sdk/package.nix index 373ec52d4f4a..3f7986224c77 100644 --- a/pkgs/by-name/vs/vst2-sdk/package.nix +++ b/pkgs/by-name/vs/vst2-sdk/package.nix @@ -2,8 +2,8 @@ lib, fetchzip, }: -fetchzip rec { - name = "vst2-sdk-${version}"; # cannot be `pname`, as `fetchzip` expects `name` +fetchzip { + pname = "vst2-sdk"; version = "2018-06-11"; url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/vstsdk3610_11_06_2018_build_37.zip"; hash = "sha256-TyPy8FsXWB8LRz0yr38t3d5xxAxGufAn0dsyrg1JXBA="; From 13e57f5abd6d854dd336f11a3916f1255d440bab Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 31/39] wiringpi: set pname and version instead of name --- pkgs/by-name/wi/wiringpi/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/wi/wiringpi/package.nix b/pkgs/by-name/wi/wiringpi/package.nix index 722adfaaa88e..5fa4ca174f72 100644 --- a/pkgs/by-name/wi/wiringpi/package.nix +++ b/pkgs/by-name/wi/wiringpi/package.nix @@ -74,8 +74,8 @@ let in symlinkJoin { - name = "wiringpi-${version}"; - inherit passthru; + pname = "wiringpi"; + inherit passthru version; paths = [ passthru.wiringPi passthru.devLib From 97e3986e6c755f9dfceea6239c1ff421455c73dd Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 32/39] kubo-migrator: set pname and version instead of name --- pkgs/by-name/ku/kubo-migrator/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ku/kubo-migrator/package.nix b/pkgs/by-name/ku/kubo-migrator/package.nix index 1ed7290d4b0e..aa97712a93c1 100644 --- a/pkgs/by-name/ku/kubo-migrator/package.nix +++ b/pkgs/by-name/ku/kubo-migrator/package.nix @@ -7,7 +7,8 @@ }: buildEnv { - name = "kubo-migrator-${kubo-migrator-unwrapped.version}"; + pname = "kubo-migrator"; + inherit (kubo-migrator-unwrapped) version; nativeBuildInputs = [ makeWrapper ]; From d1e02a6ea8466f146944f649128f5521151d63ff Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 33/39] kubo-fs-repo-migrations: set pname and version instead of name --- pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix b/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix index 463a79a43405..8c3a6bf3cd16 100644 --- a/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix +++ b/pkgs/by-name/ku/kubo-fs-repo-migrations/package.nix @@ -251,7 +251,8 @@ let in symlinkJoin { - name = "kubo-fs-repo-migrations-${version}"; + pname = "kubo-fs-repo-migrations"; + inherit version; paths = if stubBrokenMigrations then migrationsBrokenStubbed else migrationsBrokenRemoved; meta = (removeAttrs kubo-migrator-unwrapped.meta [ "mainProgram" ]) // { description = "Several individual migrations for migrating the filesystem repository of Kubo one version at a time"; From 0ae1734d273c4ed1fbda396c81427db0f0a64d85 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 34/39] arcan-wrapped: set pname and version instead of name --- pkgs/by-name/ar/arcan/wrapper.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ar/arcan/wrapper.nix b/pkgs/by-name/ar/arcan/wrapper.nix index 1d68f8926e8d..822bdd271172 100644 --- a/pkgs/by-name/ar/arcan/wrapper.nix +++ b/pkgs/by-name/ar/arcan/wrapper.nix @@ -7,7 +7,8 @@ }: symlinkJoin { - inherit name; + pname = name; + inherit (arcan) version; paths = appls ++ [ arcan ]; From c3572e7fbc0c6321b533c8e252557d679883fda7 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 35/39] weechat: set pname and version instead of name --- pkgs/applications/networking/irc/weechat/wrapper.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/irc/weechat/wrapper.nix b/pkgs/applications/networking/irc/weechat/wrapper.nix index 1ac3a3dc006d..7202810132cf 100644 --- a/pkgs/applications/networking/irc/weechat/wrapper.nix +++ b/pkgs/applications/networking/irc/weechat/wrapper.nix @@ -110,7 +110,8 @@ let }; in buildEnv { - name = "weechat-bin-env-${weechat.version}"; + pname = "weechat-bin-env"; + inherit (weechat) version; extraOutputsToInstall = lib.optionals installManPages [ "man" ]; paths = [ (mkWeechat "weechat") From 01264929710a879b4e028d999fa8a9a1d8e9ba5e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 36/39] activitywatch: set pname and version instead of name --- pkgs/applications/office/activitywatch/wrapper.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/office/activitywatch/wrapper.nix b/pkgs/applications/office/activitywatch/wrapper.nix index 0a4736a2470c..da9cdcfa4ff8 100644 --- a/pkgs/applications/office/activitywatch/wrapper.nix +++ b/pkgs/applications/office/activitywatch/wrapper.nix @@ -10,7 +10,9 @@ }: symlinkJoin { - name = "activitywatch-${aw-server-rust.version}"; + pname = "activitywatch"; + inherit (aw-server-rust) version; + paths = [ aw-server-rust.out aw-qt.out From dc0d8c0858a3b4720ab75758a0a8ad19f694d75b Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 37/39] rxvt-unicode: set pname and version instead of name --- pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix index 8bd75245da0e..a05561ad975a 100644 --- a/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix +++ b/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix @@ -45,7 +45,7 @@ let perlDeps = (config.perlDeps or [ ]) ++ lib.concatMap mkPerlDeps plugins; in symlinkJoin { - name = "rxvt-unicode-${rxvt-unicode-unwrapped.version}"; + pname = "rxvt-unicode"; paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps; @@ -60,7 +60,7 @@ let --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" ''; - inherit (rxvt-unicode-unwrapped) meta; + inherit (rxvt-unicode-unwrapped) meta version; passthru = { plugins = plugins; From 2354b677a4033b9a582e5ad1896b22a8c63a7a6e Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 38/39] rust-bindgen: set pname and version --- pkgs/development/tools/rust/bindgen/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix index 734d31aba2d3..c7989b5bc6a8 100644 --- a/pkgs/development/tools/rust/bindgen/default.nix +++ b/pkgs/development/tools/rust/bindgen/default.nix @@ -12,6 +12,8 @@ let { #for substituteAll inherit bash; + pname = "rust-bindgen"; + inherit (rust-bindgen-unwrapped) version; unwrapped = rust-bindgen-unwrapped; meta = rust-bindgen-unwrapped.meta // { longDescription = rust-bindgen-unwrapped.meta.longDescription + '' From 2bd7eebb6e43da59b8779c164fa4bf18bd5d3827 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Mon, 19 Jan 2026 14:55:51 +0100 Subject: [PATCH 39/39] ssh-copy-id: set pname and version --- pkgs/tools/networking/openssh/copyid.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/networking/openssh/copyid.nix b/pkgs/tools/networking/openssh/copyid.nix index e8d6f4b3f388..19e858424147 100644 --- a/pkgs/tools/networking/openssh/copyid.nix +++ b/pkgs/tools/networking/openssh/copyid.nix @@ -6,6 +6,8 @@ runCommand "ssh-copy-id-${openssh.version}" { + pname = "ssh-copy-id"; + inherit (openssh) version; outputs = [ "out" "man"