From 3a7f84d0256a91d662e7777bebc283ca829d41bb Mon Sep 17 00:00:00 2001 From: Justin Restivo Date: Tue, 30 Dec 2025 17:14:11 -0500 Subject: [PATCH 01/94] python3Packages.coveralls: fix src hash sha256-c7YV1SAbxmqfVI/wGtfdr+S4T7G2q7tf0FhuyCJaPDg= -> sha256-sr3pR3t21nMZczwugFNAioSry/RxIWAzGdGG070YXGw= --- pkgs/development/python-modules/coveralls/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/coveralls/default.nix b/pkgs/development/python-modules/coveralls/default.nix index 56e089c52984..1d0750548a97 100644 --- a/pkgs/development/python-modules/coveralls/default.nix +++ b/pkgs/development/python-modules/coveralls/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "TheKevJames"; repo = "coveralls-python"; tag = version; - hash = "sha256-c7YV1SAbxmqfVI/wGtfdr+S4T7G2q7tf0FhuyCJaPDg="; + hash = "sha256-sr3pR3t21nMZczwugFNAioSry/RxIWAzGdGG070YXGw="; }; build-system = [ poetry-core ]; From a76ff4f5341d696ed9a181cc0fca91ed92b9eb4b Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Mon, 29 Jun 2026 16:39:51 +0200 Subject: [PATCH 02/94] fabric: rename from Fabric --- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 05bfaf71ecfe..31db0016c8c7 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -741,6 +741,7 @@ mapAliases { eww-wayland = throw "'eww-wayland' has been renamed to/replaced by 'eww'"; # Converted to throw 2025-10-27 ex_doc = warnAlias "'ex_doc' is deprecated in favor of using the beamPackages sets. Use 'beamPackages.ex_doc' instead." beamPackages.ex_doc; # added 2026-06-15 f3d_egl = warnAlias "'f3d' now build with egl support by default, so `f3d_egl` is deprecated, consider using 'f3d' instead." f3d; # Added 2025-07-18 + Fabric = fabric; # Added 2026-06-29 fabs = throw "'fabs' has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 falcon = throw "'falcon' has been removed as it is unmaintained and depends on pcre, which is deprecated"; # Added 2026-06-16 fancontrol-gui = throw "'fancontrol-gui' has been removed due to outdated KF5 dependencies"; # Added 2026-05-01 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 89e8ab34a9ae..3b6b0647a432 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2013,7 +2013,7 @@ with pkgs; expect = tclPackages.expect; - Fabric = with python3Packages; toPythonApplication fabric; + fabric = with python3Packages; toPythonApplication fabric; flatpak-builder = callPackage ../development/tools/flatpak-builder { binutils = binutils-unwrapped; From c668b28d217334cf68ebf274f647652ff480e410 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Mon, 29 Jun 2026 17:29:22 +0200 Subject: [PATCH 03/94] python3Packages.fabric: use __structuredAttrs = true --- pkgs/development/python-modules/fabric/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/fabric/default.nix b/pkgs/development/python-modules/fabric/default.nix index b2f7013432be..33330393af63 100644 --- a/pkgs/development/python-modules/fabric/default.nix +++ b/pkgs/development/python-modules/fabric/default.nix @@ -17,6 +17,7 @@ buildPythonPackage rec { pname = "fabric"; version = "3.2.3"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "fabric"; From c1c1a17669fa86dc522e269e973bac97f0eb8407 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Sun, 12 Jul 2026 20:36:33 +0200 Subject: [PATCH 04/94] python3Packages.kivy: 2.3.1 -> 2.3.1-unstable-2026-07-11 --- .../python-modules/kivy/default.nix | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/pkgs/development/python-modules/kivy/default.nix b/pkgs/development/python-modules/kivy/default.nix index 710985352263..ddf14b3be159 100644 --- a/pkgs/development/python-modules/kivy/default.nix +++ b/pkgs/development/python-modules/kivy/default.nix @@ -3,7 +3,6 @@ stdenv, buildPythonPackage, fetchFromGitHub, - fetchpatch, pkg-config, cython, docutils, @@ -23,33 +22,24 @@ filetype, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "kivy"; - version = "2.3.1"; + version = "2.3.1-unstable-2026-07-11"; pyproject = true; src = fetchFromGitHub { owner = "kivy"; repo = "kivy"; - tag = version; - hash = "sha256-q8BoF/pUTW2GMKBhNsqWDBto5+nASanWifS9AcNRc8Q="; + rev = "d8e642fec15894ce338b0c9773c3f58b41b75f09"; + hash = "sha256-i+4qsCIWOddfkw4fseHyTZRj29cdPX84uaPMORE6Gp4="; }; - patches = [ - # Fix compat with newer Cython - (fetchpatch { - name = "0001-kivy-Remove-old-Python-2-long.patch"; - url = "https://github.com/kivy/kivy/commit/5a1b27d7d3bdee6cedb55440bfae9c4e66fb3c68.patch"; - hash = "sha256-GDNYL8dC1Rh4KJ8oPiIjegOJGzRQ1CsgWQeAvx9+Rc8="; - }) - ]; - postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "setuptools~=69.2.0" "setuptools" \ - --replace-fail "wheel~=0.44.0" "wheel" \ - --replace-fail "cython>=0.29.1,<=3.0.11" "cython" \ - --replace-fail "packaging~=24.0" packaging + --replace-fail "setuptools~=82.0.0" "setuptools" \ + --replace-fail "wheel~=0.47.0" "wheel" \ + --replace-fail "cython>=0.29.1,<=3.2.0" "cython" \ + --replace-fail "packaging~=26.0" packaging '' + lib.optionalString stdenv.hostPlatform.isLinux '' substituteInPlace kivy/lib/mtdev.py \ @@ -122,10 +112,9 @@ buildPythonPackage rec { pythonImportsCheck = [ "kivy" ]; meta = { - changelog = "https://github.com/kivy/kivy/releases/tag/${src.tag}"; description = "Library for rapid development of hardware-accelerated multitouch applications"; homepage = "https://github.com/kivy/kivy"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ risson ]; }; -} +}) From a112a05000a624b42bd31c55c827508acc50b24f Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sat, 11 Jul 2026 15:18:41 -0400 Subject: [PATCH 05/94] perlPackages.CryptOpenSSLRSA: 0.35 -> 0.41 Changelog: https://metacpan.org/dist/Crypt-OpenSSL-RSA/changes Among other things, it restores PKCS#1 v1.5 padding for sign()/verify() in 0.38 which broke proxmox api if deployed on NixOS [1]. [1] https://github.com/SaumonNet/proxmox-nixos/issues/217 --- pkgs/top-level/perl-packages.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8eae59960bba..e9b89d18ae56 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7771,17 +7771,21 @@ with self; CryptOpenSSLRSA = buildPerlPackage { pname = "Crypt-OpenSSL-RSA"; - version = "0.35"; + version = "0.41"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.35.tar.gz"; - hash = "sha256-XuvVWsBxY0yGSo549c+vuq9Dz4TAQyOgm3Hddr8CXMI="; + url = "mirror://cpan/authors/id/T/TI/TIMLEGGE/Crypt-OpenSSL-RSA-0.41.tar.gz"; + hash = "sha256-gvqDmJe4jpwkW2Jl874m07yHnK5MeoFR+tSjB8M2aCI="; }; - propagatedBuildInputs = [ CryptOpenSSLRandom ]; + propagatedBuildInputs = [ + CryptOpenSSLBignum + CryptOpenSSLRandom + ]; env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include"; env.NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto"; env.OPENSSL_PREFIX = pkgs.openssl; buildInputs = [ CryptOpenSSLGuess ]; meta = { + homepage = "https://github.com/cpan-authors/Crypt-OpenSSL-RSA"; description = "RSA encoding and decoding, using the openSSL libraries"; license = with lib.licenses; [ artistic1 From f2e1035aa566b07cc831cf25352df918b2b894e3 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Mon, 20 Jul 2026 22:56:31 -0400 Subject: [PATCH 06/94] perlPackages.MojoSAML: select padding to accommodate new CryptOpenSSLRSA --- .../MojoSAML-select-PKCS-1-padding.patch | 44 +++++++++++++++++++ pkgs/top-level/perl-packages.nix | 3 ++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/perl-modules/MojoSAML-select-PKCS-1-padding.patch diff --git a/pkgs/development/perl-modules/MojoSAML-select-PKCS-1-padding.patch b/pkgs/development/perl-modules/MojoSAML-select-PKCS-1-padding.patch new file mode 100644 index 000000000000..b894586077ee --- /dev/null +++ b/pkgs/development/perl-modules/MojoSAML-select-PKCS-1-padding.patch @@ -0,0 +1,44 @@ +From 7dcb837f5f953206eead3d28144c3d0e2af85c2c Mon Sep 17 00:00:00 2001 +From: Ihar Hrachyshka +Date: Mon, 20 Jul 2026 22:48:38 -0400 +Subject: [PATCH] Select PKCS#1 padding for XML signatures + +The rsa-sha* XML Signature algorithms require RSASSA-PKCS1-v1_5. +Select that padding explicitly instead of relying on the RSA module's +signing default, which is PSS in recent releases. + +Require Crypt::OpenSSL::RSA 0.38, the first release whose signing path +honors the explicit padding choice. + +Assisted-by: Codex +--- + cpanfile | 2 +- + lib/Mojo/XMLSig.pm | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/cpanfile b/cpanfile +index 6c56caf..149f4a6 100644 +--- a/cpanfile ++++ b/cpanfile +@@ -1,5 +1,5 @@ + requires 'Mojolicious', '7.78'; # tag_to_html +-requires 'Crypt::OpenSSL::RSA'; ++requires 'Crypt::OpenSSL::RSA', '0.38'; + requires 'Crypt::OpenSSL::X509'; + requires 'Data::GUID'; + requires 'Digest::SHA'; +diff --git a/lib/Mojo/XMLSig.pm b/lib/Mojo/XMLSig.pm +index 3ee9db3..2498bbe 100644 +--- a/lib/Mojo/XMLSig.pm ++++ b/lib/Mojo/XMLSig.pm +@@ -91,6 +91,7 @@ my $set_algo = sub { + unless $key->$isa('Crypt::OpenSSL::RSA'); + Carp::croak 'Unsupported RSA algorithm' + unless my $method = $key->can("use_${algo}_hash"); ++ $key->use_pkcs1_padding; + $key->$method; + return $key; + }; +-- +2.54.0 + diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e9b89d18ae56..e7865fb7f818 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -23090,6 +23090,9 @@ with self; url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-SAML-0.07.tar.gz"; hash = "sha256-csJMrNtvHXp14uqgBDfHFKv1eafSENSqTT8g8e/0cQ0="; }; + patches = [ + ../development/perl-modules/MojoSAML-select-PKCS-1-padding.patch + ]; buildInputs = [ ModuleBuildTiny ]; propagatedBuildInputs = [ CryptOpenSSLRSA From e139f7d92ab1b7f9b29a564ac879dafed2644519 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 2 Aug 2026 23:10:08 +0100 Subject: [PATCH 07/94] CONTRIBUTING.md: remove automation policy core team escalation path The Nixpkgs core team has disbanded, so this escalation path will no longer function. --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3a92b81bf934..4f579c86a417 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -954,7 +954,6 @@ The following situations are fully or partially exempt: If you believe that someone is using automation without appropriate disclosure and review, you can politely ask them if that’s the case and point them to this policy as appropriate. Please assume good faith and remain civil; it’s not always possible to determine, and it is more likely that someone overlooked this policy than deliberately violated it. -If you think someone is continuing to break the policy after this, please escalate to the [Nixpkgs core team](https://nixos.org/community/teams/nixpkgs-core/) rather than fighting over it. If a contribution is clearly in violation of the policy (e.g. the contributor admits it was not followed, or there are AI tool attributions that do not meet our required format), it can be closed or hidden, preferably after informing the contributor of the policy and giving them a chance to address the violations. Deliberate violations of this policy are considered to break the [Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) clause against “Wasting other people’s time with low quality contributions, including but not limited to LLM and bot spam”. From 6b4f2f7a4d15e63f39d051d464b679264120dfce Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 15 Aug 2026 12:35:59 +0000 Subject: [PATCH 08/94] ocamlPackages.jsont: 0.2.0 -> 0.3.0 --- pkgs/development/ocaml-modules/jsont/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/jsont/default.nix b/pkgs/development/ocaml-modules/jsont/default.nix index 70a88865a76d..b4ebf6925ba1 100644 --- a/pkgs/development/ocaml-modules/jsont/default.nix +++ b/pkgs/development/ocaml-modules/jsont/default.nix @@ -13,13 +13,13 @@ buildTopkgPackage rec { pname = "jsont"; - version = "0.2.0"; + version = "0.3.0"; minimalOCamlVersion = "4.14.0"; src = fetchzip { url = "https://erratique.ch/software/jsont/releases/jsont-${version}.tbz"; - hash = "sha256-dXHl+bLuIrlrQ5Np37+uVuETFBb3j8XeDVEK9izoQFk="; + hash = "sha256-Gojblihb+So/0KpQHbIWuE33Ir2a4w5DdY+F3S9+qBk="; }; buildInputs = lib.optional withCmdliner cmdliner; From d24151ceecbdeb1f1aa3896d3d3478b52013bc24 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 15 Aug 2026 21:09:28 +0000 Subject: [PATCH 09/94] cfitsio: 4.6.4 -> 4.7.0 --- pkgs/by-name/cf/cfitsio/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cf/cfitsio/package.nix b/pkgs/by-name/cf/cfitsio/package.nix index 8fa03db0bf78..2499a2c4159c 100644 --- a/pkgs/by-name/cf/cfitsio/package.nix +++ b/pkgs/by-name/cf/cfitsio/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cfitsio"; - version = "4.6.4"; + version = "4.7.0"; src = fetchFromGitHub { owner = "HEASARC"; repo = "cfitsio"; tag = "cfitsio-${finalAttrs.version}"; - hash = "sha256-8AFPTr8j8f+x1h78IXOV8GHkDPWvI8w8aRxyke3Dras="; + hash = "sha256-k05ylMYf+hsYur3BgNAweMeDc89rsBBtie+P7bd+7qg="; }; outputs = [ From 9fb2d7bbd26a616a9bb69ae5fd1a2b5aee43f815 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 17 Aug 2026 09:59:06 +0000 Subject: [PATCH 10/94] homepage-dashboard: 1.13.2 -> 2.0.0 --- pkgs/by-name/ho/homepage-dashboard/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ho/homepage-dashboard/package.nix b/pkgs/by-name/ho/homepage-dashboard/package.nix index b958398961f6..c4e5bb656783 100644 --- a/pkgs/by-name/ho/homepage-dashboard/package.nix +++ b/pkgs/by-name/ho/homepage-dashboard/package.nix @@ -31,13 +31,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "homepage-dashboard"; - version = "1.13.2"; + version = "2.0.0"; src = fetchFromGitHub { owner = "gethomepage"; repo = "homepage"; tag = "v${finalAttrs.version}"; - hash = "sha256-d6NNtaThDfVErGx7fFdqLdjx4UZXMN6CZUBpMZFZYhQ="; + hash = "sha256-VBrLAfAWFyvuIM54+V0YXUc77WQxRpMQ4kiC/d0BrJ4="; }; pnpmDeps = fetchPnpmDeps { @@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: { ; pnpm = pnpm_10; fetcherVersion = 3; - hash = "sha256-jAcAbi++Wbyi07YdPuIhDAeNT4fJVAIxp51boD30x3k="; + hash = "sha256-kv468v/5H1alTmFntl05cfgDz9zc2Tg5OMDrEXOUK/o="; }; nativeBuildInputs = [ From 4800f20ae2dc52cc7422118d28d427ef412f0841 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 20 Aug 2026 08:04:29 +0000 Subject: [PATCH 11/94] oauth2-proxy: 7.15.3 -> 7.15.4 --- pkgs/by-name/oa/oauth2-proxy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/oa/oauth2-proxy/package.nix b/pkgs/by-name/oa/oauth2-proxy/package.nix index 3ca4a13be3ed..8fa1a9f8de78 100644 --- a/pkgs/by-name/oa/oauth2-proxy/package.nix +++ b/pkgs/by-name/oa/oauth2-proxy/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "oauth2-proxy"; - version = "7.15.3"; + version = "7.15.4"; src = fetchFromGitHub { repo = "oauth2-proxy"; owner = "oauth2-proxy"; - sha256 = "sha256-HpWmIOqyE3L0JYAQh+bd30Gr2dDpTGH8DwFJo5XwflY="; + sha256 = "sha256-G1luz0CjcAGMCFBzMQMA18mPh02lwQMV4CwSWDCq1gA="; rev = "v${version}"; }; - vendorHash = "sha256-o4JWhqLbfHmlIY1XhaupIhYLfXJNguFueH+SpAe9xaw="; + vendorHash = "sha256-N8S+l9Jwik3lrsAQGXNVbw6UkfmRoVovRQCWn7/X2mg="; # Taken from https://github.com/oauth2-proxy/oauth2-proxy/blob/master/Makefile ldflags = [ "-X github.com/oauth2-proxy/oauth2-proxy/v7/pkg/version.VERSION=v${version}" ]; From 555b6e1c843889d8cd7950d9a58b155b02e0e557 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 00:58:10 +0000 Subject: [PATCH 12/94] cloudflared: 2026.7.3 -> 2026.8.2 --- pkgs/by-name/cl/cloudflared/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/cloudflared/package.nix b/pkgs/by-name/cl/cloudflared/package.nix index 76bcdc037604..e9dc4f04a16d 100644 --- a/pkgs/by-name/cl/cloudflared/package.nix +++ b/pkgs/by-name/cl/cloudflared/package.nix @@ -9,13 +9,13 @@ buildGoModule (finalAttrs: { pname = "cloudflared"; - version = "2026.7.3"; + version = "2026.8.2"; src = fetchFromGitHub { owner = "cloudflare"; repo = "cloudflared"; tag = finalAttrs.version; - hash = "sha256-hIDx9Nd7CKlM0vCKqkVHxBMj4QzvnnsYYMjhzOqcECU="; + hash = "sha256-6pepcjGOLbG+lJ/sGCU8tJVW4nVq7/xGkZ7lLz3KHRQ="; }; vendorHash = null; From 856ccd705cb42ccb81db6ba6b8b974d4e29b2edf Mon Sep 17 00:00:00 2001 From: Carson Full Date: Thu, 20 Aug 2026 19:59:16 -0500 Subject: [PATCH 13/94] klipper-flash: fix getConfigField across multi-line configs #533030 changed `getConfigField`'s regex to stop it matching commented-out lines, but in doing so broke checking across multiple lines. `builtins.match` requires the whole string to match, and `[^#\r\n]*` can never cross a newline, so the field can only be found if it sits on line 1 of the file. Fix by regexing each line independently. Assisted-by: Claude Sonnet 5 --- pkgs/servers/klipper/klipper-flash.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/klipper/klipper-flash.nix b/pkgs/servers/klipper/klipper-flash.nix index b5ce5813a752..3da22fbb448f 100644 --- a/pkgs/servers/klipper/klipper-flash.nix +++ b/pkgs/servers/klipper/klipper-flash.nix @@ -17,9 +17,11 @@ let field: with builtins; let - matches = match ''^[^#\r\n]*${field}="([a-zA-Z0-9_]+)".*$'' (readFile firmwareConfig); + lines = lib.splitString "\n" (readFile firmwareConfig); + matchLine = line: match ''${field}="([a-zA-Z0-9_]+)".*'' line; + matched = lib.findFirst (line: matchLine line != null) null lines; in - if matches != null then head matches else null; + if matched != null then head (matchLine matched) else null; matchPlatform = getConfigField "CONFIG_BOARD_DIRECTORY"; matchBoard = getConfigField "CONFIG_MCU"; matchAvrdudeProtocol = getConfigField "CONFIG_AVRDUDE_PROTOCOL"; From e27035e2c8d6e564ee3929f858435fae56fd31ba Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 18:45:14 +0000 Subject: [PATCH 14/94] otpclient: 5.1.7 -> 5.1.8 --- pkgs/by-name/ot/otpclient/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ot/otpclient/package.nix b/pkgs/by-name/ot/otpclient/package.nix index 07fddaa9524f..b9752da70634 100644 --- a/pkgs/by-name/ot/otpclient/package.nix +++ b/pkgs/by-name/ot/otpclient/package.nix @@ -20,7 +20,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "otpclient"; - version = "5.1.7"; + version = "5.1.8"; strictDeps = true; __structuredAttrs = true; @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "paolostivanin"; repo = "otpclient"; tag = "v${finalAttrs.version}"; - hash = "sha256-UDEsCdkIRAAtGCuXXJdse6HrIl2wiaapKUvcI0GDGWM="; + hash = "sha256-8I74ip2ysPa5ll1R1O9kgZEwR2wMW6oAzcE3g1SMwvA="; }; nativeBuildInputs = [ From 90100421344d132cc19295938ae0579b0305c281 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 20:28:29 +0000 Subject: [PATCH 15/94] vscode-extensions.svelte.svelte-vscode: 110.3.0 -> 110.3.1 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 3a309a7d7819..9aa037e4d33b 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -4591,8 +4591,8 @@ let mktplcRef = { name = "svelte-vscode"; publisher = "svelte"; - version = "110.3.0"; - hash = "sha256-vVLnjFOpOmfmkwP0Yz7zONrBgpNDFfFZ0TAAicxdZ64="; + version = "110.3.1"; + hash = "sha256-C3lJ7MO6GTJIotBa71vQN/L6A8iWZ9viYNniT6I2DMQ="; }; meta = { changelog = "https://github.com/sveltejs/language-tools/releases"; From be50f294dff71edef1ed05c270488bbfec7152d7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 22:01:03 +0000 Subject: [PATCH 16/94] dracula-theme: 4.0.0-unstable-2026-03-01 -> 4.0.0-unstable-2026-05-21 --- pkgs/by-name/dr/dracula-theme/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dr/dracula-theme/package.nix b/pkgs/by-name/dr/dracula-theme/package.nix index b3266ada4dc5..0ca9cedd91f0 100644 --- a/pkgs/by-name/dr/dracula-theme/package.nix +++ b/pkgs/by-name/dr/dracula-theme/package.nix @@ -10,7 +10,7 @@ let in stdenvNoCC.mkDerivation { pname = "dracula-theme"; - version = "4.0.0-unstable-2026-03-01"; + version = "4.0.0-unstable-2026-05-21"; __structuredAttrs = true; strictDeps = true; @@ -18,8 +18,8 @@ stdenvNoCC.mkDerivation { src = fetchFromGitHub { owner = "dracula"; repo = "gtk"; - rev = "1188c8eabdfc33c42738862b91caf7fab884c767"; - hash = "sha256-Z3dMgkk5SvpCWjxdm8hd5FBeEvq0uCJuj3zC5boQEdk="; + rev = "81d0287950e8093dd8f8c753347763bce8588465"; + hash = "sha256-gbotOIGG55oqQZZNDkc9s5fPXvJQr+YHqxt5ZWS5bF8="; }; installPhase = '' From 8e7668568f2d379efeaca311c2962ffcb6874df0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 22:06:27 +0000 Subject: [PATCH 17/94] dapr-cli: 1.18.1 -> 1.18.2 --- pkgs/by-name/da/dapr-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/da/dapr-cli/package.nix b/pkgs/by-name/da/dapr-cli/package.nix index b174557a716a..a3d2a0760ed0 100644 --- a/pkgs/by-name/da/dapr-cli/package.nix +++ b/pkgs/by-name/da/dapr-cli/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "dapr-cli"; - version = "1.18.1"; + version = "1.18.2"; src = fetchFromGitHub { owner = "dapr"; repo = "cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-lMHuXf4v4xcCcvTqVVXwszMjQ/C3P80J1hXh4Py/jls="; + hash = "sha256-A21Fk5WzlyMcHG2wpPQVChwkDdcCrDx3zhzl0KZLBS0="; }; vendorHash = "sha256-P7zrfUcb/Hxo7QbIQfq9JSf2d7meZShQ++GG8HkEoLE="; From 69a2621ac298c6abac686cb299bf0f7de1a9aefb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 22:22:15 +0000 Subject: [PATCH 18/94] baidupcs-go: 4.0.1 -> 4.0.2 --- pkgs/by-name/ba/baidupcs-go/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ba/baidupcs-go/package.nix b/pkgs/by-name/ba/baidupcs-go/package.nix index 1a96bac0c207..5633933f6a1b 100644 --- a/pkgs/by-name/ba/baidupcs-go/package.nix +++ b/pkgs/by-name/ba/baidupcs-go/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "baidupcs-go"; - version = "4.0.1"; + version = "4.0.2"; src = fetchFromGitHub { owner = "qjfoidnh"; repo = "BaiduPCS-Go"; rev = "v${finalAttrs.version}"; - hash = "sha256-AvwdAOjuQxdmhg+IJxQ9e9iMXqveLjoF/W7ntZZmES4="; + hash = "sha256-o0Oh6zLJT25+smEgWy7E8fTigJ2FLpBXoaZSYCRFvic="; }; - vendorHash = "sha256-oOZeBCHpAasi9K77xA+8HxZErGWKwb4OaWzWhHagtQE="; + vendorHash = "sha256-3kvB5QxtWuElhDIFFr3Awf5myf6l2Hx0M2k53ltQYeQ="; doCheck = false; From bd817186ef81490148216e94153e34446cd2ff6d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 22:28:35 +0000 Subject: [PATCH 19/94] kanban: 0.8.0 -> 0.8.1 --- pkgs/by-name/ka/kanban/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ka/kanban/package.nix b/pkgs/by-name/ka/kanban/package.nix index e2732bc08258..853533d0db2b 100644 --- a/pkgs/by-name/ka/kanban/package.nix +++ b/pkgs/by-name/ka/kanban/package.nix @@ -7,18 +7,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "kanban"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromGitHub { owner = "fulsomenko"; repo = "kanban"; tag = "v${finalAttrs.version}"; - hash = "sha256-qvjUeYNJ4ODO5dxAaWuWIIpqmFjE6t3ZeuSvZcp5xaI="; + hash = "sha256-HJb52Qskyqzjcjp6SlM81OSL2GtpMEYxuuYWy9yLxYQ="; }; env.GIT_COMMIT_HASH = finalAttrs.src.rev; - cargoHash = "sha256-YO1brjDNQxt155VtxIpniAdhEvv22vQlk8CUMz2f9Qs="; + cargoHash = "sha256-o+C8TsE/5myoKGhSIWG+OIHliTOM5dQBY1E3a5KFcxs="; passthru.updateScript = nix-update-script { }; From 20b42441316dc33d92ee5e65db88229367060a5c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 22:49:40 +0000 Subject: [PATCH 20/94] grafanaPlugins.grafana-clock-panel: 3.2.2 -> 3.2.3 --- .../grafana/plugins/grafana-clock-panel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/grafana/plugins/grafana-clock-panel/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafana-clock-panel/default.nix index 0b9b3b062202..d95ccd233cff 100644 --- a/pkgs/servers/monitoring/grafana/plugins/grafana-clock-panel/default.nix +++ b/pkgs/servers/monitoring/grafana/plugins/grafana-clock-panel/default.nix @@ -2,8 +2,8 @@ grafanaPlugin { pname = "grafana-clock-panel"; - version = "3.2.2"; - zipHash = "sha256-VjOg6qJXxhDAl8xYWD9ZZSNqSELMoREuyv+LX5xFOgM="; + version = "3.2.3"; + zipHash = "sha256-qNX6LTg+WKjoJIWX7Mc2IRnWVpoZZsiZQzQqR2u1Q10="; meta = { description = "Clock panel for Grafana"; license = lib.licenses.mit; From e14583a87fbd56a628dbe3adbb6dd30e5ca76012 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 23:11:10 +0000 Subject: [PATCH 21/94] wl-screenrec: 0.2.0 -> 0.3.2 --- pkgs/by-name/wl/wl-screenrec/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wl/wl-screenrec/package.nix b/pkgs/by-name/wl/wl-screenrec/package.nix index 9db0e7a9e8d8..ae4e9e3812d7 100644 --- a/pkgs/by-name/wl/wl-screenrec/package.nix +++ b/pkgs/by-name/wl/wl-screenrec/package.nix @@ -13,16 +13,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wl-screenrec"; - version = "0.2.0"; + version = "0.3.2"; src = fetchFromGitHub { owner = "russelltg"; repo = "wl-screenrec"; tag = "v${finalAttrs.version}"; - hash = "sha256-sLuhVeyzFp6sFKGK7Y7DPAPk7IdFAqAtjm56zhrX3fA="; + hash = "sha256-x311y/0wRBXvpmVNRh6/TbLgHYvl1y589PNRjW2NCJc="; }; - cargoHash = "sha256-atfWEAo6tMLEzFtiLlxp8fyVKa1cF/4SZFMYStDYZwU="; + cargoHash = "sha256-3/yVWVNLu03PhgJTwyeatSVY3cvGtWhwEwpvPdBGnKs="; nativeBuildInputs = [ pkg-config From 2852a01ddcb12c4b523355306b17893a347d1d2b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 23:21:15 +0000 Subject: [PATCH 22/94] python3Packages.linuxpy: 0.24.0 -> 0.25.0 --- pkgs/development/python-modules/linuxpy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/linuxpy/default.nix b/pkgs/development/python-modules/linuxpy/default.nix index e67d61ea51bc..1defd64f32ba 100644 --- a/pkgs/development/python-modules/linuxpy/default.nix +++ b/pkgs/development/python-modules/linuxpy/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "linuxpy"; - version = "0.24.0"; + version = "0.25.0"; pyproject = true; src = fetchPypi { inherit pname version; - sha256 = "sha256-K0RDTSjUklfoWaSDAmeiWqS1Gx0in5X3nQJa5/Gl0w4="; + sha256 = "sha256-eyNCkbq8YXah/iOWJPjhkH/IncX3OXgJNg5Q4FMcd1I="; }; pythonImportsCheck = [ "linuxpy" ]; From d431ca23c1918269b9b37575a2ac0faf68b4ce9d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 21 Aug 2026 23:29:44 +0000 Subject: [PATCH 23/94] python3Packages.python-mpv-jsonipc: 1.2.3 -> 1.3.0 --- .../development/python-modules/python-mpv-jsonipc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-mpv-jsonipc/default.nix b/pkgs/development/python-modules/python-mpv-jsonipc/default.nix index 64824a764f22..9022caf8b6d3 100644 --- a/pkgs/development/python-modules/python-mpv-jsonipc/default.nix +++ b/pkgs/development/python-modules/python-mpv-jsonipc/default.nix @@ -7,14 +7,14 @@ buildPythonPackage (finalAttrs: { pname = "python-mpv-jsonipc"; - version = "1.2.3"; + version = "1.3.0"; pyproject = true; src = fetchFromGitHub { owner = "iwalton3"; repo = "python-mpv-jsonipc"; tag = "v${finalAttrs.version}"; - hash = "sha256-drXPu355wXznB9oTF2mmjXoByLs1gzUuBxWT6wUFMTA="; + hash = "sha256-i21Pzaidoi2MLb6Le9pA37IRy804MeC0yVV4KONb3mk="; }; build-system = [ setuptools ]; From ab07f8f6f191712254a36827d50717786bca14b7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 00:06:50 +0000 Subject: [PATCH 24/94] python3Packages.django-silk: 5.5.1 -> 5.5.2 --- pkgs/development/python-modules/django-silk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/django-silk/default.nix b/pkgs/development/python-modules/django-silk/default.nix index 5f30356c1724..5879f64772bb 100644 --- a/pkgs/development/python-modules/django-silk/default.nix +++ b/pkgs/development/python-modules/django-silk/default.nix @@ -27,14 +27,14 @@ buildPythonPackage rec { pname = "django-silk"; - version = "5.5.1"; + version = "5.5.2"; format = "setuptools"; src = fetchFromGitHub { owner = "jazzband"; repo = "django-silk"; tag = version; - hash = "sha256-Ee0U8PVdyXppqLAbQF3V01VIxn6q94eDp+6GvqbeD5g="; + hash = "sha256-1m6HvwN9n35q9p0LUD8ihbbQ5FRRr8KoDvRLed9RIMQ="; }; # "test_time_taken" tests aren't suitable for reproducible execution, but Django's From fee80176395eb1e1e687ee688647613ec36c8076 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 00:30:30 +0000 Subject: [PATCH 25/94] decker: 1.69 -> 1.70 --- pkgs/by-name/de/decker/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/de/decker/package.nix b/pkgs/by-name/de/decker/package.nix index 59aeddfe8e62..d90c9c6607db 100644 --- a/pkgs/by-name/de/decker/package.nix +++ b/pkgs/by-name/de/decker/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "decker"; - version = "1.69"; + version = "1.70"; src = fetchFromGitHub { owner = "JohnEarnest"; repo = "Decker"; rev = "v${finalAttrs.version}"; - hash = "sha256-N1g+jaINbUZcTazvgfBc3G0QD4fevJMINRGL9Lp27us="; + hash = "sha256-QVv5kLwQZojTCUgnGTX2r622YOoYzIDjrWbj8mkFubE="; }; buildInputs = [ From 13c187ed2cfa2ec9886ad16a1af1f765e2da73fb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 02:38:17 +0000 Subject: [PATCH 26/94] terser: 5.49.2 -> 5.50.0 --- pkgs/by-name/te/terser/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/terser/package.nix b/pkgs/by-name/te/terser/package.nix index d01feea2671e..e4fb5de61865 100644 --- a/pkgs/by-name/te/terser/package.nix +++ b/pkgs/by-name/te/terser/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "terser"; - version = "5.49.2"; + version = "5.50.0"; src = fetchFromGitHub { owner = "terser"; repo = "terser"; rev = "v${version}"; - hash = "sha256-leC95D+bBI9CvPlenOr/2+3LkL9HgK3iCu3FNxBUaOk="; + hash = "sha256-7odcHOVjrj73suP0Uz8kcchvHqQxu0RVY0KwEQ73Tsw="; }; - npmDepsHash = "sha256-wkvMDyWiPtQXaLDkPUCcVTQJXZ30QqPHdQXzMXrtHkY="; + npmDepsHash = "sha256-d0J7DPZaxn4ILMJ7rwf2MAVVCL2GI6/GLxkX78smUsU="; meta = { description = "JavaScript parser, mangler and compressor toolkit for ES6+"; From 4971b55efaa9b9ad6e33a79a2e78b0132209e26a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 02:39:34 +0000 Subject: [PATCH 27/94] python3Packages.liger-kernel: 0.8.1 -> 0.8.2 --- pkgs/development/python-modules/liger-kernel/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/liger-kernel/default.nix b/pkgs/development/python-modules/liger-kernel/default.nix index acdbecffe2ee..fe51e8678605 100644 --- a/pkgs/development/python-modules/liger-kernel/default.nix +++ b/pkgs/development/python-modules/liger-kernel/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "liger-kernel"; - version = "0.8.1"; + version = "0.8.2"; pyproject = true; src = fetchFromGitHub { owner = "linkedin"; repo = "liger-kernel"; tag = "v${finalAttrs.version}"; - hash = "sha256-HSNhm/NwzjL3XQcKot/Bg1i3zuPEy6aNkWo2ukLL4VY="; + hash = "sha256-cUgVfUe2UxULHiU0OeSJX9KHShRJ5W6fhqmgB+PUD4c="; }; build-system = [ From 631882fd36666f28a20c1420e0b80cd1d3dc9f51 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 02:47:27 +0000 Subject: [PATCH 28/94] tetro-tui: 3.6.1 -> 3.6.2 --- pkgs/by-name/te/tetro-tui/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/tetro-tui/package.nix b/pkgs/by-name/te/tetro-tui/package.nix index 438034625972..a4f97c1410a3 100644 --- a/pkgs/by-name/te/tetro-tui/package.nix +++ b/pkgs/by-name/te/tetro-tui/package.nix @@ -9,17 +9,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tetro-tui"; - version = "3.6.1"; + version = "3.6.2"; __structuredAttrs = true; src = fetchFromGitHub { owner = "Strophox"; repo = "tetro-tui"; tag = "v${finalAttrs.version}"; - hash = "sha256-i/d+i6E0ClMAAjC6zB9Lt26LYEcjvR01MCzGne2EXNQ="; + hash = "sha256-tlZYvk9PrdkuN8m+tu/sPrG88k9L58T/QDk2fLZmM34="; }; - cargoHash = "sha256-LTHokF9T7nRvvzfQWSL9igTHmvV+w40Pm4z/i0y7goA="; + cargoHash = "sha256-AF5aerbBhBJ8Ommrq27GjSeGE/smTvVdEoXS1XLktRE="; nativeBuildInputs = [ copyDesktopItems From d92b21f3df7c4aa761ade21854389bded06d09ec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 04:48:38 +0000 Subject: [PATCH 29/94] squawk: 2.62.0 -> 2.63.0 --- pkgs/by-name/sq/squawk/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sq/squawk/package.nix b/pkgs/by-name/sq/squawk/package.nix index 7e671967e84f..68f22ab30b20 100644 --- a/pkgs/by-name/sq/squawk/package.nix +++ b/pkgs/by-name/sq/squawk/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "squawk"; - version = "2.62.0"; + version = "2.63.0"; src = fetchFromGitHub { owner = "sbdchd"; repo = "squawk"; tag = "v${finalAttrs.version}"; - hash = "sha256-XazgQu5Ot1Vknn+tN9qWLfNlRefoA6yXerjrF0H/Mso="; + hash = "sha256-9ZcidQphREqvIw+AiToSCybFNuWic7zFTmOvNI+zpgQ="; }; - cargoHash = "sha256-Z8VNk8ZN0e7UOOTNAz0p8bt5a3F9g4IGi7l7t7+rZ/Q="; + cargoHash = "sha256-wHf4TDVFkd0vt60BiF0qh56j/kSkryaLfvyAy3XlQt0="; nativeBuildInputs = [ pkg-config From 73bb8cb27cb1d29d47a10ecfefb8d03be7d46df0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 05:13:06 +0000 Subject: [PATCH 30/94] libretro.beetle-pce-fast: 0-unstable-2026-07-31 -> 0-unstable-2026-08-21 --- .../emulators/libretro/cores/beetle-pce-fast.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/beetle-pce-fast.nix b/pkgs/applications/emulators/libretro/cores/beetle-pce-fast.nix index 34b2842cbfcb..9e0cd0bee502 100644 --- a/pkgs/applications/emulators/libretro/cores/beetle-pce-fast.nix +++ b/pkgs/applications/emulators/libretro/cores/beetle-pce-fast.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mednafen-pce-fast"; - version = "0-unstable-2026-07-31"; + version = "0-unstable-2026-08-21"; src = fetchFromGitHub { owner = "libretro"; repo = "beetle-pce-fast-libretro"; - rev = "b211204c7026dff6e86e79b00185512e2421fff8"; - hash = "sha256-NfVgWG76T6cbb44F8Qva7rlwlsuhF8H6WtKjLPNfs7k="; + rev = "bebe2b13a840fbfd45cb501f5cd0efe01bdb1735"; + hash = "sha256-z30s5uYhqBht7ZviljAu5WZlOCTS9sYqWBD2/hbWUbs="; }; makefile = "Makefile"; From f5d41a165c0c909196fff4b1a495f83a7bade881 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 05:53:25 +0000 Subject: [PATCH 31/94] python3Packages.gradient: 3.12.1 -> 3.12.2 --- pkgs/development/python-modules/gradient/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gradient/default.nix b/pkgs/development/python-modules/gradient/default.nix index 6045a2d21105..7b1242cf70b8 100644 --- a/pkgs/development/python-modules/gradient/default.nix +++ b/pkgs/development/python-modules/gradient/default.nix @@ -14,14 +14,14 @@ buildPythonPackage (finalAttrs: { pname = "gradient"; - version = "3.12.1"; + version = "3.12.2"; pyproject = true; src = fetchFromGitHub { owner = "digitalocean"; repo = "gradient-python"; rev = "v${finalAttrs.version}"; - hash = "sha256-4BJMUxNryePXIAG92JOX7pTbDN6FQzmYRu1+2bKEwX0="; + hash = "sha256-2blzsP8KJfCbqBmoaWgQRCmiR5Dj3ofbd65fJqQpfAI="; }; postPatch = '' From 602e3e64f0ecf170e67de5356fa04d7e6b09b9e6 Mon Sep 17 00:00:00 2001 From: Carson Full Date: Sat, 22 Aug 2026 13:56:02 -0500 Subject: [PATCH 32/94] klipper-flash: trim config line before matching --- pkgs/servers/klipper/klipper-flash.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/klipper/klipper-flash.nix b/pkgs/servers/klipper/klipper-flash.nix index 3da22fbb448f..f96e89af93ef 100644 --- a/pkgs/servers/klipper/klipper-flash.nix +++ b/pkgs/servers/klipper/klipper-flash.nix @@ -18,7 +18,7 @@ let with builtins; let lines = lib.splitString "\n" (readFile firmwareConfig); - matchLine = line: match ''${field}="([a-zA-Z0-9_]+)".*'' line; + matchLine = line: match ''${field}="([a-zA-Z0-9_]+)".*'' (lib.trim line); matched = lib.findFirst (line: matchLine line != null) null lines; in if matched != null then head (matchLine matched) else null; From 211104570d6b576bee33e4974b2eb01a3076d8fa Mon Sep 17 00:00:00 2001 From: Carson Full Date: Thu, 20 Aug 2026 22:01:19 -0500 Subject: [PATCH 33/94] klipper-flash: derive -s/--start for stm32 boards Passes `CONFIG_FLASH_APPLICATION_ADDRESS` to `flash_usb.py --start {address}`. Same as Klipper's stm32 Makefile does. Without this callers have always had to manually pass in script calls ``` klipper-flash-$mcu --start {address} ``` FWIW: atsamd boards need start address as well, but it is derived differently, and I do not have that hardware to verify against. --- pkgs/servers/klipper/klipper-flash.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/klipper/klipper-flash.nix b/pkgs/servers/klipper/klipper-flash.nix index f96e89af93ef..d029d2f6ddf8 100644 --- a/pkgs/servers/klipper/klipper-flash.nix +++ b/pkgs/servers/klipper/klipper-flash.nix @@ -18,13 +18,16 @@ let with builtins; let lines = lib.splitString "\n" (readFile firmwareConfig); - matchLine = line: match ''${field}="([a-zA-Z0-9_]+)".*'' (lib.trim line); + matchLine = line: match ''${field}="?([a-zA-Z0-9_]+)"?.*'' (lib.trim line); matched = lib.findFirst (line: matchLine line != null) null lines; in if matched != null then head (matchLine matched) else null; matchPlatform = getConfigField "CONFIG_BOARD_DIRECTORY"; matchBoard = getConfigField "CONFIG_MCU"; matchAvrdudeProtocol = getConfigField "CONFIG_AVRDUDE_PROTOCOL"; + matchFlashApplicationAddress = getConfigField "CONFIG_FLASH_APPLICATION_ADDRESS"; + # Only stm32's require -s/--start (flash_stm32f4 in scripts/flash_usb.py) + flashStartAddress = if matchPlatform == "stm32" then matchFlashApplicationAddress else null; flashUsbSupportedBoards = [ "sam3" "sam4" @@ -67,7 +70,9 @@ writeShellApplication { if flashDevice != null then if (builtins.elem matchBoard flashUsbSupportedBoards) && matchPlatform != null then '' - ${klipper}/lib/scripts/flash_usb.py -t ${matchBoard} -d ${flashDevice} ${klipper-firmware}/klipper.bin "$@" + ${klipper}/lib/scripts/flash_usb.py -t ${matchBoard} -d ${flashDevice}${ + lib.optionalString (flashStartAddress != null) " -s ${flashStartAddress}" + } ${klipper-firmware}/klipper.bin "$@" '' else if matchPlatform == "avr" && matchAvrdudeProtocol != null && matchBoard != null then '' From 8c19c889a403002340f7e8b6cdcfdd774d2c9166 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 21:25:20 +0000 Subject: [PATCH 34/94] python3Packages.django-leaflet: 0.33.0 -> 0.34.0 --- pkgs/development/python-modules/django-leaflet/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/django-leaflet/default.nix b/pkgs/development/python-modules/django-leaflet/default.nix index 4aa698bc448a..a43c5f6ae9d6 100644 --- a/pkgs/development/python-modules/django-leaflet/default.nix +++ b/pkgs/development/python-modules/django-leaflet/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "django-leaflet"; - version = "0.33.0"; + version = "0.34.0"; pyproject = true; src = fetchPypi { pname = "django_leaflet"; inherit version; - hash = "sha256-tRxx5xee7ZlhSE39V7h70ezjsf977k37f01XAiBrLso="; + hash = "sha256-gzbnKnu/8LNjBUmC8CrB16O8srL6S8oyYBTd3q63xRU="; }; build-system = [ setuptools ]; From d8286f641c63fd60348774c01cfd00af639398c1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 22 Aug 2026 22:24:17 +0000 Subject: [PATCH 35/94] matrix-synapse-plugins.matrix-synapse-s3-storage-provider: 1.6.1 -> 1.7.0 --- .../matrix-synapse-unwrapped/plugins/s3-storage-provider.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/s3-storage-provider.nix b/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/s3-storage-provider.nix index 5a8519b6929a..f0108cfafbd7 100644 --- a/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/s3-storage-provider.nix +++ b/pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/s3-storage-provider.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "matrix-synapse-s3-storage-provider"; - version = "1.6.1"; + version = "1.7.0"; format = "setuptools"; src = fetchFromGitHub { owner = "matrix-org"; repo = "synapse-s3-storage-provider"; tag = "v${version}"; - hash = "sha256-vRDjN9BDp7Rta/F91OVEH8FWyiwxR67PQSqBCs3bDkM="; + hash = "sha256-QeSzaxUQdwCiA4Mvc8ZQMFjyRFKcLRb8dQXykI5AFD4="; }; postPatch = '' From a9d2577316acd00f7d8981764bfae63b274d0fdb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 23 Aug 2026 16:45:29 +0200 Subject: [PATCH 36/94] introspectme: init at 0.0.2 Tool for introspecting and analyzing GraphQL field suggestion errors https://github.com/bountyyfi/IntrospectMe --- pkgs/by-name/in/introspectme/package.nix | 49 ++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pkgs/by-name/in/introspectme/package.nix diff --git a/pkgs/by-name/in/introspectme/package.nix b/pkgs/by-name/in/introspectme/package.nix new file mode 100644 index 000000000000..dcf617a1e2e4 --- /dev/null +++ b/pkgs/by-name/in/introspectme/package.nix @@ -0,0 +1,49 @@ +{ + lib, + fetchFromGitHub, + nix-update-script, + openssl, + pkg-config, + rustPlatform, + zstd, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "introspectme"; + version = "0.0.2"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "bountyyfi"; + repo = "IntrospectMe"; + tag = "v${finalAttrs.version}"; + hash = "sha256-PQSfIbcY3vgJhi2OcG6wqFH6xiWcBylJhr1kWdlr0go="; + }; + + cargoHash = "sha256-UAcIwBrHuU7AbLXoSCwpT7cetioVNboG2rpDMPbnvR8="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + openssl + zstd + ]; + + env = { + ZSTD_SYS_USE_PKG_CONFIG = true; + }; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Tool for introspecting and analyzing GraphQL field suggestion errors"; + homepage = "https://github.com/bountyyfi/IntrospectMe"; + changelog = "https://github.com/bountyyfi/IntrospectMe/releases/tag/${finalAttrs.src.tag}"; + # SOURCE-AVAILABLE LICENSE, Version 0.0.1 - Effective February 15, 2026 + # https://github.com/bountyyfi/IntrospectMe/blob/main/LICENSE + license = lib.licenses.unfree; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "introspectme"; + }; +}) From f932fce7d614c2e88f262887f1590d5ab6c8abfa Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 23 Aug 2026 16:55:18 +0200 Subject: [PATCH 37/94] pyscan: init at 0.1.4 Python dependency vulnerability scanner https://github.com/ohaswin/pyscan --- pkgs/by-name/py/pyscan/package.nix | 60 ++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pkgs/by-name/py/pyscan/package.nix diff --git a/pkgs/by-name/py/pyscan/package.nix b/pkgs/by-name/py/pyscan/package.nix new file mode 100644 index 000000000000..7482b3eb7691 --- /dev/null +++ b/pkgs/by-name/py/pyscan/package.nix @@ -0,0 +1,60 @@ +{ + lib, + cargo, + fetchFromGitHub, + nix-update-script, + openssl, + pkg-config, + python3Packages, + rustc, + rustPlatform, + versionCheckHook, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "pyscan"; + version = "0.1.4"; + pyproject = true; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "ohaswin"; + repo = "pyscan"; + tag = "v${finalAttrs.version}"; + hash = "sha256-n1mwOYntWyW7lPKPLgG7PteTRh3mly5vqbKy2R/9xnw="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-QzFUoHfvjd6ZMkKIsGXIVyks2LxdJblIiQccsOoYcJs="; + }; + + build-system = [ + cargo + pkg-config + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + rustc + ]; + + buildInputs = [ openssl ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + # Project has no test + doCheck = false; + + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Python dependency vulnerability scanner"; + homepage = "https://github.com/ohaswin/pyscan"; + changelog = "https://github.com/ohaswin/pyscan/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "pyscan"; + }; +}) From 0734f91c942e24b563ca6e8ee1aa12138bfe49e5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 23 Aug 2026 17:16:06 +0200 Subject: [PATCH 38/94] adhammer: init at 1.3.10 Active Directory security-assessment toolkit https://github.com/icedracon/adhammer --- pkgs/by-name/ad/adhammer/package.nix | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 pkgs/by-name/ad/adhammer/package.nix diff --git a/pkgs/by-name/ad/adhammer/package.nix b/pkgs/by-name/ad/adhammer/package.nix new file mode 100644 index 000000000000..a7d137916a74 --- /dev/null +++ b/pkgs/by-name/ad/adhammer/package.nix @@ -0,0 +1,47 @@ +{ + lib, + fetchFromGitHub, + nix-update-script, + openssl, + pkg-config, + rustPlatform, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "adhammer"; + version = "1.3.10"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "icedracon"; + repo = "adhammer"; + tag = "v${finalAttrs.version}"; + hash = "sha256-QQjiyvj3e5unEsh17UyKck2rs8oKeLO5eodBG7cn1LQ="; + }; + + cargoHash = "sha256-Ebkvxl/JyiZ84ucv7FmOluHTqYd14I3B6z53QNmVQZw="; + + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + ]; + + buildInputs = [ openssl ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Active Directory security-assessment toolkit"; + homepage = "https://github.com/icedracon/adhammer"; + changelog = "https://github.com/icedracon/adhammer/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "adhammer"; + }; +}) From 56670f98b6200ce2a61d7e492e2c700fd756a3be Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 23 Aug 2026 15:16:34 +0000 Subject: [PATCH 39/94] art: 1.26.7 -> 1.26.8 --- pkgs/by-name/ar/art/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ar/art/package.nix b/pkgs/by-name/ar/art/package.nix index 87f4cbc96fc9..8afeb8325884 100644 --- a/pkgs/by-name/ar/art/package.nix +++ b/pkgs/by-name/ar/art/package.nix @@ -39,13 +39,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "art"; - version = "1.26.7"; + version = "1.26.8"; src = fetchFromGitHub { owner = "artraweditor"; repo = "ART"; tag = finalAttrs.version; - hash = "sha256-HuXDdrfb3r8B5u4Ifvb3EfbF/b1mMbDAunOIBtEaKtk="; + hash = "sha256-kgDmGxdmKK/19vxruTQ0845iaRSWthlkYoeAFVaju2U="; }; # Fix the build with CMake 4. From f2fce8ea9dd4c1231231d215d44b595c4d1e7433 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 20 Aug 2026 17:28:45 +0200 Subject: [PATCH 40/94] xsser: init at 1.9 Automatic framework to detect, exploit and report XSS vulnerabilities in web-based applications https://github.com/epsylon/xsser --- pkgs/by-name/xs/xsser/package.nix | 89 +++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 pkgs/by-name/xs/xsser/package.nix diff --git a/pkgs/by-name/xs/xsser/package.nix b/pkgs/by-name/xs/xsser/package.nix new file mode 100644 index 000000000000..ab4cbe99223f --- /dev/null +++ b/pkgs/by-name/xs/xsser/package.nix @@ -0,0 +1,89 @@ +{ + lib, + stdenv, + python3Packages, + fetchFromGitHub, + nix-update-script, + geckodriver, + curl, + versionCheckHook, +}: + +python3Packages.buildPythonApplication (finalAttrs: { + pname = "xsser"; + version = "1.9"; + pyproject = true; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "epsylon"; + repo = "xsser"; + tag = "xsser-v${finalAttrs.version}"; + hash = "sha256-wq8BGeBxDW/ux1X5seUTb6bGdKUTBgkRVeqkm3sVLPU="; + }; + + postPatch = '' + substituteInPlace core/curlcontrol.py \ + --replace-fail 'open("core/fuzzing/user-agents.txt")' 'open(os.path.join(os.path.dirname(__file__), "fuzzing", "user-agents.txt"))' \ + --replace-fail 'open("fuzzing/user-agents.txt")' 'open(os.path.join(os.path.dirname(__file__), "fuzzing", "user-agents.txt"))' + + substituteInPlace core/dork.py \ + --replace-fail 'import urllib.request, urllib.error, urllib.parse, traceback, re, random, time, ssl, base64, warnings' 'import os, urllib.request, urllib.error, urllib.parse, traceback, re, random, time, ssl, base64, warnings' \ + --replace-fail 'open("core/fuzzing/user-agents.txt")' 'open(os.path.join(os.path.dirname(__file__), "fuzzing", "user-agents.txt"))' \ + --replace-fail 'open("fuzzing/user-agents.txt")' 'open(os.path.join(os.path.dirname(__file__), "fuzzing", "user-agents.txt"))' + + substituteInPlace core/main.py \ + --replace-fail 'open("core/fuzzing/user-agents.txt")' 'open(os.path.join(os.path.dirname(__file__), "fuzzing", "user-agents.txt"))' \ + --replace-fail 'open("fuzzing/user-agents.txt")' 'open(os.path.join(os.path.dirname(__file__), "fuzzing", "user-agents.txt"))' \ + --replace-fail "open('core/fuzzing/dorks.txt')" "open(os.path.join(os.path.dirname(__file__), 'fuzzing', 'dorks.txt'))" \ + --replace-fail "os.path.exists('core/fuzzing/dorks.txt')" "os.path.exists(os.path.join(os.path.dirname(__file__), 'fuzzing', 'dorks.txt'))" + ''; + + postInstall = '' + install -Dm644 core/fuzzing/user-agents.txt "$out/${python3Packages.python.sitePackages}/core/fuzzing/user-agents.txt" + install -Dm644 core/fuzzing/dorks.txt "$out/${python3Packages.python.sitePackages}/core/fuzzing/dorks.txt" + ''; + + build-system = with python3Packages; [ setuptools ]; + + dependencies = + with python3Packages; + [ + beautifulsoup4 + ddgs + fpdf2 + geoip + pygobject3 + pycurl + selenium + ] + ++ [ geckodriver ]; + + nativeCheckInputs = with python3Packages; [ pytestCheckHook ] ++ [ curl ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + doInstallCheck = true; + + preFixup = '' + makeWrapperArgs+=(--prefix PATH : ${ + lib.makeBinPath [ + geckodriver + curl + ] + }) + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Automatic framework to detect, exploit and report XSS vulnerabilities in web-based applications"; + homepage = "https://github.com/epsylon/xsser"; + changelog = "https://github.com/epsylon/xsser/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "xsser"; + broken = stdenv.hostPlatform.isDarwin; + }; +}) From 7600c0a6578b34b2384b8b2a4263df368dbf7ad9 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 23 Aug 2026 18:27:05 +0200 Subject: [PATCH 41/94] corrode-scanner: init at 0.5.1 Security scanner for finding exposed credentials, secrets, and vulnerabilities https://github.com/ul0gic/corrode --- pkgs/by-name/co/corrode-scanner/package.nix | 41 +++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 pkgs/by-name/co/corrode-scanner/package.nix diff --git a/pkgs/by-name/co/corrode-scanner/package.nix b/pkgs/by-name/co/corrode-scanner/package.nix new file mode 100644 index 000000000000..484b944fef1a --- /dev/null +++ b/pkgs/by-name/co/corrode-scanner/package.nix @@ -0,0 +1,41 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "corrode-scanner"; + version = "0.5.1"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "ul0gic"; + repo = "corrode"; + tag = "v${finalAttrs.version}"; + hash = "sha256-cxmX0UOEI78P9K4glTh7B2b+/Uc5pHY961RamarvZm0="; + }; + + cargoHash = "sha256-f+gwucHpQu5IJqll/DmGYkNwu/5a2esl9URpwj7c3Pc="; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Security scanner for finding exposed credentials, secrets, and vulnerabilities"; + homepage = "https://github.com/ul0gic/corrode"; + changelog = "https://github.com/ul0gic/corrode/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ + asl20 + mit + ]; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "corrode-scanner"; + }; +}) From bf1777e48ecf55f88305bdd1b7bc9f70896f94b5 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:12:38 -0500 Subject: [PATCH 42/94] netbox_4_6: init at 4.6.8 Release notes: - https://github.com/netbox-community/netbox/releases/tag/v4.6.0 - https://github.com/netbox-community/netbox/releases/tag/v4.6.1 - https://github.com/netbox-community/netbox/releases/tag/v4.6.2 - https://github.com/netbox-community/netbox/releases/tag/v4.6.3 - https://github.com/netbox-community/netbox/releases/tag/v4.6.4 - https://github.com/netbox-community/netbox/releases/tag/v4.6.5 - https://github.com/netbox-community/netbox/releases/tag/v4.6.6 - https://github.com/netbox-community/netbox/releases/tag/v4.6.7 - https://github.com/netbox-community/netbox/releases/tag/v4.6.8 Full changelog: https://github.com/netbox-community/netbox/compare/v4.5.9...v4.6.8 --- .../manual/release-notes/rl-2611.section.md | 4 + nixos/modules/services/web-apps/netbox.nix | 9 +- nixos/tests/all-tests.nix | 1 + nixos/tests/web-apps/netbox-upgrade.nix | 4 +- pkgs/by-name/ne/netbox_4_5/package.nix | 3 + .../ne/netbox_4_6/custom-static-root.patch | 13 ++ pkgs/by-name/ne/netbox_4_6/package.nix | 149 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 8 files changed, 178 insertions(+), 7 deletions(-) create mode 100644 pkgs/by-name/ne/netbox_4_6/custom-static-root.patch create mode 100644 pkgs/by-name/ne/netbox_4_6/package.nix diff --git a/nixos/doc/manual/release-notes/rl-2611.section.md b/nixos/doc/manual/release-notes/rl-2611.section.md index 49b0a51331e9..656f494431fd 100644 --- a/nixos/doc/manual/release-notes/rl-2611.section.md +++ b/nixos/doc/manual/release-notes/rl-2611.section.md @@ -205,6 +205,10 @@ - `chatgpt` has been retargeted to OpenAI's new ChatGPT desktop app, while the previous app has been renamed to `chatgpt-classic`. +- NetBox was updated to `>= 4.6.8`. Have a look at the breaking changes + of the [4.6 release](https://github.com/netbox-community/netbox/releases/tag/v4.6.0), + make the required changes to your database, if needed, then upgrade by setting `services.netbox.package = pkgs.netbox_4_6;` in your configuration. + ## Other Notable Changes {#sec-release-26.11-notable-changes} diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index d74c9c926b80..657de456db11 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -434,11 +434,12 @@ in package = lib.mkOption { type = types.package; default = - if lib.versionAtLeast config.system.stateVersion "26.05" then pkgs.netbox_4_5 else pkgs.netbox_4_4; + if lib.versionAtLeast config.system.stateVersion "26.11" then pkgs.netbox_4_6 else pkgs.netbox_4_5; defaultText = lib.literalExpression '' - if lib.versionAtLeast config.system.stateVersion "26.05" - then pkgs.netbox_4_5 - else pkgs.netbox_4_4; + if lib.versionAtLeast config.system.stateVersion "26.11" then + pkgs.netbox_4_6 + else + pkgs.netbox_4_5; ''; description = '' NetBox package to use. diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index d480c9263a77..c8d8ce62fdc2 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1156,6 +1156,7 @@ in netbox-upgrade = runTest ./web-apps/netbox-upgrade.nix; netbox_4_4 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_4; }; netbox_4_5 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_5; }; + netbox_4_6 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_6; }; netdata = runTest ./netdata.nix; netfoil = runTest ./netfoil.nix; netplan = runTest ./netplan.nix; diff --git a/nixos/tests/web-apps/netbox-upgrade.nix b/nixos/tests/web-apps/netbox-upgrade.nix index ffea21a648cd..49bedc973b01 100644 --- a/nixos/tests/web-apps/netbox-upgrade.nix +++ b/nixos/tests/web-apps/netbox-upgrade.nix @@ -1,7 +1,7 @@ { lib, pkgs, ... }: let - oldNetbox = "netbox_4_4"; - newNetbox = "netbox_4_5"; + oldNetbox = "netbox_4_5"; + newNetbox = "netbox_4_6"; apiVersion = version: diff --git a/pkgs/by-name/ne/netbox_4_5/package.nix b/pkgs/by-name/ne/netbox_4_5/package.nix index c0a82ee477e4..29d961f48691 100644 --- a/pkgs/by-name/ne/netbox_4_5/package.nix +++ b/pkgs/by-name/ne/netbox_4_5/package.nix @@ -139,6 +139,9 @@ py.pkgs.buildPythonApplication rec { description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; mainProgram = "netbox"; license = lib.licenses.asl20; + knownVulnerabilities = [ + "Netbox Version ${version} is EOL; please upgrade by following the current release notes instructions" + ]; maintainers = with lib.maintainers; [ minijackson transcaffeine diff --git a/pkgs/by-name/ne/netbox_4_6/custom-static-root.patch b/pkgs/by-name/ne/netbox_4_6/custom-static-root.patch new file mode 100644 index 000000000000..1e295fa7e65e --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/custom-static-root.patch @@ -0,0 +1,13 @@ +diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py +index f334a73a7..8e8d76f0e 100644 +--- a/netbox/netbox/settings.py ++++ b/netbox/netbox/settings.py +@@ -604,7 +604,7 @@ X_FRAME_OPTIONS = 'SAMEORIGIN' + + # Static files (CSS, JavaScript, Images) + # STATIC_ROOT is deliberately not a configuration parameter; static files are collected to /static. +-STATIC_ROOT = os.path.join(NETBOX_ROOT, 'static') ++STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(NETBOX_ROOT, 'static')).rstrip('/') + STATIC_URL = f'/{BASE_PATH}static/' + STATICFILES_DIRS = ( + os.path.join(BASE_DIR, 'project-static', 'dist'), diff --git a/pkgs/by-name/ne/netbox_4_6/package.nix b/pkgs/by-name/ne/netbox_4_6/package.nix new file mode 100644 index 000000000000..73f3a1afd295 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/package.nix @@ -0,0 +1,149 @@ +{ + lib, + fetchFromGitHub, + python3, + fetchpatch2, + plugins ? _ps: [ ], + nixosTests, + nix-update-script, +}: +let + py = python3.override { + self = py; + packageOverrides = _final: prev: { django = prev.django_6; }; + }; + + extraBuildInputs = plugins py.pkgs; +in +py.pkgs.buildPythonApplication (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox"; + version = "4.6.8"; + pyproject = false; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox"; + tag = "v${finalAttrs.version}"; + hash = "sha256-fhEcQBYL5R9Tv9CpAf3Ce1oIzsXCjtH5j+dP9sD6kdg="; + }; + + patches = [ + ./custom-static-root.patch + # TODO: remove before upgrading to NetBox v4.7 + (fetchpatch2 { + name = "upgrade-django-tables2-v3.0.patch"; + url = "https://github.com/netbox-community/netbox/commit/d57346d9f0eef8126eafcd5033ea43864faeaf0d.patch"; + hash = "sha256-6/wdd8wDVT4eqDKMNx8tmoPTDvw8OE7atf9nzg3LZzk="; + }) + ]; + + dependencies = + ( + with py.pkgs; + [ + colorama + django + django-cors-headers + django-debug-toolbar + django-filter + django-graphiql-debug-toolbar + django-htmx + django-mptt + django-pglocks + django-prometheus + django-redis + django-rq + django-storages + django-tables2 + django-taggit + django-timezone-field + djangorestframework + drf-spectacular + drf-spectacular-sidecar + feedparser + jinja2 + markdown + netaddr + nh3 + pillow + psycopg + pyyaml + requests + social-auth-core + social-auth-app-django + sorl-thumbnail + strawberry-graphql + strawberry-graphql-django + svgwrite + tablib + + # Optional dependencies, kept here for backward compatibility + + # for the S3 data source backend + boto3 + # for Git data source backend + dulwich + # for error reporting + sentry-sdk + ] + ++ psycopg.optional-dependencies.c + ++ psycopg.optional-dependencies.pool + ++ social-auth-core.optional-dependencies.openidconnect + ) + ++ extraBuildInputs; + + nativeBuildInputs = with py.pkgs; [ + mkdocs-material + mkdocs-material-extensions + mkdocstrings + mkdocstrings-python + ]; + + postBuild = '' + PYTHONPATH=$PYTHONPATH:netbox/ + ${py.pythonOnBuildForHost.interpreter} -m mkdocs build + ''; + + installPhase = '' + mkdir -p $out/opt/netbox + cp -r . $out/opt/netbox + chmod +x $out/opt/netbox/netbox/manage.py + makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; + + passthru = { + python = py; + # PYTHONPATH of all dependencies used by the package + pythonPath = py.pkgs.makePythonPath finalAttrs.passthru.dependencies; + inherit (py.pkgs) gunicorn; + tests = { + netbox = nixosTests.netbox_4_6; + inherit (nixosTests) netbox-upgrade; + }; + updateScript = nix-update-script { }; + plugins = lib.recurseIntoAttrs ( + lib.makeExtensible ( + self: + lib.packagesFromDirectoryRecursive { + inherit (py.pkgs) callPackage; + directory = ./plugins; + } + ) + ); + }; + + meta = { + homepage = "https://github.com/netbox-community/netbox"; + changelog = "https://github.com/netbox-community/netbox/blob/${finalAttrs.src.tag}/docs/release-notes/version-${lib.versions.majorMinor finalAttrs.version}.md"; + description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; + mainProgram = "netbox"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + minijackson + transcaffeine + ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 35b23ad6b69a..392ba2c4b427 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2513,7 +2513,7 @@ with pkgs; ioskeley-mono = recurseIntoAttrs (callPackage ../data/fonts/ioskeley-mono { }); # Not in aliases because it wouldn't get picked up by callPackage - netbox = netbox_4_5; + netbox = netbox_4_6; netboxPlugins = recurseIntoAttrs netbox.plugins; From 45a405d235e5ebf25d1f225db0be376526a96c31 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:14:32 -0500 Subject: [PATCH 43/94] netbox_4_6.plugins.netbox-attachments: init at 11.2.3 --- .../plugins/netbox-attachments/package.nix | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-attachments/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-attachments/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-attachments/package.nix new file mode 100644 index 000000000000..eff058bf72cc --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-attachments/package.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + python, + netbox, + django, + netaddr, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-attachments"; + version = "11.2.3"; + pyproject = true; + + disabled = python.pythonVersion != netbox.python.pythonVersion; + + src = fetchFromGitHub { + owner = "Kani999"; + repo = "netbox-attachments"; + tag = "v${finalAttrs.version}"; + hash = "sha256-zuRwUKYywiyIm7qvOUmbxYfct+ZR+GmaQ4oxf3gMVY4="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ + netbox + django + netaddr + ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + pythonImportsCheck = [ "netbox_attachments" ]; + + passthru.pluginName = "netbox_attachments"; + + meta = { + description = "Plugin to manage attachments for any model"; + homepage = "https://github.com/Kani999/netbox-attachments"; + changelog = "https://github.com/Kani999/netbox-attachments/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 8b74c451d6154833784e19a99c2b0316a247da9f Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:14:54 -0500 Subject: [PATCH 44/94] netbox_4_6.plugins.netbox-bgp: init at 0.19.0 --- .../netbox_4_6/plugins/netbox-bgp/package.nix | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-bgp/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-bgp/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-bgp/package.nix new file mode 100644 index 000000000000..0e79cf2632fb --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-bgp/package.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-bgp"; + version = "0.19.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox-bgp"; + tag = "v${finalAttrs.version}"; + hash = "sha256-6LZLsUPC9L9L19KeXJilJvmZYcl6YwqysGO8nFAUmcI="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_bgp" ]; + + passthru.pluginName = "netbox_bgp"; + + meta = { + description = "NetBox plugin for BGP related objects documentation"; + homepage = "https://github.com/netbox-community/netbox-bgp"; + changelog = "https://github.com/netbox-community/netbox-bgp/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 6738259dd365d4eddec9cad5d19915d7aea26d80 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:16:10 -0500 Subject: [PATCH 45/94] netbox_4_6.plugins.netbox-config-backup: init at 2.2.2 --- .../plugins/netbox-config-backup/package.nix | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-config-backup/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-config-backup/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-config-backup/package.nix new file mode 100644 index 000000000000..7ac13e79d45f --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-config-backup/package.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, + netbox-napalm-plugin, + pydriller, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-config-backup"; + version = "2.2.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "DanSheps"; + repo = "netbox-config-backup"; + tag = "v${finalAttrs.version}"; + hash = "sha256-PT7/RCpB7SAinQ8McQV59b9ouqqUSoEqEj0ultL37cs="; + }; + + build-system = [ setuptools ]; + + pythonRemoveDeps = [ "uuid" ]; # python builtin + + dependencies = [ + netbox-napalm-plugin + pydriller + ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_config_backup" ]; + + passthru.pluginName = "netbox_config_backup"; + + meta = { + description = "NetBox plugin for configuration backups using napalm"; + homepage = "https://github.com/DanSheps/netbox-config-backup"; + changelog = "https://github.com/DanSheps/netbox-config-backup/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 3ebf2048de34b2f6f0e5f081b6718308ca92b0db Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:16:49 -0500 Subject: [PATCH 46/94] netbox_4_6.plugins.netbox-contextmenus: init at 1.4.14 --- .../plugins/netbox-contextmenus/package.nix | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-contextmenus/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-contextmenus/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-contextmenus/package.nix new file mode 100644 index 000000000000..8fb8565f6e3d --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-contextmenus/package.nix @@ -0,0 +1,34 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-contextmenus"; + version = "1.4.14"; + pyproject = true; + + src = fetchFromGitHub { + owner = "PieterL75"; + repo = "netbox_contextmenus"; + tag = "v${finalAttrs.version}"; + hash = "sha256-YqyxZaHKXhMLDdBTAAKQsCBBSXikxBgcOvXEfa6f+0Y="; + }; + + build-system = [ setuptools ]; + + # pythonImportsCheck fails due to improperly configured django app + + passthru.pluginName = "netbox_contextmenus"; + + meta = { + description = "Netbox plugin to add context buttons to the links, making navigating less clicky"; + homepage = "https://github.com/PieterL75/netbox_contextmenus/"; + changelog = "https://github.com/PieterL75/netbox_contextmenus/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 196e3670b4c121f00747e70d2bdc69a7adf3a11e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:17:24 -0500 Subject: [PATCH 47/94] netbox_4_6.plugins.netbox-contract: init at 2.4.6 --- .../plugins/netbox-contract/package.nix | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-contract/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-contract/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-contract/package.nix new file mode 100644 index 000000000000..62ab7b4be746 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-contract/package.nix @@ -0,0 +1,57 @@ +{ + lib, + buildPythonPackage, + python, + fetchFromGitHub, + setuptools, + python-dateutil, + drf-yasg, + netbox, + netaddr, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-contract"; + version = "2.4.6"; + pyproject = true; + + disabled = python.pythonVersion != netbox.python.pythonVersion; + + src = fetchFromGitHub { + owner = "mlebreuil"; + repo = "netbox-contract"; + tag = "v${finalAttrs.version}"; + hash = "sha256-e8DYjU2UtlWu044e4b5eJWOA/fXDRKLl5AVtaepG0sg="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + python-dateutil + drf-yasg + ]; + + # running tests requires initialized django project + nativeCheckInputs = [ + netbox + netaddr + ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + pythonImportsCheck = [ "netbox_contract" ]; + + passthru.pluginName = "netbox_contract"; + + meta = { + description = "Contract plugin for netbox"; + homepage = "https://github.com/mlebreuil/netbox-contract"; + changelog = "https://github.com/mlebreuil/netbox-contract/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 67a4328c837e67ec88f719760d401dec691d0b2f Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:23:21 -0500 Subject: [PATCH 48/94] netbox_4_6.plugins.netbox-custom-objects: init at 0.6.0 --- .../plugins/netbox-custom-objects/package.nix | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-custom-objects/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-custom-objects/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-custom-objects/package.nix new file mode 100644 index 000000000000..2ecfd630ce93 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-custom-objects/package.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-custom-objects"; + version = "0.6.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "netboxlabs"; + repo = "netbox-custom-objects"; + tag = "v${finalAttrs.version}"; + hash = "sha256-HnA2CJL0EOJctQpsu/G+9fULBIa8rrrYNiT0aaDw/rI="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + dontCheckPythonMetadata = true; + pythonImportsCheck = [ "netbox_custom_objects" ]; + passthru.pluginName = "netbox_custom_objects"; + + meta = { + description = "NetBox plugin to create new object types"; + homepage = "https://github.com/netboxlabs/netbox-custom-objects"; + changelog = "https://github.com/netboxlabs/netbox-custom-objects/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.netboxLimitedUse; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 44c3bdce7572081a1fc44ef1f380ad05edcfe7d4 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:23:48 -0500 Subject: [PATCH 49/94] netbox_4_6.plugins.netbox-data-flows: init at 1.5.3 --- .../plugins/netbox-data-flows/package.nix | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-data-flows/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-data-flows/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-data-flows/package.nix new file mode 100644 index 000000000000..f665277196de --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-data-flows/package.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-data-flows"; + version = "1.5.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Alef-Burzmali"; + repo = "netbox-data-flows"; + tag = "v${finalAttrs.version}"; + hash = "sha256-LrClGEmei1IHK/mv0MkZQnEzbH4afg46W5miMLM9a0g="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_data_flows" ]; + + passthru.pluginName = "netbox_data_flows"; + + meta = { + description = "NetBox plugin to document data flows between systems and applications"; + homepage = "https://github.com/Alef-Burzmali/netbox-data-flows"; + changelog = "https://github.com/Alef-Burzmali/netbox-data-flows/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 6da09c48a4999456bbf0334eda6aa79c6a622ecd Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:24:15 -0500 Subject: [PATCH 50/94] netbox_4_6.plugins.netbox-dns: init at 1.5.10 --- .../netbox_4_6/plugins/netbox-dns/package.nix | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-dns/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-dns/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-dns/package.nix new file mode 100644 index 000000000000..376dd27d979e --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-dns/package.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + dnspython, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-plugin-dns"; + version = "1.5.10"; + pyproject = true; + + src = fetchFromGitHub { + owner = "peteeckel"; + repo = "netbox-plugin-dns"; + tag = finalAttrs.version; + hash = "sha256-wxTW/qiwp+1CXUeCDJnllEW2oCTjlFVUot7JfWPooaw="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + dnspython + ]; + + # pythonImportsCheck fails due to improperly configured django app + + passthru.pluginName = "netbox_dns"; + + meta = { + description = "Netbox plugin for managing DNS data"; + homepage = "https://github.com/peteeckel/netbox-plugin-dns"; + changelog = "https://github.com/peteeckel/netbox-plugin-dns/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From a91115b28715939bd0706219fbced2924f1fe372 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:33:55 -0500 Subject: [PATCH 51/94] netbox_4_6.plugins.netbox-documents: init at 0.8.5 --- .../plugins/netbox-documents/package.nix | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-documents/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-documents/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-documents/package.nix new file mode 100644 index 000000000000..c57ff4dcaaa6 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-documents/package.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + drf-extra-fields, + python, + netbox, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-documents"; + version = "0.8.5"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jasonyates"; + repo = "netbox-documents"; + tag = "v${finalAttrs.version}"; + hash = "sha256-hupJ5gbRj/70oslEosob4gT2y2le5vOrq30t3NWl0nQ="; + }; + + build-system = [ setuptools ]; + + dependencies = [ drf-extra-fields ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_documents" ]; + + passthru.pluginName = "netbox_documents"; + + meta = { + description = "Plugin designed to faciliate the storage of site, circuit, device type and device specific documents within NetBox"; + homepage = "https://github.com/jasonyates/netbox-documents"; + changelog = "https://github.com/jasonyates/netbox-documents/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 18ed2cfc62010d84b9d67c373019f3853b6e8fcd Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:34:31 -0500 Subject: [PATCH 52/94] netbox_4_6.plugins.netbox-floorplan-plugin: init at 0.9.2 --- .../netbox-floorplan-plugin/package.nix | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-floorplan-plugin/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-floorplan-plugin/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-floorplan-plugin/package.nix new file mode 100644 index 000000000000..ee15b3fe9501 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-floorplan-plugin/package.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + django, + netaddr, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-floorplan-plugin"; + version = "0.9.2"; + pyproject = true; + + disabled = python.pythonVersion != netbox.python.pythonVersion; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox-floorplan-plugin"; + tag = finalAttrs.version; + hash = "sha256-I7cz0IONU+RESCA8C57Yxg5ieheryZ31ed9N9OxSeLA="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ + netbox + django + netaddr + ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_floorplan" ]; + + passthru.pluginName = "netbox_floorplan"; + + meta = { + description = "Netbox plugin providing floorplan mapping capability for locations and sites"; + homepage = "https://github.com/netbox-community/netbox-floorplan-plugin"; + changelog = "https://github.com/netbox-community/netbox-floorplan-plugin/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.lgpl3; + maintainers = with lib.maintainers; [ cobalt ]; + }; +}) From b4cfddc3d057c930d78eb19c0eb6221574c218af Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:47:22 -0500 Subject: [PATCH 53/94] netbox_4_6.plugins.netbox-interface-synchronization: init at 4.5.8 --- .../package.nix | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-interface-synchronization/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-interface-synchronization/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-interface-synchronization/package.nix new file mode 100644 index 000000000000..c736e9605b24 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-interface-synchronization/package.nix @@ -0,0 +1,65 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + django, + netaddr, + numpy, + psycopg, + requests, + + # tests + netbox, + python, +}: + +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-interface-synchronization"; + version = "4.5.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "NetTech2001"; + repo = "netbox-interface-synchronization"; + tag = finalAttrs.version; + hash = "sha256-DZ1xOfHop/rASWbBzVILVqvll94tQM7tRiSXwOo/QQI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + django + netaddr + requests + numpy + psycopg # not specified in pyproject.toml, but required at import time + ]; + + # netbox is required for the pythonImportsCheck; plugin does not provide unit tests + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_interface_synchronization" ]; + + passthru.pluginName = "netbox_interface_synchronization"; + + meta = { + description = "Netbox plugin to compare and synchronize interfaces between devices and device types"; + homepage = "https://github.com/NetTech2001/netbox-interface-synchronization"; + changelog = "https://github.com/NetTech2001/netbox-interface-synchronization/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 780fa7e865ad64df5a5dd704bb2694e824d57e44 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:47:56 -0500 Subject: [PATCH 54/94] netbox_4_6.plugins.netbox-inventory: init at 2.6.0 --- .../plugins/netbox-inventory/package.nix | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-inventory/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-inventory/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-inventory/package.nix new file mode 100644 index 000000000000..a280e7aacd84 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-inventory/package.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-inventory"; + version = "2.6.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ArnesSI"; + repo = "netbox-inventory"; + tag = "v${finalAttrs.version}"; + hash = "sha256-NTo9WYkjY4BdE3gSkzNKxjHiWVnLQGVZQ5s8e9u3VY0="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_inventory" ]; + + passthru.pluginName = "netbox_inventory"; + + meta = { + description = "NetBox plugin to manage hardware inventory"; + homepage = "https://github.com/ArnesSI/netbox-inventory"; + changelog = "https://github.com/ArnesSI/netbox-inventory/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 69b948184c3221be435e1735ae0840647e11a1e8 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:48:33 -0500 Subject: [PATCH 55/94] netbox_4_6.plugins.netbox-lifecycle: init at 1.1.9 --- .../plugins/netbox-lifecycle/package.nix | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-lifecycle/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-lifecycle/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-lifecycle/package.nix new file mode 100644 index 000000000000..bbfc4c2702c3 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-lifecycle/package.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, + django-polymorphic, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-lifecycle"; + version = "1.1.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "DanSheps"; + repo = "netbox-lifecycle"; + tag = "v${finalAttrs.version}"; + hash = "sha256-iCBlwhaf6IFdni7FQyRPtRJVwt04w0Jc4R0CeQlIWCY="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_lifecycle" ]; + + dependencies = [ django-polymorphic ]; + + passthru.pluginName = "netbox_lifecycle"; + + meta = { + description = "NetBox plugin for managing Hardware EOL/EOS, and Support Contracts"; + homepage = "https://github.com/DanSheps/netbox-lifecycle"; + changelog = "https://github.com/DanSheps/netbox-lifecycle/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 4550dbface0ada5e6de75a0fd70ff244ab07ce4c Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:49:06 -0500 Subject: [PATCH 56/94] netbox_4_6.plugins.netbox-lists: init at 4.0.4 --- .../plugins/netbox-lists/package.nix | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-lists/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-lists/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-lists/package.nix new file mode 100644 index 000000000000..83d38b775256 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-lists/package.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + netbox, + python, +}: + +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-lists"; + version = "4.0.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "devon-mar"; + repo = "netbox-lists"; + tag = "v${finalAttrs.version}"; + hash = "sha256-RRUuvoeB3xfqlZr1v1zpRdmVZK9av52ZsADOh9s4toQ="; + }; + + build-system = [ hatchling ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_lists" ]; + + passthru.pluginName = "netbox_lists"; + + meta = { + description = "NetBox plugin to generate IP and prefix lists. Integrates with Ansible, Terraform, Prometheus, Oxidized and more"; + homepage = "https://github.com/devon-mar/netbox-lists"; + changelog = "https://github.com/devon-mar/netbox-lists/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From c78d8dd4c429fdfb26d60ce6207bba6e95bb9feb Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:49:43 -0500 Subject: [PATCH 57/94] netbox_4_6.plugins.netbox-napalm-plugin: init at 0.3.5 --- .../plugins/netbox-napalm-plugin/package.nix | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-napalm-plugin/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-napalm-plugin/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-napalm-plugin/package.nix new file mode 100644 index 000000000000..ab2b70078627 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-napalm-plugin/package.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, + napalm, + django, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-napalm-plugin"; + version = "0.3.5"; + pyproject = true; + + disabled = python.pythonVersion != netbox.python.pythonVersion; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox-napalm-plugin"; + tag = "v${finalAttrs.version}"; + hash = "sha256-dtoiA6gvWL6aGBHmHTwqK8L0qRyA83GcUCGAmg9Xo8w="; + }; + + build-system = [ setuptools ]; + + dependencies = [ napalm ]; + + nativeCheckInputs = [ + netbox + django + ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + pythonImportsCheck = [ "netbox_napalm_plugin" ]; + + passthru.pluginName = "netbox_napalm_plugin"; + + meta = { + description = "Netbox plugin for Napalm integration"; + homepage = "https://github.com/netbox-community/netbox-napalm-plugin"; + changelog = "https://github.com/netbox-community/netbox-napalm-plugin/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 91a42a817c3131f272021953968feead51354e1f Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:50:26 -0500 Subject: [PATCH 58/94] netbox_4_6.plugins.netbox-plugin-prometheus-sd: init at 2.0.0 --- .../netbox-plugin-prometheus-sd/package.nix | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-plugin-prometheus-sd/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-plugin-prometheus-sd/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-plugin-prometheus-sd/package.nix new file mode 100644 index 000000000000..3480a252638c --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-plugin-prometheus-sd/package.nix @@ -0,0 +1,55 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies + django, + netaddr, + netbox, + psycopg, +}: + +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-plugin-prometheus-sd"; + version = "2.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "FlxPeters"; + repo = "netbox-plugin-prometheus-sd"; + tag = "v${finalAttrs.version}"; + hash = "sha256-/TvpRRtyCNPmAuFk+wmcJldDniHEkV1t4Vvwa9Sl5eg="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + django + netaddr + psycopg # not specified in pyproject.toml, but required at import time + ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + pythonImportsCheck = [ "netbox_prometheus_sd" ]; + + passthru.pluginName = "netbox_prometheus_sd"; + + meta = { + description = "Netbox plugin to provide Netbox entires to Prometheus HTTP service discovery"; + homepage = "https://github.com/FlxPeters/netbox-plugin-prometheus-sd"; + changelog = "https://github.com/FlxPeters/netbox-plugin-prometheus-sd/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ xanderio ]; + }; +}) From abc0e6b746c14bad685dfafdaccc5aed74c8a64d Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:51:07 -0500 Subject: [PATCH 59/94] netbox_4_6.plugins.netbox-qrcode: init at 0.0.21 --- .../plugins/netbox-qrcode/package.nix | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-qrcode/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-qrcode/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-qrcode/package.nix new file mode 100644 index 000000000000..c43388e2513d --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-qrcode/package.nix @@ -0,0 +1,66 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + pillow, + qrcode, + psycopg2, + + # nativeCheckInputs + django, + netaddr, + netbox, + python, +}: + +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-qrcode"; + version = "0.0.21"; + pyproject = true; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox-qrcode"; + tag = "v${finalAttrs.version}"; + hash = "sha256-A4qjpbfTULzS0UchUN9eX8jZmwoX/ej/18L/YAB8dKA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + qrcode + pillow + ]; + + nativeCheckInputs = [ + django + netaddr + netbox + psycopg2 # not specified in pyproject.toml, but required at import time + ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_qrcode" ]; + + passthru.pluginName = "netbox_qrcode"; + + meta = { + description = "Netbox plugin for generate QR codes for objects: Rack, Device, Cable"; + homepage = "https://github.com/netbox-community/netbox-qrcode"; + changelog = "https://github.com/netbox-community/netbox-qrcode/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 295803b9275e9cdbef69e4d2933a8826ec08b05e Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:51:43 -0500 Subject: [PATCH 60/94] netbox_4_6.plugins.netbox-reorder-rack: init at 1.1.4 --- .../plugins/netbox-reorder-rack/package.nix | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-reorder-rack/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-reorder-rack/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-reorder-rack/package.nix new file mode 100644 index 000000000000..a4d25dfc1fc4 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-reorder-rack/package.nix @@ -0,0 +1,44 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-reorder-rack"; + version = "1.1.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox-reorder-rack"; + tag = "v${finalAttrs.version}"; + hash = "sha256-lWC+Br66POJe3M8L+Pt5D1pWBr9qSpRLn2TcVMXKje4="; + }; + + build-system = [ + setuptools + ]; + + checkInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_reorder_rack" ]; + + passthru.pluginName = "netbox_reorder_rack"; + + meta = { + description = "NetBox plugin to allow users to reorder devices within a rack using a drag and drop UI"; + homepage = "https://github.com/netbox-community/netbox-reorder-rack"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ minijackson ]; + }; +}) From 018c7c7270ccda9b38561f274f10f8ca8e9890ca Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:52:12 -0500 Subject: [PATCH 61/94] netbox_4_6.plugins.netbox-routing: init at 0.4.3 --- .../plugins/netbox-routing/package.nix | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-routing/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-routing/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-routing/package.nix new file mode 100644 index 000000000000..76f3da9f2291 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-routing/package.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, + django-polymorphic, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-routing"; + version = "0.4.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "DanSheps"; + repo = "netbox-routing"; + tag = "v${finalAttrs.version}"; + hash = "sha256-3biANhaAi3uRtaXnAw4i6nWnHkARkkBVqyBHLXIMOdA="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_routing" ]; + + dependencies = [ django-polymorphic ]; + + passthru.pluginName = "netbox_routing"; + + meta = { + description = "NetBox plugin for tracking all kinds of routing information"; + homepage = "https://github.com/DanSheps/netbox-routing"; + changelog = "https://github.com/DanSheps/netbox-routing/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ benley ]; + }; +}) From c1528f47f71067019cbc849a24ed341005a10e74 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:52:56 -0500 Subject: [PATCH 62/94] netbox_4_6.plugins.netbox-secrets: init at 3.1.1 --- .../plugins/netbox-secrets/package.nix | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-secrets/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-secrets/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-secrets/package.nix new file mode 100644 index 000000000000..afcc328a0efe --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-secrets/package.nix @@ -0,0 +1,47 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, + pycryptodome, +}: + +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-secrets"; + version = "3.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Onemind-Services-LLC"; + repo = "netbox-secrets"; + tag = "v${finalAttrs.version}"; + hash = "sha256-XB4upeu2C2ok0jmLX47tOjrjV4b/WXCpgtlRz9+MgAs="; + }; + + build-system = [ setuptools ]; + + dependencies = [ pycryptodome ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_secrets" ]; + + passthru.pluginName = "netbox_secrets"; + + meta = { + description = "NetBox plugin to enhance secret management with encrypted storage and flexible, user-friendly features"; + homepage = "https://github.com/Onemind-Services-LLC/netbox-secrets"; + changelog = "https://github.com/Onemind-Services-LLC/netbox-secrets/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 8d1b9fe793b7b75d0ef3df751b29b7889526abc0 Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:53:28 -0500 Subject: [PATCH 63/94] netbox_4_6.plugins.netbox-security: init at 1.5.10 --- .../plugins/netbox-security/package.nix | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-security/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-security/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-security/package.nix new file mode 100644 index 000000000000..ea2c490b0c57 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-security/package.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-security"; + version = "1.5.10"; + pyproject = true; + + src = fetchFromGitHub { + owner = "andy-shady-org"; + repo = "netbox-security"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DOutzFIF/ey2o9M3sb15rmbGJyzsTXfiwC5Rqks8vxc="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ netbox ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_security" ]; + + passthru.pluginName = "netbox_security"; + + meta = { + description = "NetBox plugin covering various security and NAT related models"; + homepage = "https://github.com/andy-shady-org/netbox-security"; + changelog = "https://github.com/andy-shady-org/netbox-security/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 6d6f194d992594cfc7b1ab2417b0f8b4984f994d Mon Sep 17 00:00:00 2001 From: "Jeffrey C. Ollie" Date: Mon, 20 Jul 2026 11:54:08 -0500 Subject: [PATCH 64/94] netbox_4_6.plugins.netbox-topology-views: init at 4.5.1 --- .../plugins/netbox-topology-views/package.nix | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 pkgs/by-name/ne/netbox_4_6/plugins/netbox-topology-views/package.nix diff --git a/pkgs/by-name/ne/netbox_4_6/plugins/netbox-topology-views/package.nix b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-topology-views/package.nix new file mode 100644 index 000000000000..4e06008e1773 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_6/plugins/netbox-topology-views/package.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + netbox, + django, + netaddr, + python, +}: +buildPythonPackage (finalAttrs: { + __structuredAttrs = true; + + pname = "netbox-topology-views"; + version = "4.5.1"; + pyproject = true; + + disabled = python.pythonVersion != netbox.python.pythonVersion; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox-topology-views"; + tag = "v${finalAttrs.version}"; + hash = "sha256-uKxIu8IPeEwBdRbtQaLWGwLnxvFyJ5FrScsU/ufyTuM="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ + netbox + django + netaddr + ]; + + preFixup = '' + export PYTHONPATH=${netbox}/opt/netbox/netbox:$PYTHONPATH + ''; + + dontUsePythonImportsCheck = python.pythonVersion != netbox.python.pythonVersion; + pythonImportsCheck = [ "netbox_topology_views" ]; + + passthru.pluginName = "netbox_topology_views"; + + meta = { + description = "Netbox plugin for generate topology views/maps from your devices"; + homepage = "https://github.com/netbox-community/netbox-topology-views"; + changelog = "https://github.com/netbox-community/netbox-topology-views/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ felbinger ]; + }; +}) From 384f311d6112706e0c5d177159d55395d4613d10 Mon Sep 17 00:00:00 2001 From: Ryan Omasta Date: Sun, 23 Aug 2026 14:13:15 -0600 Subject: [PATCH 65/94] linuxKernel.kernels.linux_zen: 7.1.9 -> 7.1.10 https://github.com/zen-kernel/zen-kernel/releases/tag/v7.1.10-zen1 Diff: https://github.com/zen-kernel/zen-kernel/compare/v7.1.9-zen1...v7.1.10-zen1 --- pkgs/os-specific/linux/kernel/zen-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index fcdaceae74e6..0d8d5919790a 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -18,7 +18,7 @@ in buildLinux ( args // rec { - version = "7.1.9"; + version = "7.1.10"; pname = "linux-zen"; modDirVersion = lib.versions.pad 3 "${version}-${suffix}"; isZen = true; @@ -27,7 +27,7 @@ buildLinux ( owner = "zen-kernel"; repo = "zen-kernel"; rev = "v${version}-${suffix}"; - sha256 = "0r1c6qpmcdhqdzx27v1wrk6mzwyvwb0ff98bjhf2f1qk9cjk701q"; + sha256 = "0c01cnamvl3mdc1rm7pjpcy5s6s9yamfkg413zn7k2xwkjig8b08"; }; # This is based on the following source: From 9ef4b20ce659c3ff0a646be5de3d7afec15f79f8 Mon Sep 17 00:00:00 2001 From: 4evy Date: Mon, 24 Aug 2026 00:40:00 +0300 Subject: [PATCH 66/94] raycast: 1.104.24 -> 2.0.5.0 Raycast 2.0 is out of beta and replaces the previous stable release https://www.raycast.com/new --- pkgs/by-name/ra/raycast/package.nix | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ra/raycast/package.nix b/pkgs/by-name/ra/raycast/package.nix index 6113908e4aec..08367d5d6ca1 100644 --- a/pkgs/by-name/ra/raycast/package.nix +++ b/pkgs/by-name/ra/raycast/package.nix @@ -10,14 +10,17 @@ undmg, }: -stdenvNoCC.mkDerivation (finalAttrs: { +stdenvNoCC.mkDerivation { pname = "raycast"; - version = "1.104.24"; + version = "2.0.5.0"; + + __structuredAttrs = true; + strictDeps = true; src = fetchurl { name = "Raycast.dmg"; - url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=arm"; - hash = "sha256-kn9bZYSeASKj23NYiWX76OIRXCTonAbUCATyYhPdGgo="; + url = "https://x-r2.raycast-releases.com/Raycast_2.0.5.0_7ecbc62a97_arm64.dmg"; + hash = "sha256-8/EJVGTfTVqN+4U9vT84TLpo137RWnD2YtFTtYK7tH0="; }; dontPatch = true; @@ -32,8 +35,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - mkdir -p $out/Applications/Raycast.app - cp -R . $out/Applications/Raycast.app + mkdir -p "$out/Applications/Raycast.app" + cp -R . "$out/Applications/Raycast.app" + mkdir -p "$out/bin" + ln -s "$out/Applications/Raycast.app/Contents/MacOS/Raycast" "$out/bin/raycast" runHook postInstall ''; @@ -64,6 +69,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { description = "Control your tools with a few keystrokes"; homepage = "https://raycast.app/"; license = lib.licenses.unfree; + mainProgram = "raycast"; maintainers = with lib.maintainers; [ lovesegfault stepbrobd @@ -75,4 +81,4 @@ stdenvNoCC.mkDerivation (finalAttrs: { ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; -}) +} From 4496db9286c50cbaaa26b3844a040303626b3ecc Mon Sep 17 00:00:00 2001 From: 4evy Date: Mon, 24 Aug 2026 00:40:00 +0300 Subject: [PATCH 67/94] raycast: improve update script Use Raycast's arm64 download redirect instead of the obsolete universal v1 release feed --- pkgs/by-name/ra/raycast/package.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ra/raycast/package.nix b/pkgs/by-name/ra/raycast/package.nix index 08367d5d6ca1..2448f1990245 100644 --- a/pkgs/by-name/ra/raycast/package.nix +++ b/pkgs/by-name/ra/raycast/package.nix @@ -5,7 +5,6 @@ writeShellApplication, cacert, curl, - jq, openssl, undmg, }: @@ -48,19 +47,20 @@ stdenvNoCC.mkDerivation { runtimeInputs = [ cacert curl - jq openssl ]; text = '' - url=$(curl --silent "https://releases.raycast.com/releases/latest?build=universal") - version=$(echo "$url" | jq -r '.version') - - arm_url="https://releases.raycast.com/releases/$version/download?build=arm" - arm_hash="sha256-$(curl -sL "$arm_url" | openssl dgst -sha256 -binary | openssl base64)" + download_url="https://x.raycast-releases.com/download?platform=macos&architecture=arm64" + url=$(curl --fail --silent --show-error --head --output /dev/null --write-out '%{redirect_url}' "$download_url") + filename="''${url##*/}" + version="''${filename#Raycast_}" + version="''${version%%_*}" + hash="sha256-$(curl --fail --silent --show-error --location "$url" | openssl dgst -sha256 -binary | openssl base64)" sed -i -E \ - -e 's|(version = )"[0-9]+\.[0-9]+\.[0-9]+";|\1"'"$version"'";|' \ - -e '/src = fetchurl/,/};/ s|(hash = )"sha256-[A-Za-z0-9+/]+=";|\1"'"$arm_hash"'";|' \ + -e 's|(version = )"[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+";|\1"'"$version"'";|' \ + -e 's|url = "https://x-r2\.raycast-releases\.com/Raycast_[^"]*_arm64\.dmg";|url = "'"$url"'";|' \ + -e 's|(hash = )"sha256-[A-Za-z0-9+/]+=";|\1"'"$hash"'";|' \ ./pkgs/by-name/ra/raycast/package.nix ''; }); From abc7e7b00b42551dda67f39e4575f1fd7ff3ae0c Mon Sep 17 00:00:00 2001 From: 4evy Date: Mon, 24 Aug 2026 00:40:00 +0300 Subject: [PATCH 68/94] raycast-beta: remove Raycast 2.0 replaces the beta channel https://www.raycast.com/new --- pkgs/by-name/ra/raycast-beta/package.nix | 82 ------------------------ pkgs/top-level/aliases.nix | 1 + 2 files changed, 1 insertion(+), 82 deletions(-) delete mode 100644 pkgs/by-name/ra/raycast-beta/package.nix diff --git a/pkgs/by-name/ra/raycast-beta/package.nix b/pkgs/by-name/ra/raycast-beta/package.nix deleted file mode 100644 index 9f624a65edf6..000000000000 --- a/pkgs/by-name/ra/raycast-beta/package.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ - lib, - stdenvNoCC, - fetchurl, - writeShellApplication, - cacert, - curl, - openssl, - undmg, -}: - -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "raycast-beta"; - version = "0.71.5.0"; - - __structuredAttrs = true; - strictDeps = true; - - src = - { - aarch64-darwin = fetchurl { - name = "Raycast_Beta.dmg"; - url = "https://x-r2.raycast-releases.com/Raycast_Beta_0.71.5.0_7520eff523_arm64.dmg"; - hash = "sha256-KveiWuyeNuMGwDAeyPMqUxMzFTei23NnEOBVL5HKXMk="; - }; - } - .${stdenvNoCC.system} or (throw "raycast-beta: ${stdenvNoCC.system} is unsupported."); - - dontPatch = true; - dontConfigure = true; - dontBuild = true; - dontFixup = true; - - nativeBuildInputs = [ undmg ]; - - sourceRoot = "Raycast Beta.app"; - - installPhase = '' - runHook preInstall - - mkdir -p "$out/Applications/Raycast Beta.app" - cp -R . "$out/Applications/Raycast Beta.app" - mkdir -p "$out/bin" - ln -s "$out/Applications/Raycast Beta.app/Contents/MacOS/Raycast Beta" "$out/bin/raycast-beta" - - runHook postInstall - ''; - - passthru.updateScript = lib.getExe (writeShellApplication { - name = "raycast-beta-update-script"; - runtimeInputs = [ - cacert - curl - openssl - ]; - text = '' - url=$(curl --silent "https://www.raycast.com/new" | grep -o 'https://x-r2\.raycast-releases\.com/Raycast_Beta_[^"]*_arm64\.dmg' | head -n1) - version=$(echo "$url" | sed -E 's|.*/Raycast_Beta_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)_[^/]+_arm64\.dmg|\1|') - hash="sha256-$(curl -sL "$url" | openssl dgst -sha256 -binary | openssl base64)" - - sed -i -E \ - -e 's|(version = )"[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+";|\1"'"$version"'";|' \ - -e 's|url = "https://x-r2\.raycast-releases\.com/Raycast_Beta_[^"]*_arm64\.dmg";|url = "'"$url"'";|' \ - -e 's|(hash = )"sha256-[A-Za-z0-9+/]+=";|\1"'"$hash"'";|' \ - ./pkgs/by-name/ra/raycast-beta/package.nix - ''; - }); - - meta = { - description = "Control your tools with a few keystrokes - beta release"; - homepage = "https://raycast.app/new"; - changelog = "https://www.raycast.com/changelog/macos-beta"; - license = lib.licenses.unfree; - mainProgram = "raycast-beta"; - maintainers = with lib.maintainers; [ - _4evy - Br1ght0ne - ]; - platforms = [ "aarch64-darwin" ]; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - }; -}) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c4ba34aa88ff..b9735c04d9b2 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -2142,6 +2142,7 @@ mapAliases { rambox-pro = throw "'rambox-pro' has been renamed to/replaced by 'rambox'"; # Converted to throw 2025-10-27 rapidjson-unstable = throw "'rapidjson-unstable' has been renamed to/replaced by 'rapidjson'"; # Converted to throw 2025-10-27 rar2fs = throw "'rar2fs' has been removed as it is unmaintained, and depends on the unmaintained fuse2 library"; # Added 2026-05-19 + raycast-beta = throw "'raycast-beta' has been removed because Raycast 2.0 is out of beta. Use 'raycast' instead."; # Added 2026-08-24 react-static = throw "'react-static' has been removed due to lack of maintenance upstream"; # Added 2025-11-04 recurseIntoAttrs = warnAlias "'recurseIntoAttrs' has been removed from pkgs, use `lib.recurseIntoAttrs` instead" lib.recurseIntoAttrs; # Added 2025-10-30 redict = throw "'redict' has been removed due to lack of nixpkgs maintenance and a slow upstream development pace. Consider using 'valkey'."; # Added 2025-10-16 From f8ac3b3cf810ffaf7ff548640f7ac1581767bf07 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 23 Aug 2026 21:46:04 +0000 Subject: [PATCH 69/94] cubelify: 1.25.13 -> 1.25.14 --- pkgs/by-name/cu/cubelify/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cu/cubelify/package.nix b/pkgs/by-name/cu/cubelify/package.nix index 40ffb90e59ca..f831ee00ebdf 100644 --- a/pkgs/by-name/cu/cubelify/package.nix +++ b/pkgs/by-name/cu/cubelify/package.nix @@ -6,11 +6,11 @@ }: appimageTools.wrapType2 rec { pname = "cubelify"; - version = "1.25.13"; + version = "1.25.14"; src = fetchurl { url = "https://storage.cubelify.com/overlay/v1/Cubelify%20Overlay-${version}.AppImage"; - hash = "sha512-1gNMoaEdh5qAySgRl9rjrFPLFpdTt6YxMaYdry4AJpQhNYxv45M1pq7D5HqJ4xgZHQZxfERPo+Wvfzk1rwaWog=="; + hash = "sha512-R2J1u+XAeOwNe6lzsntXzIU0wk7UEXa4QBncpMnc3qgp/uYzaV+rBbk5+NyL+GBjLEVPkUDoMjoL2K2iCZpdYw=="; }; nativeBuildInputs = [ makeWrapper ]; From ea9083e1572b5d636061e230a1f7978902e749d1 Mon Sep 17 00:00:00 2001 From: liberodark Date: Wed, 22 Jan 2025 15:04:40 +0100 Subject: [PATCH 70/94] nixos/rundeck: init --- .../manual/release-notes/rl-2611.section.md | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/web-apps/rundeck.nix | 651 ++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/rundeck.nix | 111 +++ 5 files changed, 766 insertions(+) create mode 100644 nixos/modules/services/web-apps/rundeck.nix create mode 100644 nixos/tests/rundeck.nix diff --git a/nixos/doc/manual/release-notes/rl-2611.section.md b/nixos/doc/manual/release-notes/rl-2611.section.md index 49b0a51331e9..cab1c446b346 100644 --- a/nixos/doc/manual/release-notes/rl-2611.section.md +++ b/nixos/doc/manual/release-notes/rl-2611.section.md @@ -108,6 +108,8 @@ - [Umbriel](https://docs.noctalia.dev/umbriel/), a Wayland compositor built on wlroots and SceneFX. Available as [programs.umbriel](#opt-programs.umbriel.enable). +- [Rundeck](https://www.rundeck.com), Self-Service Operations [services.rundeck](#opt-services.rundeck.enable). + ## Backward Incompatibilities {#sec-release-26.11-incompatibilities} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a7a07eff0c22..5c77c2014238 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1824,6 +1824,7 @@ ./services/web-apps/romm.nix ./services/web-apps/rss-bridge.nix ./services/web-apps/rsshub.nix + ./services/web-apps/rundeck.nix ./services/web-apps/rustical.nix ./services/web-apps/rutorrent.nix ./services/web-apps/screego.nix diff --git a/nixos/modules/services/web-apps/rundeck.nix b/nixos/modules/services/web-apps/rundeck.nix new file mode 100644 index 000000000000..71526d651a82 --- /dev/null +++ b/nixos/modules/services/web-apps/rundeck.nix @@ -0,0 +1,651 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.rundeck; + settingsFormat = pkgs.formats.javaProperties { }; + effectivePort = if cfg.ssl.enable then cfg.ssl.port else cfg.serverPort; + scheme = if cfg.ssl.enable then "https" else "http"; + + configFile = settingsFormat.generate "rundeck-config.properties" cfg.settings; + frameworkFile = settingsFormat.generate "framework.properties" cfg.frameworkSettings; + + realmFile = pkgs.writeText "realm.properties" '' + ${cfg.adminUser}:@ADMIN_PASSWORD@,user,admin + ''; + + replaceSecret = + placeholder: file: target: + "replace-secret ${ + lib.escapeShellArgs [ + placeholder + file + target + ] + }"; + + rundeckStartScript = pkgs.writeShellScript "start-rundeck" '' + # Generate SSH + if [ ! -f ${cfg.dataDir}/.ssh/id_${cfg.sshKeyType} ]; then + umask 0077 + ${lib.getExe' pkgs.openssh "ssh-keygen"} -t ${cfg.sshKeyType} ${ + lib.optionalString (cfg.sshKeyType == "rsa") "-b 4096" + } -N "" -f ${cfg.dataDir}/.ssh/id_${cfg.sshKeyType} + chmod 644 ${cfg.dataDir}/.ssh/id_${cfg.sshKeyType}.pub + chown ${cfg.user}:${cfg.group} ${cfg.dataDir}/.ssh/id_${cfg.sshKeyType} ${cfg.dataDir}/.ssh/id_${cfg.sshKeyType}.pub + fi + + ${lib.getExe cfg.package} \ + --skipinstall \ + -b ${cfg.dataDir} \ + -c ${cfg.configDir} \ + -p ${cfg.dataDir}/projects + ''; +in +{ + options = { + services.rundeck = { + enable = lib.mkEnableOption "Rundeck service"; + + package = lib.mkPackageOption pkgs "rundeck" { }; + + adminUser = lib.mkOption { + type = lib.types.str; + default = "admin"; + description = "Username for the Rundeck admin user"; + example = "rundeck-admin"; + }; + + adminPasswordFile = lib.mkOption { + type = lib.types.path; + description = "Path to a file containing the admin password"; + example = "/run/secrets/rundeck-admin-password"; + }; + + user = lib.mkOption { + type = lib.types.str; + default = "rundeck"; + description = "User account under which Rundeck runs"; + }; + + group = lib.mkOption { + type = lib.types.str; + default = "rundeck"; + description = "Group account under which Rundeck runs"; + }; + + serverHostname = lib.mkOption { + type = lib.types.str; + default = "localhost"; + description = "Hostname for the Rundeck server"; + }; + + serverURL = lib.mkOption { + type = lib.types.str; + default = "${scheme}://${cfg.serverHostname}:${toString effectivePort}"; + defaultText = lib.literalMD '' + `://:`, where scheme is `https` when + `ssl.enable` else `http`, and port is `ssl.port` when `ssl.enable` + else `serverPort`. + ''; + description = "Complete Grails server URL"; + example = "https://myhost:4443/rundeck"; + }; + + serverPort = lib.mkOption { + type = lib.types.port; + default = 4440; + description = "Port on which Rundeck will listen"; + }; + + serverUUID = lib.mkOption { + type = lib.types.str; + default = ""; + description = "UUID for the Rundeck server (automatically generated if not specified)"; + }; + + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/rundeck"; + description = "Directory for Rundeck runtime data (RDECK_BASE)"; + }; + + configDir = lib.mkOption { + type = lib.types.path; + default = "/etc/rundeck"; + description = "Directory for Rundeck configuration files"; + }; + + javaOpts = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = [ + "-Xmx1024m" + "-Xms256m" + "-XX:MaxMetaspaceSize=256m" + "-server" + ]; + description = "Additional Java options for Rundeck"; + }; + + aclPolicies = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + default = { }; + description = "ACL policies for Rundeck, where the attribute name is the filename and the value is the policy content"; + example = lib.literalExpression '' + { + "admin.aclpolicy" = ''' + description: Admin access for administrators + context: + project: '.*' + for: + resource: + - allow: '*' + job: + - allow: '*' + node: + - allow: '*' + by: + group: admin + --- + description: Admin access in application scope + context: + application: 'rundeck' + for: + resource: + - allow: '*' + project: + - allow: '*' + by: + group: admin + '''; + } + ''; + }; + + sshKeyType = lib.mkOption { + type = lib.types.enum [ + "rsa" + "ed25519" + ]; + default = "rsa"; + description = "Type of SSH key to generate (rsa for compatibility, ed25519 for better security)"; + }; + + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Whether to open the Rundeck port in the firewall"; + }; + + startTimeout = lib.mkOption { + type = lib.types.int; + default = 180; + description = "Timeout in seconds before systemd considers the service startup as failed"; + example = 120; + }; + + database = { + type = lib.mkOption { + type = lib.types.enum [ + "h2" + "postgresql" + "mysql" + ]; + default = "h2"; + description = "Database type to use (h2, postgresql, or mysql)"; + }; + + host = lib.mkOption { + type = lib.types.str; + default = "localhost"; + description = "Database host"; + }; + + port = lib.mkOption { + type = lib.types.nullOr lib.types.port; + default = + if cfg.database.type == "postgresql" then + 5432 + else if cfg.database.type == "mysql" then + 3306 + else + null; + defaultText = lib.literalExpression '' + if config.services.rundeck.database.type == "postgresql" then + 5432 + else if config.services.rundeck.database.type == "mysql" then + 3306 + else + null + ''; + description = "Database port (defaults: PostgreSQL: 5432, MySQL: 3306)"; + }; + + name = lib.mkOption { + type = lib.types.str; + default = "rundeck"; + description = "Database name"; + }; + + username = lib.mkOption { + type = lib.types.str; + default = "rundeck"; + description = "Database username"; + }; + + passwordFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = "Path to a file containing the database password"; + example = "/run/secrets/rundeck-db-password"; + }; + }; + + settings = lib.mkOption { + type = lib.types.submodule { + freeformType = settingsFormat.type; + }; + default = { }; + description = '' + Configuration written to `rundeck-config.properties`. + See + for available options. + + Secrets must not be set here, as this ends up world-readable in the Nix + store. Use the dedicated `*File` options instead. + ''; + example = lib.literalExpression '' + { + "rundeck.feature.repository.enabled" = "true"; + "rundeck.projectsStorageType" = "db"; + "rundeck.gui.title" = "My Rundeck Instance"; + "rdeck.security.useHMacRequestTokens" = "true"; + "rundeck.web.jetty.servlet.MaxFormKeys" = "2000"; + } + ''; + }; + + frameworkSettings = lib.mkOption { + type = lib.types.submodule { + freeformType = settingsFormat.type; + }; + default = { }; + description = '' + Configuration written to `framework.properties`. + See + for available options. + ''; + example = lib.literalExpression '' + { + "framework.ssh.timeout" = "120"; + "framework.ssh.user" = "deploy"; + } + ''; + }; + + ssl = { + enable = lib.mkEnableOption "SSL support"; + + port = lib.mkOption { + type = lib.types.port; + default = 4443; + description = "Port on which Rundeck will listen for HTTPS when ssl.enable is true"; + }; + + keyStore = lib.mkOption { + type = lib.types.path; + example = "/etc/rundeck/ssl/keystore"; + description = "Path to the keystore containing the SSL certificate"; + }; + + keyStorePasswordFile = lib.mkOption { + type = lib.types.path; + description = "Path to a file containing the SSL keystore password"; + example = "/run/secrets/rundeck-keystore-password"; + }; + }; + }; + }; + + config = lib.mkIf cfg.enable { + + assertions = [ + { + assertion = + cfg.database.type == "h2" + || (cfg.database.host != "" && cfg.database.username != "" && cfg.database.passwordFile != null); + message = "When using external database (PostgreSQL/MySQL), host, username, and passwordFile must be provided"; + } + { + assertion = cfg.database.type == "h2" || cfg.database.port != null; + message = "Database port must be set when using an external database"; + } + ]; + + services.rundeck.settings = { + "server.address" = lib.mkDefault "0.0.0.0"; + "server.port" = lib.mkDefault (toString cfg.serverPort); + "grails.serverURL" = lib.mkDefault cfg.serverURL; + "logging.config" = lib.mkDefault "${cfg.configDir}/log4j2.properties"; + "dataSource.url" = lib.mkDefault ( + if cfg.database.type == "h2" then + "jdbc:h2:file:${cfg.dataDir}/data/rundeckdb;DB_CLOSE_ON_EXIT=FALSE;NON_KEYWORDS=MONTH,HOUR,MINUTE,YEAR,SECONDS" + else if cfg.database.type == "postgresql" then + "jdbc:postgresql://${cfg.database.host}:${toString cfg.database.port}/${cfg.database.name}" + else + "jdbc:mysql://${cfg.database.host}:${toString cfg.database.port}/${cfg.database.name}?autoReconnect=true&useSSL=false" + ); + "dataSource.driverClassName" = lib.mkDefault ( + if cfg.database.type == "h2" then + "org.h2.Driver" + else if cfg.database.type == "postgresql" then + "org.postgresql.Driver" + else + "org.mariadb.jdbc.Driver" + ); + "dataSource.username" = lib.mkDefault cfg.database.username; + } + // lib.optionalAttrs (cfg.database.passwordFile != null) { + "dataSource.password" = lib.mkDefault "@DB_PASSWORD@"; + } + // lib.optionalAttrs (cfg.database.type == "h2") { + "dataSource.dialect" = lib.mkDefault "org.hibernate.dialect.H2Dialect"; + } + // lib.optionalAttrs (cfg.database.type == "mysql") { + "dataSource.dialect" = lib.mkDefault "org.hibernate.dialect.MariaDB103Dialect"; + } + // lib.optionalAttrs cfg.ssl.enable { + "server.https.port" = lib.mkDefault (toString cfg.ssl.port); + "server.ssl.keyStore" = lib.mkDefault (toString cfg.ssl.keyStore); + "server.ssl.keyStorePassword" = lib.mkDefault "@KEYSTORE_PASSWORD@"; + }; + + services.rundeck.frameworkSettings = { + "framework.server.name" = lib.mkDefault cfg.serverHostname; + "framework.server.hostname" = lib.mkDefault cfg.serverHostname; + "framework.server.port" = lib.mkDefault (toString effectivePort); + "framework.server.url" = lib.mkDefault cfg.serverURL; + "framework.ssh.keypath" = lib.mkDefault "${cfg.dataDir}/.ssh/id_${cfg.sshKeyType}"; + "framework.ssh.user" = lib.mkDefault cfg.user; + "framework.ssh.timeout" = lib.mkDefault "60"; + "rdeck.base" = cfg.dataDir; + "framework.projects.dir" = "${cfg.dataDir}/projects"; + "framework.etc.dir" = toString cfg.configDir; + "framework.var.dir" = "${cfg.dataDir}/var"; + "framework.tmp.dir" = "${cfg.dataDir}/var/tmp"; + "framework.logs.dir" = "${cfg.dataDir}/var/logs"; + "framework.libext.dir" = "${cfg.dataDir}/libext"; + "rundeck.server.uuid" = if cfg.serverUUID != "" then cfg.serverUUID else "@SERVER_UUID@"; + }; + + users.users.${cfg.user} = { + isSystemUser = true; + group = cfg.group; + home = cfg.dataDir; + createHome = true; + }; + + users.groups.${cfg.group} = { }; + + systemd.tmpfiles.settings."10-rundeck" = { + "${cfg.dataDir}" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/etc" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/data" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/projects" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/libext" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/var" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/var/logs" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/var/tmp" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.dataDir}/.ssh" = { + d = { + mode = "0700"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.configDir}" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "${cfg.configDir}/ssl" = { + d = { + mode = "0750"; + user = cfg.user; + group = cfg.group; + }; + }; + + "/var/log/rundeck" = { + L = { + argument = "${cfg.dataDir}/var/logs"; + }; + }; + }; + + environment.etc."rundeck/jaas-loginmodule.conf" = { + mode = "0640"; + user = cfg.user; + group = cfg.group; + text = '' + RDpropertyfilelogin { + org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required + debug="true" + file="/etc/rundeck/realm.properties"; + }; + ''; + }; + + environment.etc."rundeck/log4j2.properties" = { + mode = "0640"; + user = cfg.user; + group = cfg.group; + text = '' + status = info + name = RundeckPro + + appender.console.type = Console + appender.console.name = STDOUT + appender.console.layout.type = PatternLayout + appender.console.layout.pattern = %d{DEFAULT} %-5p %c{1} - %m%n + + appender.file.type = RollingFile + appender.file.name = FILE + appender.file.fileName = ${cfg.dataDir}/var/logs/rundeck.log + appender.file.filePattern = ${cfg.dataDir}/var/logs/rundeck.%d{yyyy-MM-dd}.log + appender.file.layout.type = PatternLayout + appender.file.layout.pattern = %d{DEFAULT} [%t] %-5p %c{1} - %m%n + appender.file.policies.type = Policies + appender.file.policies.time.type = TimeBasedTriggeringPolicy + appender.file.policies.time.interval = 1 + appender.file.policies.time.modulate = true + + rootLogger.level = info + rootLogger.appenderRef.stdout.ref = STDOUT + rootLogger.appenderRef.file.ref = FILE + + logger.hibernate.name = org.hibernate + logger.hibernate.level = ERROR + ''; + }; + + systemd.services.rundeck = { + description = "Rundeck Service"; + wantedBy = [ "multi-user.target" ]; + after = [ + "network.target" + ] + ++ lib.optional (cfg.database.type == "mysql") "mysql.service" + ++ lib.optional (cfg.database.type == "postgresql") "postgresql.service"; + wants = + lib.optional (cfg.database.type == "mysql") "mysql.service" + ++ lib.optional (cfg.database.type == "postgresql") "postgresql.service"; + + environment = { + RDECK_BASE = cfg.dataDir; + RUNDECK_CONFIG_DIR = cfg.configDir; + JAVA_OPTS = lib.concatStringsSep " " cfg.javaOpts; + }; + + path = [ pkgs.replace-secret ]; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + ExecStart = rundeckStartScript; + WorkingDirectory = cfg.dataDir; + RuntimeDirectory = "rundeck"; + RuntimeDirectoryMode = "0750"; + UMask = "0027"; + + LimitNOFILE = 65536; + ReadWritePaths = [ + cfg.dataDir + cfg.configDir + ]; + RestartSec = "10s"; + Restart = "always"; + TimeoutStartSec = "${toString cfg.startTimeout}s"; + + CapabilityBoundingSet = [ "CAP_SYS_ADMIN" ]; + AmbientCapabilities = [ "CAP_SYS_ADMIN" ]; + + LimitCORE = 0; + LockPersonality = true; + MemorySwapMax = 0; + MemoryZSwapMax = 0; + PrivateDevices = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RemoveIPC = true; + RestrictAddressFamilies = [ + "AF_UNIX" + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + }; + + preStart = '' + ${lib.optionalString (cfg.serverUUID == "") '' + # Generate UUID + UUID_FILE="${cfg.dataDir}/.uuid" + if [ ! -f "$UUID_FILE" ]; then + umask 0137 + ${lib.getExe' pkgs.util-linux "uuidgen"} > "$UUID_FILE" + fi + ''} + + + install -m 0640 ${configFile} ${cfg.configDir}/rundeck-config.properties + install -m 0640 ${frameworkFile} ${cfg.configDir}/framework.properties + install -m 0600 ${realmFile} ${cfg.configDir}/realm.properties + + ${replaceSecret "@ADMIN_PASSWORD@" cfg.adminPasswordFile "${cfg.configDir}/realm.properties"} + + ${lib.optionalString (cfg.database.passwordFile != null) ( + replaceSecret "@DB_PASSWORD@" cfg.database.passwordFile "${cfg.configDir}/rundeck-config.properties" + )} + + ${lib.optionalString cfg.ssl.enable ( + replaceSecret "@KEYSTORE_PASSWORD@" cfg.ssl.keyStorePasswordFile + "${cfg.configDir}/rundeck-config.properties" + )} + + ${lib.optionalString (cfg.serverUUID == "") ( + replaceSecret "@SERVER_UUID@" "${cfg.dataDir}/.uuid" "${cfg.configDir}/framework.properties" + )} + + if [ -f ${cfg.dataDir}/etc/framework.properties ]; then + install -m 0640 ${cfg.configDir}/framework.properties ${cfg.dataDir}/etc/framework.properties + fi + + ${lib.concatStringsSep "\n" ( + lib.mapAttrsToList ( + name: content: + "install -m 0640 ${pkgs.writeText "rundeck-${name}" content} ${cfg.dataDir}/etc/${name}" + ) cfg.aclPolicies + )} + ''; + }; + + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ + (if cfg.ssl.enable then cfg.ssl.port else cfg.serverPort) + ]; + }; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index d480c9263a77..95c35abd7642 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1553,6 +1553,7 @@ in rsyslogd = handleTest ./rsyslogd.nix { }; rtkit = runTest ./rtkit.nix; rtorrent = runTest ./rtorrent.nix; + rundeck = runTest ./rundeck.nix; rush = runTest ./rush.nix; rustfs = runTest ./rustfs.nix; rustical = runTest ./web-apps/rustical.nix; diff --git a/nixos/tests/rundeck.nix b/nixos/tests/rundeck.nix new file mode 100644 index 000000000000..8bfd209816f3 --- /dev/null +++ b/nixos/tests/rundeck.nix @@ -0,0 +1,111 @@ +{ + name = "rundeck"; + + nodes = { + rundeck = + { pkgs, ... }: + { + environment.etc."rundeck-admin-password" = { + text = "testpassword"; + mode = "0400"; + user = "rundeck"; + group = "rundeck"; + }; + + services.rundeck = { + enable = true; + serverHostname = "rundeck"; + adminUser = "testadmin"; + adminPasswordFile = "/etc/rundeck-admin-password"; + serverPort = 4441; + database.type = "h2"; + openFirewall = true; + }; + + environment.systemPackages = with pkgs; [ + curl + jq + ]; + }; + }; + + testScript = '' + start_all() + + def login_and_verify_api(machine, host, port, user, password, timeout=300): + """Authenticate via Rundeck form login and verify API access.""" + machine.wait_until_succeeds( + f"curl -s -c /tmp/cookies -L" + f" -d 'j_username={user}&j_password={password}'" + f" http://{host}:{port}/j_security_check -o /dev/null" + f" && curl -s -b /tmp/cookies -H 'Accept: application/json'" + f" http://{host}:{port}/api/26/system/info" + f" | jq -e '.system.rundeck.version'", + timeout=timeout, + ) + + def properties(machine, path): + return machine.succeed(f"cat {path}").replace("\\", "").replace(" = ", "=") + + with subtest("Rundeck starts and serves homepage"): + rundeck.wait_for_unit("rundeck.service") + rundeck.wait_for_open_port(4441) + rundeck.wait_until_succeeds( + "curl -sL http://rundeck:4441 | grep -qi Rundeck" + ) + + with subtest("Regression - port is included in generated URLs"): + config = properties(rundeck, "/etc/rundeck/rundeck-config.properties") + framework = properties(rundeck, "/etc/rundeck/framework.properties") + + assert "grails.serverURL=http://rundeck:4441" in config, config + assert "server.port=4441" in config, config + assert "framework.server.url=http://rundeck:4441" in framework, framework + + with subtest("Structural settings end up in the generated config"): + config = properties(rundeck, "/etc/rundeck/rundeck-config.properties") + + assert "dataSource.driverClassName=org.h2.Driver" in config, config + assert "dataSource.dialect=org.hibernate.dialect.H2Dialect" in config, config + + with subtest("Server UUID is generated and substituted"): + framework = properties(rundeck, "/etc/rundeck/framework.properties") + + assert "@SERVER_UUID@" not in framework, framework + rundeck.succeed( + "grep -qE '^rundeck\\.server\\.uuid = [0-9a-f-]{36}$'" + " /etc/rundeck/framework.properties" + ) + + with subtest("Secrets are substituted and not world-readable"): + rundeck.succeed( + "grep -qxF 'testadmin:testpassword,user,admin'" + " /etc/rundeck/realm.properties" + ) + rundeck.fail("grep -q '@ADMIN_PASSWORD@' /etc/rundeck/realm.properties") + rundeck.succeed( + "[ \"$(stat -c %a /etc/rundeck/realm.properties)\" = 600 ]" + ) + rundeck.succeed( + "[ \"$(stat -c %U /etc/rundeck/realm.properties)\" = rundeck ]" + ) + + with subtest("API authentication via form login"): + login_and_verify_api(rundeck, "rundeck", 4441, "testadmin", "testpassword") + + rundeck.succeed( + "curl -s -b /tmp/cookies -X POST" + " -H 'Accept: application/json'" + " -H 'Content-Type: application/json'" + " -d '{\"name\":\"test-project\",\"config\":{}}'" + " http://rundeck:4441/api/26/projects" + " | jq -e '.name == \"test-project\"'" + ) + + rundeck.succeed( + "curl -s -b /tmp/cookies -H 'Accept: application/json'" + " http://rundeck:4441/api/26/projects" + " | jq -e 'any(.[]; .name == \"test-project\")'" + ) + ''; +} From 2de58f2ed27cd63b16b97bb3c9d8fde04b3525a8 Mon Sep 17 00:00:00 2001 From: jam1garner Date: Sun, 23 Aug 2026 18:12:38 -0400 Subject: [PATCH 71/94] spade: 0.19.0 -> 0.20.0 --- pkgs/by-name/sp/spade/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sp/spade/package.nix b/pkgs/by-name/sp/spade/package.nix index ba08513aa2c9..118f0f6d770c 100644 --- a/pkgs/by-name/sp/spade/package.nix +++ b/pkgs/by-name/sp/spade/package.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage rec { pname = "spade"; - version = "0.19.0"; + version = "0.20.0"; src = fetchFromGitLab { owner = "spade-lang"; repo = "spade"; rev = "v${version}"; - hash = "sha256-HSRttrf4Dsl9iatqVr9YH4MoKPwe9XJWJYqNRchFLY0="; + hash = "sha256-POMt+uTSaP+XADFbAwWLxzm6FZiyoMIrDFfTtBMPIgs="; # only needed for vatch, which contains test data fetchSubmodules = true; }; - cargoHash = "sha256-koMnkwgQtVMvxlslvC5dZAhr3K/66XWyp5UPW7yZtio="; + cargoHash = "sha256-j/h9UzcsojELd/bYX6/w54PwuqMViEAOKE9tsmQOhXY="; # TODO: somehow respect https://nixos.org/manual/nixpkgs/stable/#var-passthru-updateScript-commit passthru.updateScript = _experimental-update-script-combinators.sequence [ From 038c640e7abca63731eccd8b1061a78ba3f3ee62 Mon Sep 17 00:00:00 2001 From: jam1garner Date: Sun, 23 Aug 2026 18:18:32 -0400 Subject: [PATCH 72/94] swim: 0.19.0 -> 0.20.0 --- pkgs/by-name/sw/swim/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sw/swim/package.nix b/pkgs/by-name/sw/swim/package.nix index 26cfc74f1cee..16a016956bb5 100644 --- a/pkgs/by-name/sw/swim/package.nix +++ b/pkgs/by-name/sw/swim/package.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "swim"; - version = "0.19.0"; + version = "0.20.0"; src = fetchFromGitLab { owner = "spade-lang"; repo = "swim"; rev = "v${version}"; - hash = "sha256-5/yIucyErZpY5iN/6r8JNAfsrYPxh+lBHDBD6cnjbHQ="; + hash = "sha256-pd/ej6WCS36gHlzkHM+pSyV2e87jIAk/kR8OU+nmrDk="; }; - cargoHash = "sha256-+znzedDuB7hMzaRtAvLNUC9gG0Q2R8Fn61D64udAyAM="; + cargoHash = "sha256-7yQytwWDmb58aQzVb4EJZ1e7212qfaPXUhvO6fzbg/M="; nativeBuildInputs = [ pkg-config ]; From 74be20a884610eeb9eb6329c914e4bf8aa90394f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 23 Aug 2026 22:30:30 +0000 Subject: [PATCH 73/94] versatiles: 4.7.0 -> 4.9.1 --- pkgs/by-name/ve/versatiles/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ve/versatiles/package.nix b/pkgs/by-name/ve/versatiles/package.nix index 7a843a45a67b..039a9bb3f510 100644 --- a/pkgs/by-name/ve/versatiles/package.nix +++ b/pkgs/by-name/ve/versatiles/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "versatiles"; - version = "4.7.0"; + version = "4.9.1"; src = fetchFromGitHub { owner = "versatiles-org"; repo = "versatiles-rs"; tag = "v${finalAttrs.version}"; - hash = "sha256-WgC5KO6Uz0FQt4Fh08FhZh1RMfDA32Bq70pfMGoDvxU="; + hash = "sha256-WPn96f9wN1p0uDtWzOQVx5fqBwKM1l93dVwNSReBkwc="; }; - cargoHash = "sha256-HzTpvnuODTl+fTgYFdbkerquWjjrFw440+pJDGzRnFk="; + cargoHash = "sha256-WFUIIjb+bXq/Sz7tTI2Z5Fyqrnjac0F3fVNTxCQeUT0="; nativeBuildInputs = [ pkg-config From f76bfa232e2b7500ca0b69902c867b44208fa055 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 05:12:27 +0000 Subject: [PATCH 74/94] squeezelite: 2.0.0.1586 -> 2.0.0.1595 --- pkgs/by-name/sq/squeezelite/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sq/squeezelite/package.nix b/pkgs/by-name/sq/squeezelite/package.nix index f13d69be4aed..31f83eefa3a2 100644 --- a/pkgs/by-name/sq/squeezelite/package.nix +++ b/pkgs/by-name/sq/squeezelite/package.nix @@ -39,13 +39,13 @@ stdenv.mkDerivation { pname = binName; # versions are specified in `squeezelite.h` # see https://github.com/ralph-irving/squeezelite/issues/29 - version = "2.0.0.1586"; + version = "2.0.0.1595"; src = fetchFromGitHub { owner = "ralph-irving"; repo = "squeezelite"; - rev = "de709765072a1ef270f63956370c5b25a1ea1159"; - hash = "sha256-sAjZ0o6sRh8+oFRDlG2YRDS3qzCL6bzybwZkkWPG2Kw="; + rev = "c7c4248ddd70e47dbfeba0bf4a8a7ec08d8a995c"; + hash = "sha256-XCYlD0NliyM+CQCB7SA2LA+XqBvmhgKIW/hVAWVLFCo="; }; buildInputs = [ From 80d574b7dce74a5cb890b97a95c36b07adb1cb83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 24 Aug 2026 07:34:59 +0200 Subject: [PATCH 75/94] hedgedoc: 1.11.1 -> 1.12.0 Changelog: https://github.com/hedgedoc/hedgedoc/releases/tag/1.12.0 Diff: https://github.com/hedgedoc/hedgedoc/compare/1.11.1...1.12.0 --- pkgs/by-name/he/hedgedoc/missing-hashes.json | 52 ++++++++++---------- pkgs/by-name/he/hedgedoc/package.nix | 7 +-- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/pkgs/by-name/he/hedgedoc/missing-hashes.json b/pkgs/by-name/he/hedgedoc/missing-hashes.json index 359be9190056..c744913aff57 100644 --- a/pkgs/by-name/he/hedgedoc/missing-hashes.json +++ b/pkgs/by-name/he/hedgedoc/missing-hashes.json @@ -1,28 +1,28 @@ { - "@esbuild/aix-ppc64@npm:0.28.1": "98a9325bec976ebe1cbbf2441fdbe895b36733919b9df7d62e7b73a1e199810affeac17d172cc5cf61196c9b1ede8073ca5d088ca52b14800b76f49bacc480b3", - "@esbuild/android-arm64@npm:0.28.1": "ec3e3c62bc684a09393ca10a0f64b166938f66e4b1972f6db63bf55463bf039736549d9808e50996eb0fedea70744b466aeb816c44e78f2b5d232aeb9929e3ac", - "@esbuild/android-arm@npm:0.28.1": "cda56884826ac2aa5dd3be5df9e89834df3b46515cf14099ddfc5bcfc80122d4f8d74b3831a0ac447d87dda73ae90fba49dc4e352b11240c2b055cdca69a0a02", - "@esbuild/android-x64@npm:0.28.1": "7f2ba14ba06fd3f2faff467e6fceb2466cd44d1d6039ae1c01f24336a5a1ad0f9c3721000331ded3f250587e4be5e7194d68dd33c55339dc26e1200e13e16d2d", - "@esbuild/darwin-arm64@npm:0.28.1": "9798bd013921f8dc5126eb12eba4ddfce9198d11eba6ae844f66d25919d5d26be2aa46b4da8d442ad0e7673e88b2f3d9e505d71692cd030bda9a7b762921c05d", - "@esbuild/darwin-x64@npm:0.28.1": "aaddefac25e025e309c71dc5c7074d8c295f44779e41add06dbf65d48b2a6a72b579266748e7f0ab3b2be1ed07be8d541e954f75dda2a2992f36f4c805d91fe1", - "@esbuild/freebsd-arm64@npm:0.28.1": "a325b7833f978b62bf25157ea5a951e29b9b0a1db9665ee52498644c9b250977ab6f21c049137d0a271bb0442b3e6d6148c257bace84476196b46570ce837d62", - "@esbuild/freebsd-x64@npm:0.28.1": "f092ddacd0bc715f443b62382dd8ba8f85d272f62caa47f603e85b9c5b14fef67c610523006ca88cae19e2829fe41a2a0ae92b7c158ef1038c714552dea57554", - "@esbuild/linux-arm64@npm:0.28.1": "bfda225d3101bb3ed5a74f979d50564a17ccf3799ad65fb968c5b15c9ceb9077c105a9bb5763d42f33f1917ac709e5779cd2112e5420188963568e80ac8439f8", - "@esbuild/linux-arm@npm:0.28.1": "b440cf89adf6dd1079bcf7d9aa915f70f467002bbb69bda21f4a3d160c9ae93bc6d8eb73b2831c8607fb1527d8ada288d907440e36969cb60000e4df85b7c549", - "@esbuild/linux-ia32@npm:0.28.1": "4329d81cf06331e537c8ebb571a9d4ca968811bee7c7cb4f975b8343c9f7649a8b2b9902b0974be0e2224656b1a0d21f3b191304db8cec52d006b80061faf4c2", - "@esbuild/linux-loong64@npm:0.28.1": "76b4d0f2cf716576181065e3fd2d6ffa9b0d0c39987e8d3d1b8d1e8aaa2563779cd4f861c881e3e7a9302f2d03d5543b8f726a99603e6aa754c8154772d0f434", - "@esbuild/linux-mips64el@npm:0.28.1": "59825a73d04187818c6fb53b22e2915a4c0e6c8fee9017d75dcafbdc66699f2765377faf801495d69952230935557f58360481a7edd78073816270aa8bd0cbee", - "@esbuild/linux-ppc64@npm:0.28.1": "3186d54b33d9b4849d6fe4fa2aeed4966a4117f9a27bf2d59f07f3ea651a9724a2eb9aaaf98813aac6dc726710a337bfc2472dd714262894fabf498a369fbd74", - "@esbuild/linux-riscv64@npm:0.28.1": "f01572cf6398b466d44bfa68dbc5f56a37b74e645673198f7ba157d215ccba35ea46e220a2526008d5679cef47a4368dd46480d4ba4c7330a491d215fe3f649f", - "@esbuild/linux-s390x@npm:0.28.1": "aad20d457c0441d7bf2f6c8dbe74297d4c3a3c90cf709a971a4a19b2c70497bf91ac4a80fa6168ccf6063eb284ea0f41f2293283e8351348369af551ffe6f3cf", - "@esbuild/linux-x64@npm:0.28.1": "d361ac73388af397803dc26242265c8f00fce91d9dd587b04d230c686294585c541f43dee706e23f8d56754e3a3da653b00b3f55855182d60deabc024acf19f7", - "@esbuild/netbsd-arm64@npm:0.28.1": "73e2d620958bcb61367849046397dee40dbd9bd6d0d4172bb87ef90ad644ed16e48386debd1ef0323648358fc617c0d8fae58be984774a2e8622712c7ab7f04b", - "@esbuild/netbsd-x64@npm:0.28.1": "663a35913d3d3a2f566d31ec00477954cc570f386d56a5ffffa1d7bb58bccfbe241780fc429c2e41463cef5d1d422ca02fe174df970932b46d225ff0bd333b65", - "@esbuild/openbsd-arm64@npm:0.28.1": "8add19644eca9a23cefc2a109644df802c626cc3460adef6f030ce72d1fcb127a4ff2b14a21cb51bbd68ec5a652f0bd7105c1a0d76a30f44fbf822c010096cd9", - "@esbuild/openbsd-x64@npm:0.28.1": "ad12be1ed38cc61410aa6210f88b8aa8dc3e6ee717dce32dba6e7cbaa57414af6e5314e7cdf9baa4affafe2d6a88e230d361a0ddadf76d06070b63bbf0a97cb2", - "@esbuild/openharmony-arm64@npm:0.28.1": "5ecd637058887c8458ebc7e95c67adee2397ebd8e5f6c302c17816eeb77963b1feeaff4e3f7823c0d85f0fc10771caa96175e2f0909b00e60ca5d90d22690a15", - "@esbuild/sunos-x64@npm:0.28.1": "e3286191315e30471e9cc176281a5d7acf5b877a95ea2868195024548a984e08b0214ea90e504e5bb5c595f9d3da9a5b961b52f79988702036b59233378580c4", - "@esbuild/win32-arm64@npm:0.28.1": "55e83fa2b63511bc3d2138ff84091b452936072b5b8e24405a5669f04355263b3f452861c13fc0c01ad80ebeb0df069da0318631386c9d66cda8ccbeca0fa82e", - "@esbuild/win32-ia32@npm:0.28.1": "dcd2579f97b8b5217e807d3a069461635ff6c1f13bc6e678fb0e385db4bf569afbbfe9f54ee512f0e120c6cc2689889725b8e2efdb17e3bb1603cffb58a4b6b3", - "@esbuild/win32-x64@npm:0.28.1": "1d7e7661663e2b0d814550e461fd06b814b3ac1ffda1e84468da3b7c29a1ad8a6067a8b7dcf6e66e38918b43a440c6302052f1bdb40c48a6d49a82c616e12f2d" + "@esbuild/aix-ppc64@npm:0.28.2": "18ffc469b906f4639372614d41def04925cfccf6726818f1afd2d3eb5f062f1cd54500f5ad5d0f47dcbc913a4898745f5faf7deed71e199724610481c8b7d661", + "@esbuild/android-arm64@npm:0.28.2": "8b33309c4a4eff21f119098df601dde2d2b124f80e60680140c2f07157ae7d43f03a954563b823d1381edeca73fce8cfba01a22b9451cb15b24ff20a19731a6d", + "@esbuild/android-arm@npm:0.28.2": "e36e4134a04a1a753a24174f732b87d8288edc09e566f32d5ed1b03a0d703991c0286f006dd95de1ee29542b57558a47cbfdd9f46f26b5f3620a3ff099c67e00", + "@esbuild/android-x64@npm:0.28.2": "ec47bb2fb9e3a3c5b31c82511eb1a1141aa2747bef617977b7f50076bece97a61ae7de8a67b082fc88adb25cb34aa70567497306a19e6f93dc3d593961771683", + "@esbuild/darwin-arm64@npm:0.28.2": "1dc2f3613b0394d465db5999ab69ca7d2f5a7454e2d811735e5b34b7da7f1580d74aea6befd4501bef46eb28d68ff09741a500a352e2bd263d03c4962b04da7c", + "@esbuild/darwin-x64@npm:0.28.2": "7a83f9fe251dfd96a03d9a88b6b1278350b9f93c23c3cac6085ef70821932c941784794557c8e53343ced33a328e74a1a67f5e108f97f508fe266dfabbea6d5c", + "@esbuild/freebsd-arm64@npm:0.28.2": "685a5bb96c8ae53ab47fb829148ae44ca88d7f2414df3c85f0ec6d5f2146a389e96f4e7601fec1395303b7d0e14d8cdc08aaceeb4bf87c6528cb52a001e1ebcb", + "@esbuild/freebsd-x64@npm:0.28.2": "4c6515cda584dc87c40bb52403e8bdb64ff4e70988e552bcbbf0ea63db46271639b320c0edbceda6a31acf0160f58f3644aa11a8a61db3a04ca00b77c773fba5", + "@esbuild/linux-arm64@npm:0.28.2": "5a27e1ede494c2fdb049f9173d647fe7f987379e20f59014b069dfeed536bf72d0d596552a2c99e8781d9ae99557023f5b7613fba44b50ef1e06d4ea93f47751", + "@esbuild/linux-arm@npm:0.28.2": "b129de26545ee3e31934101b24b5d5c574d7da62acd580dfce81676978b5c779d815af7f24f60c1dacadff94d592a5ecee59e74b0c985a43db0bd0d590b5c48c", + "@esbuild/linux-ia32@npm:0.28.2": "c8c7ac9bd8e7162b8bac9f49dc695245356eeaca5b8327a8fd30f7ff323f59abad3286cf5fb5e7df00f58cdb2fca90f2f56c92fe03f2d27e43d7e24e602903a7", + "@esbuild/linux-loong64@npm:0.28.2": "2ea7ab75e2ba2e47e914eae905e6355a908629aeb15d090e53d4a2f7203eca06eeec60d82d0803e0e5c4c844d5b40b4190cefc3e3098ff2265db2e2f3158b24f", + "@esbuild/linux-mips64el@npm:0.28.2": "6977e4ea84b6e8736ce7f3dffd4154c04bc12b581f86655656a9969a08645eeb38836e90f2873baab085449548df0e3a276943d860f31fa65d018133f816b5f5", + "@esbuild/linux-ppc64@npm:0.28.2": "4f7215f686c425d0eeab1e8d76156a6640f3a6ea3bdc1c07777012618d1dd44c51f2260dfd83f37c36ba4c6df2053dc11f013806b7ac862d23799180103da8be", + "@esbuild/linux-riscv64@npm:0.28.2": "4035119fd362aa46652298da5ad659c33322e24ba6183d0b46bd411ef74689286539c4395f41c8ff994e555e88fd2f77e0ea4e518348d8f6dcd42697bb323c17", + "@esbuild/linux-s390x@npm:0.28.2": "cbc618cbd9aacd5648239c5f0625d156cb08e9097e6cb527365aee23504eb4883539268d34b6a40a2c3736146b8ae0b513616bc6f9a18e2312935a5eb373d901", + "@esbuild/linux-x64@npm:0.28.2": "87a9da362e944ac296cb9e7082aa8c34357e5274b986d0c2eaa2056b7dde43d93a72d249f93a696059630c81bf3a1a285981419fe25619656bf05466f91c61a4", + "@esbuild/netbsd-arm64@npm:0.28.2": "ddda9f430a486bb80e2eabe92642446a759573125fe2444a68e73a4c4da2e7f595d5948009ad4aca06c604ad65840001ee11e5192c626b5494cc14e69485dbe6", + "@esbuild/netbsd-x64@npm:0.28.2": "57789330e50f7c37dc0732958e8ce95d99961c4e667bf4513cd0957f0561ca015081926e6e9d8d0730961a4bdaf81516f5aaeee48fc2b74ed053ea2641598714", + "@esbuild/openbsd-arm64@npm:0.28.2": "5616d7b13e2a81a65e723553d23404b40c7e323c816bf6ad2176f4f0977dc6f4a329b90b42be6286e80efaa565b4d6f45d081d3f3bbd96e5024c110c321ac7d3", + "@esbuild/openbsd-x64@npm:0.28.2": "bc889ffd7784145b09624eea6ab781af08b439d627653668f6cca49101c5108a1b604f2c3fbfcc5278a5e22eba21b30685e9f0f98180265e7b511d27fb7a9b67", + "@esbuild/openharmony-arm64@npm:0.28.2": "0b879a2605598deb49cd0161b4e8f7bf3f7860fbda1c429d2f1dd4847e0afa441f40b74ef09131165477c053051682f2cb6b654077b7e8b374f8fc1a309bd5f1", + "@esbuild/sunos-x64@npm:0.28.2": "efc7fde222fe2eec0ced86cc10796df6a11268229073b3e6395482dd016b04aac701734ab59f927929e5e26c5316f6acecc152e1ac4dbb0228a0fe70fc8a5dd9", + "@esbuild/win32-arm64@npm:0.28.2": "a7d1d272c9ecaf0d7aec021ed2c4f9f31b93e276f482fa917c7fbab1e1c1420e57dcd72db841bc1e5131f7f7d98a0e3d96ee3d05b244b973b1b0c59bfec24af6", + "@esbuild/win32-ia32@npm:0.28.2": "462cfb1e452a5ec70b74713758557f504ed62ad2b4318eae690e9c59c02f57dc25dcafee7784b67f9c38c03f52d7db827176a2caa3a7ea94cd5f2023f7540b94", + "@esbuild/win32-x64@npm:0.28.2": "c97fb5efdc1f3b861338115db13576bc7135b76528a8e554604ada34d5016eebad951cce7db96620b17c39d55ac29d64211aba25a043c36202379dbc8e41f704" } diff --git a/pkgs/by-name/he/hedgedoc/package.nix b/pkgs/by-name/he/hedgedoc/package.nix index 89c8db8952ff..a0173a2f6fa9 100644 --- a/pkgs/by-name/he/hedgedoc/package.nix +++ b/pkgs/by-name/he/hedgedoc/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "hedgedoc"; - version = "1.11.1"; + version = "1.12.0"; src = fetchFromGitHub { owner = "hedgedoc"; repo = "hedgedoc"; tag = finalAttrs.version; - hash = "sha256-Xvz2kU1+DVp+BRa4zHM9e/xHjy41br7gZtBOpoaun0o="; + hash = "sha256-QYWDgQuSsMf8xElSK0MpthOMAB6EJXcxfOWcHrR4ODU="; }; patches = [ @@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: { offlineCache = yarn-berry_4.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes patches; - hash = "sha256-SkUWghEBq8WyKuSDyM7OZBVSyXxqKpxIaoFMsaY10A4="; + hash = "sha256-2qwTV9GRKnVIhK6dsSfis+JOTfjcdwW0RVdrJZa/uJc="; }; nativeBuildInputs = [ @@ -85,6 +85,7 @@ stdenv.mkDerivation (finalAttrs: { description = "Realtime collaborative markdown notes on all platforms"; license = lib.licenses.agpl3Only; homepage = "https://hedgedoc.org"; + changelog = "https://github.com/hedgedoc/hedgedoc/releases/tag/${finalAttrs.src.tag}"; mainProgram = "hedgedoc"; maintainers = with lib.maintainers; [ SuperSandro2000 ]; platforms = lib.platforms.linux; From f722be9daf5937778b6923705b1c51f9521ea4c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 24 Aug 2026 08:35:13 +0200 Subject: [PATCH 76/94] python3Packages.ansible-compat: improve source reproducibility --- pkgs/development/python-modules/ansible-compat/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/ansible-compat/default.nix b/pkgs/development/python-modules/ansible-compat/default.nix index 8a8f55e7ef7a..b3cfec2cd671 100644 --- a/pkgs/development/python-modules/ansible-compat/default.nix +++ b/pkgs/development/python-modules/ansible-compat/default.nix @@ -30,7 +30,11 @@ buildPythonPackage rec { owner = "ansible"; repo = "ansible-compat"; tag = "v${version}"; - hash = "sha256-QTn1W+XxiK5ZCkUfYJZrI/mk0gFduTWClIH3ztHcerg="; + postFetch = '' + # export-subst prevents reproducibility + rm $out/.git_archival.txt + ''; + hash = "sha256-12t/iLtha5FACVpXFqrz6vIiVmtHPPqdfHogXuAe2F4="; }; build-system = [ From 7b28ce9a2ed32faf64d5b58c188477a0f2cf28e3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 24 Aug 2026 08:57:21 +0200 Subject: [PATCH 77/94] python3Packages.iamdata: 0.1.202608231 -> 0.1.202608241 Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202608231...v0.1.202608241 Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202608241 --- pkgs/development/python-modules/iamdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 3a914a6d304e..251a4a99f7c1 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202608231"; + version = "0.1.202608241"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-R92NYZ1Wco/vMdI31Hw7pUpJ7GDAv13pd0pQIrVTIJ8="; + hash = "sha256-IBVOk3VLGpn4xKbmbDPj70qM3H/KuKT9X52e4HVsNtQ="; }; __darwinAllowLocalNetworking = true; From 6cb646d28c01da4fbd5e83689f3cf98ef4194e90 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 24 Aug 2026 08:59:16 +0200 Subject: [PATCH 78/94] python3Packages.tencentcloud-sdk-python: 3.1.162 -> 3.1.163 Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/3.1.162...3.1.163 Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.1.163/CHANGELOG.md --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index d44eca09d60f..112cdb8dd7e1 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.162"; + version = "3.1.163"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-ap6wIzL2G+Ogbsf53tKgkkYQNRVsUUymlm+A/B7F3Tc="; + hash = "sha256-Y6xQ3UWmpvwZfLerrc2urtA6c0AT1474DI0ZvxGcxzM="; }; build-system = [ setuptools ]; From f37116ad4d360e61ef768127627f2609f873fad8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 09:52:41 +0000 Subject: [PATCH 79/94] gitify: 7.3.3 -> 7.5.0 --- pkgs/by-name/gi/gitify/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gi/gitify/package.nix b/pkgs/by-name/gi/gitify/package.nix index 1725c5bd322a..de3018b5f38d 100644 --- a/pkgs/by-name/gi/gitify/package.nix +++ b/pkgs/by-name/gi/gitify/package.nix @@ -20,13 +20,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "gitify"; - version = "7.3.3"; + version = "7.5.0"; src = fetchFromGitHub { owner = "gitify-app"; repo = "gitify"; tag = "v${finalAttrs.version}"; - hash = "sha256-Kr4+U6UD/cfbAzIZ8GrPgxGmV8ktENxd9o2/x3C4v+c="; + hash = "sha256-ogF9YrnSaT31AnoxtvA0jnK5wHhlAvIj3T+TaKZM80U="; }; nativeBuildInputs = [ @@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: { inherit (finalAttrs) pname version src; inherit pnpm; fetcherVersion = 4; - hash = "sha256-Uxta96e9t0jOfsgR82fMuzc1V5KC0t1n2TJ90qv73wg="; + hash = "sha256-aG34cZF1xwPM5L/+OXUgOmJwLGcpNU59aobVSmTIvLw="; }; env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1; From ade409612faba3f7d3f7bbdda8150e80639d91b6 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 24 Aug 2026 12:08:45 +0200 Subject: [PATCH 80/94] etlegacy-unwrapped: 2.84.0 -> 2.85.0 Diff: https://github.com/etlegacy/etlegacy/compare/v2.84.0...v2.85.0 --- pkgs/by-name/et/etlegacy-unwrapped/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/et/etlegacy-unwrapped/package.nix b/pkgs/by-name/et/etlegacy-unwrapped/package.nix index 25b878fa6369..81c0bd7aeaad 100644 --- a/pkgs/by-name/et/etlegacy-unwrapped/package.nix +++ b/pkgs/by-name/et/etlegacy-unwrapped/package.nix @@ -22,7 +22,7 @@ versionCheckHook, }: let - version = "2.84.0"; + version = "2.85.0"; fakeGit = writeScriptBin "git" '' if [ "$1" = "describe" ]; then echo "${version}" @@ -49,7 +49,7 @@ stdenv.mkDerivation { owner = "etlegacy"; repo = "etlegacy"; tag = "v${version}"; - hash = "sha256-E1eR0OIfXn2QkSGYNu1JFXDIVrkz+pxM7IU0GVkvAFQ="; + hash = "sha256-oOgoM5BLBnmrmbdXFGYkVcQLYq8tVpLgnzJXax7g3vI="; }; nativeBuildInputs = [ From f6d7a34042686fb93ebaf182df55ffc09456d635 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 24 Aug 2026 12:09:48 +0200 Subject: [PATCH 81/94] etlegacy: 2.84.0 -> 2.85.0 --- pkgs/by-name/et/etlegacy/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/et/etlegacy/package.nix b/pkgs/by-name/et/etlegacy/package.nix index 28d3f0aff364..e4f3daf27a00 100644 --- a/pkgs/by-name/et/etlegacy/package.nix +++ b/pkgs/by-name/et/etlegacy/package.nix @@ -20,7 +20,7 @@ let in symlinkJoin { pname = "etlegacy"; - version = "2.84.0"; + version = "2.85.0"; paths = [ etlegacy-assets From 0ca7b7fa28ecbb9fd2a32f729a48e6610971c61e Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 24 Aug 2026 12:10:01 +0200 Subject: [PATCH 82/94] etlegacy-assets: 2.83.2 -> 2.85.0 --- pkgs/by-name/et/etlegacy-assets/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/et/etlegacy-assets/package.nix b/pkgs/by-name/et/etlegacy-assets/package.nix index d0259a237b2d..67b16e00ca79 100644 --- a/pkgs/by-name/et/etlegacy-assets/package.nix +++ b/pkgs/by-name/et/etlegacy-assets/package.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation { pname = "etlegacy-assets"; - version = "2.83.2"; + version = "2.85.0"; srcs = let From e19e52174d0ea59ec45d89b3445ae50e72b3f974 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 11:13:01 +0000 Subject: [PATCH 83/94] wezterm: 0-unstable-2026-08-12 -> 0-unstable-2026-08-23 --- pkgs/by-name/we/wezterm/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/we/wezterm/package.nix b/pkgs/by-name/we/wezterm/package.nix index 34c2669a6421..cc956ca4b09a 100644 --- a/pkgs/by-name/we/wezterm/package.nix +++ b/pkgs/by-name/we/wezterm/package.nix @@ -29,14 +29,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wezterm"; - version = "0-unstable-2026-08-12"; + version = "0-unstable-2026-08-23"; src = fetchFromGitHub { owner = "wezterm"; repo = "wezterm"; - rev = "fe3006aefcdc4c22924e7bce966b2c430dade4f1"; + rev = "f93d90350075d3e42566e0557ca36e82ffdcbec1"; fetchSubmodules = true; - hash = "sha256-aPMO7QeefsZMbb+w+DJMAFWfJV+usGROKhqEXkwndPE="; + hash = "sha256-er8IRmDZ65Axr+9qKDrqba6Qbj9MVdiBEH52xmp2ZHo="; }; postPatch = '' @@ -59,7 +59,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # https://github.com/wezterm/wezterm/blob/main/nix/flake.nix#L134 auditable = false; - cargoHash = "sha256-4jm0uMj0/6fcLHSvd7y12h1QjQ/VavkmNc5L/ebQez0="; + cargoHash = "sha256-R47aufhkCuHDSKSV8A7n3eGz0S3s0/HP2Sw0keaEX5s="; nativeBuildInputs = [ installShellFiles From 0dbc64860646a90acbfbb48fe4d4e6b338fd91f9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 11:53:56 +0000 Subject: [PATCH 84/94] terraform-providers.turbot_turbot: 1.13.3 -> 1.14.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 44cb50762d66..6e0825105bbd 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1400,11 +1400,11 @@ "vendorHash": "sha256-kM5itT82W2uy/y5uJkZsMH308LjRMSNKBJC09e5k5+8=" }, "turbot_turbot": { - "hash": "sha256-sJODPeFzU3vaiHbKlGe1dR5Pi7aS56JcmZUe8Yg1BcQ=", + "hash": "sha256-Az+eTY+eksfH89DGqTd8RVwD8KDztz6Bctm0Mt7GBN4=", "homepage": "https://registry.terraform.io/providers/turbot/turbot", "owner": "turbot", "repo": "terraform-provider-turbot", - "rev": "v1.13.3", + "rev": "v1.14.0", "spdx": "MPL-2.0", "vendorHash": null }, From 1cd66ce6c61978f642893c93381f70086e033fd2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 12:23:25 +0000 Subject: [PATCH 85/94] flux9s: 1.0.2 -> 1.0.3 --- pkgs/by-name/fl/flux9s/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fl/flux9s/package.nix b/pkgs/by-name/fl/flux9s/package.nix index 508c542d780d..746e20eaf876 100644 --- a/pkgs/by-name/fl/flux9s/package.nix +++ b/pkgs/by-name/fl/flux9s/package.nix @@ -9,17 +9,17 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "flux9s"; - version = "1.0.2"; + version = "1.0.3"; __structuredAttrs = true; src = fetchFromGitHub { owner = "dgunzy"; repo = "flux9s"; tag = "v${finalAttrs.version}"; - hash = "sha256-4D5gR4d6+typ7W9OYAsETO9q3tnfP0PweuxZSlXWQyI="; + hash = "sha256-9xk46wwQUegUJJWOLG3EkeTgHQ4qfhGISqcDUcsdBos="; }; - cargoHash = "sha256-Z3vhRCvlfzLxYw/fWri0eil6+H+gPHHA8tMxPqSU7ok="; + cargoHash = "sha256-VXWg6NrKNFRPwK6A3ttrwUSzLx3BjMDthtRwLX9Zrsg="; nativeBuildInputs = [ pkg-config ]; From cc95cc3f83fc861d0b4d4aa64317b080e4722a8e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 12:31:07 +0000 Subject: [PATCH 86/94] goshs: 2.1.5 -> 2.1.6 --- pkgs/by-name/go/goshs/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/goshs/package.nix b/pkgs/by-name/go/goshs/package.nix index 1d62b8a352dc..a34eb5e38b90 100644 --- a/pkgs/by-name/go/goshs/package.nix +++ b/pkgs/by-name/go/goshs/package.nix @@ -8,16 +8,16 @@ buildGoModule (finalAttrs: { pname = "goshs"; - version = "2.1.5"; + version = "2.1.6"; src = fetchFromGitHub { owner = "goshs-labs"; repo = "goshs"; tag = "v${finalAttrs.version}"; - hash = "sha256-mVgBY1QhQ+tDQnfangqylNeCbBJTSJaM0y7vZ95BU3Y="; + hash = "sha256-0d4iB6Mtann0OZd/KyWnwq7+fCcWEibAzHSYe30Mce0="; }; - vendorHash = "sha256-LLYgb0DIFx97+ZXOlQc4yVdjjiw7ebXx76hADfWnlkw="; + vendorHash = "sha256-E+GZn7Trnz3KqzTsEfavWxP1dhsGPx4PyYYae8wjCb4="; patches = [ # No upstream fix yet; remove when updating to a release that uses goldmark 1.7.17 or later. From e29b56b4e6593df973774a6801b348babb86453d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 12:39:14 +0000 Subject: [PATCH 87/94] kiro-cli-unwrapped: 2.18.1 -> 2.19.1 --- pkgs/by-name/ki/kiro-cli-unwrapped/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ki/kiro-cli-unwrapped/package.nix b/pkgs/by-name/ki/kiro-cli-unwrapped/package.nix index 2aa1f5c104a7..bc14368b8648 100644 --- a/pkgs/by-name/ki/kiro-cli-unwrapped/package.nix +++ b/pkgs/by-name/ki/kiro-cli-unwrapped/package.nix @@ -17,7 +17,7 @@ # That is handled by the kiro-cli package, which wraps this one in an FHS env. stdenv.mkDerivation (finalAttrs: { pname = "kiro-cli-unwrapped"; - version = "2.18.1"; + version = "2.19.1"; __structuredAttrs = true; @@ -25,15 +25,15 @@ stdenv.mkDerivation (finalAttrs: { { x86_64-linux = fetchurl { url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/kirocli-x86_64-linux.tar.gz"; - hash = "sha256-AX/jbX3rTdPwOClRqOeVl/dhU3Rf91Ckj0hrQxou3Wc="; + hash = "sha256-sSE96keJd5fCA43vnVmc2rfkfaq/nSLopho8JaWbXdA="; }; aarch64-linux = fetchurl { url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/kirocli-aarch64-linux.tar.gz"; - hash = "sha256-jzUKXpNi8aHLzRAA9CH23amGLZbhRnO4sfu8MZPnT6c="; + hash = "sha256-AuzdWswVpErj3tlYwjbXegA7bC6wwYtgZwZIeYo2htM="; }; aarch64-darwin = fetchurl { url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/Kiro%20CLI.dmg"; - hash = "sha256-B4k+lHfI0pbrxlMZJkh3L9MFcY2kvzqXWDcY4SLEcGE="; + hash = "sha256-YA4geK4IcQXnQkWD9f7e2Wx0aaihi5y8gCsogJ4D5DM="; }; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); From a618cbc12a7e11714d7a9a7b4dbaf7b016a29382 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 12:48:11 +0000 Subject: [PATCH 88/94] python3Packages.nice-go: 1.0.2 -> 1.0.3 --- pkgs/development/python-modules/nice-go/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/nice-go/default.nix b/pkgs/development/python-modules/nice-go/default.nix index 2d88c5695aab..33eeb229afe4 100644 --- a/pkgs/development/python-modules/nice-go/default.nix +++ b/pkgs/development/python-modules/nice-go/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "nice-go"; - version = "1.0.2"; + version = "1.0.3"; pyproject = true; src = fetchFromGitHub { owner = "IceBotYT"; repo = "nice-go"; tag = version; - hash = "sha256-09Tc2fFXUevQNgJmXyeXy1sBg9Cr9OV/15Feh9tlRug="; + hash = "sha256-KrsAs5aMkrhxv6PtFTm+8e0h2hAD/bc4ADam2jT2oAc="; }; build-system = [ poetry-core ]; From 20092ed8d1ad922e36d3cf40e6d911fe7168b0f7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 13:13:05 +0000 Subject: [PATCH 89/94] python3Packages.llama-cloud: 2.14.0 -> 2.14.1 --- pkgs/development/python-modules/llama-cloud/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/llama-cloud/default.nix b/pkgs/development/python-modules/llama-cloud/default.nix index fae398022cc7..615cf1912e0f 100644 --- a/pkgs/development/python-modules/llama-cloud/default.nix +++ b/pkgs/development/python-modules/llama-cloud/default.nix @@ -25,13 +25,13 @@ buildPythonPackage (finalAttrs: { pname = "llama-cloud"; - version = "2.14.0"; + version = "2.14.1"; pyproject = true; src = fetchPypi { pname = "llama_cloud"; inherit (finalAttrs) version; - hash = "sha256-oiLNJIZ8BYtp01z490S7WxmuNEQqQXTYKl8FCU4feIo="; + hash = "sha256-QtnBF5KtSQlyXM/85Y38jkf12cafUXhFSwn7N0gxh5Q="; }; postPatch = '' From 25492ec67eee1a6359fc73b7253f68082c43a9ba Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 24 Aug 2026 11:31:11 +0000 Subject: [PATCH 90/94] Revert "tree-sitter-grammars.tree-sitter-regex: 0.25.0 -> 1.0.0" This reverts commit fba4f879eb658676a2c0943b1bde77db4225f10f. v1.0.0 is actually older than 0.20.0..0.25.0! Co-authored-by: Hythera <87016780+Hythera@users.noreply.github.com> --- pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix index b4e4c2e39960..9b77c61f9966 100644 --- a/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix +++ b/pkgs/by-name/tr/tree-sitter/grammars/grammar-sources.nix @@ -2300,9 +2300,13 @@ }; regex = { - version = "1.0.0"; + # Note: if you see an attempt to update tree-sitter-regex to version 1.0.0, + # check if https://github.com/tree-sitter/tree-sitter-regex/tags is actually + # a recent version. After v1.0.0, tree-sitter-regex confusingly released + # v0.20.0, v0.21.0, etc. + version = "0.25.0"; url = "github:tree-sitter/tree-sitter-regex"; - hash = "sha256-3D+LOWRUamAdbegVfWD5yFcCjBucthPogOL/zWR78PY="; + hash = "sha256-bR0K6SR19QuQwDUic+CJ69VQTSGqry5a5IOpPTVJFlo="; meta = { license = lib.licenses.mit; }; From 9af3bad01af111e81eae7353f18c2080cc035fa3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 13:37:27 +0000 Subject: [PATCH 91/94] libretro.beetle-supafaust: 0-unstable-2026-07-22 -> 0-unstable-2026-08-23 --- .../emulators/libretro/cores/beetle-supafaust.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/beetle-supafaust.nix b/pkgs/applications/emulators/libretro/cores/beetle-supafaust.nix index 836b2f1dca2c..0e713e6f46da 100644 --- a/pkgs/applications/emulators/libretro/cores/beetle-supafaust.nix +++ b/pkgs/applications/emulators/libretro/cores/beetle-supafaust.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mednafen-supafaust"; - version = "0-unstable-2026-07-22"; + version = "0-unstable-2026-08-23"; src = fetchFromGitHub { owner = "libretro"; repo = "supafaust"; - rev = "d6187e5337e6c2646d003db3ab1936727ca75301"; - hash = "sha256-r9sZGTpJo+jiEDZnzSgcwzBerI4BHL2p/WvJQpdW31g="; + rev = "642d1d1b6684aa7e306a02a89885f3f5456a5157"; + hash = "sha256-malpQAapdRY/V4y2Csm36+Bo1WCRcAWnx4C4okC5S4k="; }; makefile = "Makefile"; From 9f91915ab414e4b02ef8f3ff4ce6853cd9e89056 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 13:38:46 +0000 Subject: [PATCH 92/94] nuclei-templates: 10.4.7 -> 10.4.8 --- pkgs/by-name/nu/nuclei-templates/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nu/nuclei-templates/package.nix b/pkgs/by-name/nu/nuclei-templates/package.nix index 8026cd47bd41..9571b19d466f 100644 --- a/pkgs/by-name/nu/nuclei-templates/package.nix +++ b/pkgs/by-name/nu/nuclei-templates/package.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "nuclei-templates"; - version = "10.4.7"; + version = "10.4.8"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "nuclei-templates"; tag = "v${finalAttrs.version}"; - hash = "sha256-Jaa5q6I8v3BpLaBzjLhNHCUd4wB3RRNfFoUe9BArh9o="; + hash = "sha256-9PkgU7k+Xy9Bj7pfKjgrIpHLoso0yV8vqPbScVIYUJ0="; }; installPhase = '' From cc6a4f9ad24451aa82d72855cfc47aaae5cab879 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 15:04:22 +0000 Subject: [PATCH 93/94] python3Packages.pixel-font-builder: 0.0.47 -> 0.0.55 --- .../development/python-modules/pixel-font-builder/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pixel-font-builder/default.nix b/pkgs/development/python-modules/pixel-font-builder/default.nix index 8b4494ad72ff..377b72e92aa6 100644 --- a/pkgs/development/python-modules/pixel-font-builder/default.nix +++ b/pkgs/development/python-modules/pixel-font-builder/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "pixel-font-builder"; - version = "0.0.47"; + version = "0.0.55"; pyproject = true; src = fetchFromGitHub { owner = "TakWolf"; repo = "pixel-font-builder"; tag = version; - hash = "sha256-a25JKZy5XaBfpeFwH7YnSTY28hQF8dLa/AGEOXHN94I="; + hash = "sha256-WMwmhGspseqTkGUPrMNR16sZBB+n/lvthHX7JTtdlsQ="; }; build-system = [ uv-build ]; From efcfc191402e7d8924eec6e8eea79917ce6642ad Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 24 Aug 2026 16:41:12 +0000 Subject: [PATCH 94/94] stash-clipboard: 0.4.0 -> 0.5.0 --- pkgs/by-name/st/stash-clipboard/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/stash-clipboard/package.nix b/pkgs/by-name/st/stash-clipboard/package.nix index 591130116460..f052f283975a 100644 --- a/pkgs/by-name/st/stash-clipboard/package.nix +++ b/pkgs/by-name/st/stash-clipboard/package.nix @@ -7,16 +7,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "stash-clipboard"; - version = "0.4.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "NotAShelf"; repo = "stash"; tag = "v${finalAttrs.version}"; - hash = "sha256-L5UfPKzdU8qQIyXSCMglLhv22J7xInxg3NNKCLkxszM="; + hash = "sha256-G31RXNllgbC5SqRMVj5L9/hCpsKuK/s4Byq+TT8a7X4="; }; - cargoHash = "sha256-iXL3G1H8tNS1oPAoEvvx7qwWUef95NBU3dwlEe+34zw="; + cargoHash = "sha256-biKZ2qIAiNuvEuI8cJV2zuRXusuUlkd8MKq/M9J+FJs="; __structuredAttrs = true;