From 93e8c9e165bed4eb28556719056b21b6a36dbd84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Wed, 11 Feb 2026 21:19:07 +0100 Subject: [PATCH 01/21] command-not-found: enable and default to channel release's dbPath --- doc/release-notes/rl-2605.section.md | 2 + .../command-not-found/command-not-found.nix | 58 +++++++++++-------- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 54c1f3d750c5..7b829a454fd3 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -101,6 +101,8 @@ - `nodePackages.browserify` has been removed, as it was unmaintained within nixpkgs. +- `command-not-found` package will be enabled by default if the source of nixpkgs contains the file `programs.sqlite`. This is the case if a nixpkgs tarball from https://channels.nixos.org is used. This usage will also make the database of `command-no-found` stateless. + - `nodePackages.sass` has been removed, as it was unmaintained within nixpkgs. - All `@tailwindcss` packages in the `nodePackages` set have been removed, as they are libraries that should instead be locked by JS projects that utilize them. diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index d1e8f91a525b..51ec0922c4f7 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -38,8 +38,6 @@ in Whether interactive shells should show which Nix package (if any) provides a missing command. - Requires nix-channels to be set and downloaded (sudo nix-channel --update.) - See also nix-index and nix-index-database as an alternative for flakes-based systems. Additionally, having the env var NIX_AUTO_RUN set will automatically run the matching package, and with NIX_AUTO_RUN_INTERACTIVE it will confirm the package before running. @@ -47,38 +45,48 @@ in }; dbPath = lib.mkOption { - default = "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite"; description = '' - Absolute path to programs.sqlite. + Absolute path to `programs.sqlite`, which contains mappings from binary names to package names. - By default this file will be provided by your channel - (nixexprs.tar.xz). + If a nixpkgs tarball from https://channels.nixos.org is used as the source of nixpkgs, this file will be provided and this option be set by default. + + To use the stateful `programs.sqlite` database, set this option to + `/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite`. + If you do so, you can update it with `sudo nix-channels --update`. ''; type = lib.types.path; }; }; - config = lib.mkIf cfg.enable { - programs.bash.interactiveShellInit = '' - command_not_found_handle() { - '${commandNotFound}/bin/command-not-found' "$@" - } - ''; + config = lib.mkMerge [ + { + programs.command-not-found = { + enable = lib.mkOptionDefault (builtins.pathExists cfg.dbPath); + dbPath = pkgs.path + "/programs.sqlite"; + }; + } - programs.zsh.interactiveShellInit = '' - command_not_found_handler() { - '${commandNotFound}/bin/command-not-found' "$@" - } - ''; + (lib.mkIf cfg.enable { + programs.bash.interactiveShellInit = '' + command_not_found_handle() { + '${commandNotFound}/bin/command-not-found' "$@" + } + ''; - # NOTE: Fish by itself checks for nixos command-not-found, let's instead makes it explicit. - programs.fish.interactiveShellInit = '' - function fish_command_not_found - "${commandNotFound}/bin/command-not-found" $argv - end - ''; + programs.zsh.interactiveShellInit = '' + command_not_found_handler() { + '${commandNotFound}/bin/command-not-found' "$@" + } + ''; - environment.systemPackages = [ commandNotFound ]; - }; + # NOTE: Fish by itself checks for nixos command-not-found, let's instead makes it explicit. + programs.fish.interactiveShellInit = '' + function fish_command_not_found + "${commandNotFound}/bin/command-not-found" $argv + end + ''; + environment.systemPackages = [ commandNotFound ]; + }) + ]; } From aa0ce606782ba6c536dfae5b52b6b502f4707799 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 27 Mar 2026 23:51:38 +0000 Subject: [PATCH 02/21] stax: 0.25.1 -> 0.37.0 --- pkgs/by-name/st/stax/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/stax/package.nix b/pkgs/by-name/st/stax/package.nix index b77bd71e3590..238d8e0efb8d 100644 --- a/pkgs/by-name/st/stax/package.nix +++ b/pkgs/by-name/st/stax/package.nix @@ -8,18 +8,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "stax"; - version = "0.25.1"; + version = "0.37.0"; src = fetchFromGitHub { owner = "cesarferreira"; repo = "stax"; tag = "v${finalAttrs.version}"; - hash = "sha256-HHunRVDoijBOcIzj0xknj2O+m+A1nmkkxu97XZcvmJw="; + hash = "sha256-8LIc0/z6HJuej9VWMqpW9RTu/kGDQHN59vopDr+iF6w="; }; nativeBuildInputs = [ perl ]; - cargoHash = "sha256-cJmK5uX3HCz4own2UtXFkHdGFETjina2/UW18f/g/bA="; + cargoHash = "sha256-lOQzFz579p89hDBh3Z7oO2iTITpJG9fFqW/rEq8DwJ0="; doInstallCheck = true; doCheck = false; From 44971ba5aee5a6129bee8a4ad79ec0140c46ed88 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 18 Apr 2026 22:45:19 +0000 Subject: [PATCH 03/21] oxide-rs: 0.15.0+2026021301.0.0 -> 0.16.0+2026032500.0.0 --- pkgs/by-name/ox/oxide-rs/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ox/oxide-rs/package.nix b/pkgs/by-name/ox/oxide-rs/package.nix index a36a9a239409..0c37af03f119 100644 --- a/pkgs/by-name/ox/oxide-rs/package.nix +++ b/pkgs/by-name/ox/oxide-rs/package.nix @@ -11,13 +11,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "oxide-rs"; - version = "0.15.0+2026021301.0.0"; + version = "0.16.0+2026032500.0.0"; src = fetchFromGitHub { owner = "oxidecomputer"; repo = "oxide.rs"; rev = "v${finalAttrs.version}"; - hash = "sha256-PFcQ4zNLh1Q5wMgBeWptix9+ii4TY2RtnI6JIyMYa14="; + hash = "sha256-0zlH7Gws7Cn161whwx4myBF1wTL46fFcr0mjPrvCTmQ="; }; patches = [ @@ -33,7 +33,7 @@ rustPlatform.buildRustPackage (finalAttrs: { "--skip=test_cmd_auth_debug_logging" ]; - cargoHash = "sha256-Yf5PG5jRoufP+rf3WHCwT3zvDp++68Ewl2KFTCO5w54="; + cargoHash = "sha256-x6jYTwrfdAKl42AleIYXxWLjnwi1IYMtWnfosueiHp0="; cargoBuildFlags = [ "--package=oxide-cli" From 32f8668a7ff6b7bf9d4c1a419d9c54b658bc7297 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 19 Apr 2026 01:56:30 +0000 Subject: [PATCH 04/21] ao3downloader: 2026.2.0 -> 2026.4.7 --- pkgs/by-name/ao/ao3downloader/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ao/ao3downloader/package.nix b/pkgs/by-name/ao/ao3downloader/package.nix index 7cc0ad9f6be6..cd9fb3456d07 100644 --- a/pkgs/by-name/ao/ao3downloader/package.nix +++ b/pkgs/by-name/ao/ao3downloader/package.nix @@ -8,14 +8,14 @@ # https://github.com/nianeyna/ao3downloader/blob/f8399bb8aca276ae7359157b90afd13925c90056/pyproject.toml#L8 python312Packages.buildPythonApplication (finalAttrs: { pname = "ao3downloader"; - version = "2026.2.0"; + version = "2026.4.7"; pyproject = true; src = fetchFromGitHub { owner = "nianeyna"; repo = "ao3downloader"; tag = "v${finalAttrs.version}"; - hash = "sha256-NrVzRYNxvy8LOvXy0/1go0wEQyLt56inu+f93UFX1CM="; + hash = "sha256-PlMVhvUX/XeNrKfwe+/sFv8Y4k7GEzCR+xIO/zuspxM="; }; build-system = with python312Packages; [ From d77f63c0244a8e7acc7bc6c5b534baec0fa8cb97 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 19 Apr 2026 02:15:01 +0000 Subject: [PATCH 05/21] all-the-package-names: 2.0.2413 -> 2.0.2421 --- pkgs/by-name/al/all-the-package-names/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/al/all-the-package-names/package.nix b/pkgs/by-name/al/all-the-package-names/package.nix index bd39063249df..3d89c261f569 100644 --- a/pkgs/by-name/al/all-the-package-names/package.nix +++ b/pkgs/by-name/al/all-the-package-names/package.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "all-the-package-names"; - version = "2.0.2413"; + version = "2.0.2421"; src = fetchFromGitHub { owner = "nice-registry"; repo = "all-the-package-names"; tag = "v${version}"; - hash = "sha256-loI9wKz0EcePvM2kXqmxNx9rfC/VaMCmJtm0dTjWoOk="; + hash = "sha256-1ES2T8PjajmXtNM2xIxM795ub5OKQ0WRa1XH9te+8+0="; }; - npmDepsHash = "sha256-6XLDdamRG+IVq/zdyKKlIsnfUVD8pKES7K7hm+yTQ78="; + npmDepsHash = "sha256-cYCNNc9+jM6sVBc15OlNaTo0BZ7XudI5c1SODrXD548="; passthru.updateScript = nix-update-script { }; From 56ca1c308e4fdb4a2653d064b53ec091a858691c Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sun, 19 Apr 2026 12:05:29 +0200 Subject: [PATCH 06/21] qemu-user: update URL in comment It seems they delete old versions, so let's just use master and hope this stays current. Co-authored-by: Emily Link: https://github.com/NixOS/nixpkgs/pull/502485/changes#r3005185252 --- pkgs/by-name/qe/qemu/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/qe/qemu/package.nix b/pkgs/by-name/qe/qemu/package.nix index be472939ad21..31515f58d636 100644 --- a/pkgs/by-name/qe/qemu/package.nix +++ b/pkgs/by-name/qe/qemu/package.nix @@ -451,7 +451,7 @@ stdenv.mkDerivation (finalAttrs: { // lib.optionalAttrs (!toolsOnly && !userOnly) { mainProgram = "qemu-kvm"; } - # userOnly: https://qemu.readthedocs.io/en/v9.0.2/user/main.html + # userOnly: https://qemu.readthedocs.io/en/master/user/main.html#supported-operating-systems // lib.optionalAttrs userOnly { platforms = with lib.platforms; (linux ++ freebsd ++ openbsd ++ netbsd); description = "QEMU User space emulator - launch executables compiled for one CPU on another CPU"; From cb80893d164c5b6091adb8877cb01efeb06a35ee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 19 Apr 2026 17:35:56 +0000 Subject: [PATCH 07/21] python3Packages.mhcgnomes: 3.31.1 -> 3.32.1 --- pkgs/development/python-modules/mhcgnomes/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mhcgnomes/default.nix b/pkgs/development/python-modules/mhcgnomes/default.nix index 8bb6f97d5631..9ff62ac44743 100644 --- a/pkgs/development/python-modules/mhcgnomes/default.nix +++ b/pkgs/development/python-modules/mhcgnomes/default.nix @@ -17,14 +17,14 @@ buildPythonPackage (finalAttrs: { pname = "mhcgnomes"; - version = "3.31.1"; + version = "3.32.1"; pyproject = true; src = fetchFromGitHub { owner = "pirl-unc"; repo = "mhcgnomes"; tag = "v${finalAttrs.version}"; - hash = "sha256-SP7hE0tJXBeJ8+NJbz1e8ZpPgVimIE25BgEPyKZ1nLg="; + hash = "sha256-6YYmIXuZXCaozkrVhqlxSQ9TG7vthHcMhVl0QpWChZE="; }; build-system = [ From 9098af30a9eb1a435df5a3a091d3b13fdc265a66 Mon Sep 17 00:00:00 2001 From: Grant DeFayette Date: Sun, 19 Apr 2026 15:29:02 -0400 Subject: [PATCH 08/21] lmstudio: fix lms segfault on linux_x86_64 As described in #510446 lms segfaults due to an unnecessary "--set-rpath" . Removing that argument resolves the issue with lms. --- pkgs/by-name/lm/lmstudio/linux.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/by-name/lm/lmstudio/linux.nix b/pkgs/by-name/lm/lmstudio/linux.nix index 054bb7b900c3..3ee92f83149c 100644 --- a/pkgs/by-name/lm/lmstudio/linux.nix +++ b/pkgs/by-name/lm/lmstudio/linux.nix @@ -51,9 +51,6 @@ appimageTools.wrapType2 { # lms cli tool install -m 755 ${appimageContents}/resources/app/.webpack/lms $out/bin/ - patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" \ - --set-rpath "${lib.getLib stdenv.cc.cc}/lib:${lib.getLib stdenv.cc.cc}/lib64:$out/lib:${ - lib.makeLibraryPath [ (lib.getLib stdenv.cc.cc) ] - }" $out/bin/lms + patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $out/bin/lms ''; } From a0c1e07c0c6b0d699e3a424563fb0da8e3834406 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 19 Apr 2026 20:09:21 +0000 Subject: [PATCH 09/21] python3Packages.gardena-bluetooth: 2.6.0 -> 2.7.0 --- pkgs/development/python-modules/gardena-bluetooth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/gardena-bluetooth/default.nix b/pkgs/development/python-modules/gardena-bluetooth/default.nix index 3a86a308c880..89e51bcb059b 100644 --- a/pkgs/development/python-modules/gardena-bluetooth/default.nix +++ b/pkgs/development/python-modules/gardena-bluetooth/default.nix @@ -13,14 +13,14 @@ buildPythonPackage (finalAttrs: { pname = "gardena-bluetooth"; - version = "2.6.0"; + version = "2.7.0"; pyproject = true; src = fetchFromGitHub { owner = "elupus"; repo = "gardena-bluetooth"; tag = finalAttrs.version; - hash = "sha256-QIjCIfsD/YOPfbmHoerynb5iqne0MBlK0y89cc7gR1U="; + hash = "sha256-VqGcMz9tFXlrekwWQx2Wx1umbf/q3U9XkQKSkze2cCU="; }; build-system = [ setuptools ]; From 8d0db52747644cc43d3fe79a8c4fb4720bf3dd15 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 19 Apr 2026 21:56:08 +0000 Subject: [PATCH 10/21] websurfx: 1.27.0 -> 1.28.0 --- pkgs/by-name/we/websurfx/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/we/websurfx/package.nix b/pkgs/by-name/we/websurfx/package.nix index b56320b601b1..30afcecce649 100644 --- a/pkgs/by-name/we/websurfx/package.nix +++ b/pkgs/by-name/we/websurfx/package.nix @@ -6,7 +6,7 @@ pkg-config, }: let - version = "1.27.0"; + version = "1.28.0"; in rustPlatform.buildRustPackage { pname = "websurfx"; @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage { owner = "neon-mmd"; repo = "websurfx"; tag = "v${version}"; - hash = "sha256-j2CELNuHNMlxvdSEXOz5I7npzeq/s6hGLnFdmxN/m+c="; + hash = "sha256-FQkwRRa4QmkDZ7JIxFjumCDLgzREVQm3K4U1ACpiZX0="; }; nativeBuildInputs = [ @@ -27,7 +27,7 @@ rustPlatform.buildRustPackage { openssl ]; - cargoHash = "sha256-0MXx17Jm/uXo70HoI2dbEl7XBzXGXKMZ+PYw/dQiJ5U="; + cargoHash = "sha256-3wq9KN1n0XCXF9b2VldtlW6DeYt2euBoSIThLWeGCWk="; postPatch = '' substituteInPlace src/handler.rs \ From 8ddd2e9e1658e54bbb287a272cd0ba39ae84c698 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 19 Apr 2026 23:16:09 +0000 Subject: [PATCH 11/21] wayland-proxy-virtwl: 0-unstable-2026-04-03 -> 0-unstable-2026-04-16 --- pkgs/by-name/wa/wayland-proxy-virtwl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix b/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix index c40f2eaa3884..55ae2edd6ec4 100644 --- a/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix +++ b/pkgs/by-name/wa/wayland-proxy-virtwl/package.nix @@ -9,13 +9,13 @@ ocamlPackages.buildDunePackage { pname = "wayland-proxy-virtwl"; - version = "0-unstable-2026-04-03"; + version = "0-unstable-2026-04-16"; src = fetchFromGitHub { owner = "talex5"; repo = "wayland-proxy-virtwl"; - rev = "34d499a119b9a903730144ba5836e70a73f812ac"; - sha256 = "sha256-eU0HU0808Tp4Mw+RY2CZVikFIL1lk6rJg6lNVWj35jg="; + rev = "60e759ca3e4e26444c4956fb85e24b7944d4d81a"; + sha256 = "sha256-cqBXINcJJ8yrNzvMHio+6+eO0PFGUWR+sZSvBDxxOvs="; }; minimalOCamlVersion = "5.0"; From 8c753c588c55b8c9b30f100bf886fe524b9aae98 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 20 Apr 2026 00:30:37 +0000 Subject: [PATCH 12/21] the-foundation: 1.12.0 -> 1.12.2 --- pkgs/by-name/th/the-foundation/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/th/the-foundation/package.nix b/pkgs/by-name/th/the-foundation/package.nix index 7d7b2c920595..c041ba532b99 100644 --- a/pkgs/by-name/th/the-foundation/package.nix +++ b/pkgs/by-name/th/the-foundation/package.nix @@ -13,14 +13,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "the-foundation"; - version = "1.12.0"; + version = "1.12.2"; src = fetchFromGitea { domain = "git.skyjake.fi"; owner = "skyjake"; repo = "the_Foundation"; rev = "v${finalAttrs.version}"; - hash = "sha256-dAeeeu0nWS/Tz4/t/s9xKcx2io5FGooHhWiK12GHJpQ="; + hash = "sha256-1mHZ+ihGeslOnLATf6PjaemkJBXSbqe4ULvwAluH6JM="; }; nativeBuildInputs = [ From 21a2bb22e40c18bc907ee62012481380dbfa003b Mon Sep 17 00:00:00 2001 From: Tom Hunze Date: Mon, 20 Apr 2026 02:34:35 +0200 Subject: [PATCH 13/21] check-meta-test.nix: add tests for compound licenses --- pkgs/stdenv/generic/check-meta-test.nix | 155 ++++++++++++++---------- 1 file changed, 89 insertions(+), 66 deletions(-) diff --git a/pkgs/stdenv/generic/check-meta-test.nix b/pkgs/stdenv/generic/check-meta-test.nix index 0dedb25afbd2..bbd24acf8614 100644 --- a/pkgs/stdenv/generic/check-meta-test.nix +++ b/pkgs/stdenv/generic/check-meta-test.nix @@ -22,14 +22,17 @@ let assertMsg generators licenses + nameValuePair recurseIntoAttrs + replaceString ; - mkUnfreePkg = name: { + mkPkg = name: license: { pname = name; version = "1.0"; - meta.license = licenses.unfree; + meta.license = license; }; + assertValidity = { nixpkgsConfig, @@ -52,77 +55,97 @@ let toPretty = generators.toPretty { }; in assertMsg (actual.success == expected) '' - Expected validity of package ${lib.getName pkg} to be ${toPretty expected}, - but got ${toPretty actual} with config: + Expected validity of package '${lib.getName pkg}' with unfree license + '${licenses.toSPDX pkg.meta.license}' to be ${toPretty expected}, but got + ${toPretty actual} + with config: ${toPretty nixpkgsConfig} ''; runAssertions = assertions: lib.deepSeq assertions ""; -in -recurseIntoAttrs { - - allowOnlyFreePackagesByDefault = assertValidity { - nixpkgsConfig = { }; - pkg = mkUnfreePkg "forbidden"; - expected = false; - }; - - allowAllUnfreePackages = assertValidity { - nixpkgsConfig = { - allowUnfree = true; + mkTests = mkUnfreePkg: { + allowOnlyFreePackagesByDefault = assertValidity { + nixpkgsConfig = { }; + pkg = mkUnfreePkg "forbidden"; + expected = false; }; - pkg = mkUnfreePkg "allowed"; + + allowAllUnfreePackages = assertValidity { + nixpkgsConfig = { + allowUnfree = true; + }; + pkg = mkUnfreePkg "allowed"; + }; + + allowUnfreePackagesWithPredicate = + let + nixpkgsConfig = { + allowUnfreePredicate = pkg: lib.getName pkg == "allowed-by-predicate"; + }; + in + [ + (assertValidity { + inherit nixpkgsConfig; + pkg = mkUnfreePkg "allowed-by-predicate"; + }) + (assertValidity { + inherit nixpkgsConfig; + pkg = mkUnfreePkg "allowed-by-nothing"; + expected = false; + }) + ]; + + allowUnfreeWithPackages = runAssertions [ + (assertValidity { + nixpkgsConfig = { + allowUnfreePackages = [ "unfree" ]; + }; + pkg = mkUnfreePkg "unfree"; + expected = true; + }) + ]; + + allowUnfreePackagesOrPredicate = + let + nixpkgsConfig = { + allowUnfreePackages = [ "allowed-by-packages" ]; + allowUnfreePredicate = pkg: lib.getName pkg == "allowed-by-predicate"; + }; + in + runAssertions [ + (assertValidity { + inherit nixpkgsConfig; + pkg = mkUnfreePkg "allowed-by-packages"; + }) + (assertValidity { + inherit nixpkgsConfig; + pkg = mkUnfreePkg "allowed-by-predicate"; + }) + (assertValidity { + inherit nixpkgsConfig; + pkg = mkUnfreePkg "forbidden"; + expected = false; + }) + ]; }; - allowUnfreePackagesWithPredicate = - let - nixpkgsConfig = { - allowUnfreePredicate = pkg: lib.getName pkg == "allowed-by-predicate"; - }; - in - [ - (assertValidity { - inherit nixpkgsConfig; - pkg = mkUnfreePkg "allowed-by-predicate"; - }) - (assertValidity { - inherit nixpkgsConfig; - pkg = mkUnfreePkg "allowed-by-nothing"; - expected = false; - }) - ]; - - allowUnfreeWithPackages = runAssertions [ - (assertValidity { - nixpkgsConfig = { - allowUnfreePackages = [ "unfree" ]; - }; - pkg = mkUnfreePkg "unfree"; - expected = true; - }) + unfreeLicenses = [ + licenses.unfree + (licenses.AND [ + licenses.free + licenses.unfree + ]) ]; +in - allowUnfreePackagesOrPredicate = - let - nixpkgsConfig = { - allowUnfreePackages = [ "allowed-by-packages" ]; - allowUnfreePredicate = pkg: lib.getName pkg == "allowed-by-predicate"; - }; - in - runAssertions [ - (assertValidity { - inherit nixpkgsConfig; - pkg = mkUnfreePkg "allowed-by-packages"; - }) - (assertValidity { - inherit nixpkgsConfig; - pkg = mkUnfreePkg "allowed-by-predicate"; - }) - (assertValidity { - inherit nixpkgsConfig; - pkg = mkUnfreePkg "forbidden"; - expected = false; - }) - ]; -} +recurseIntoAttrs ( + builtins.listToAttrs ( + map ( + license: + nameValuePair (replaceString " " "-" (licenses.toSPDX license)) ( + recurseIntoAttrs (mkTests (name: mkPkg name license)) + ) + ) unfreeLicenses + ) +) From ca779c6ddf41bf491408f3899f9f8b4143c0eb40 Mon Sep 17 00:00:00 2001 From: Tom Hunze Date: Mon, 20 Apr 2026 02:36:55 +0200 Subject: [PATCH 14/21] check-meta.nix: fix check for license type attr The license type attribute is named `licenseType`, not `type`. --- pkgs/stdenv/generic/check-meta.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 6c3a49c4957c..e651e012d34e 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -90,7 +90,7 @@ let && ( if isList attrs.meta.license then any (l: elem l list) attrs.meta.license - else if attrs.meta.license ? "type" then + else if attrs.meta.license ? "licenseType" then lib.licenses.containsLicenses list attrs.meta.license else elem attrs.meta.license list @@ -105,7 +105,7 @@ let isUnfree = licenses: - if isAttrs licenses && licenses ? "type" then + if isAttrs licenses && licenses ? "licenseType" then !(lib.licenses.isFree licenses) else if isAttrs licenses then !(licenses.free or true) From 72aa95d045b79bb2541cfc3688b572cd6f878457 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 20 Apr 2026 00:45:31 +0000 Subject: [PATCH 15/21] rimgo: 1.4.1 -> 1.4.2 --- pkgs/by-name/ri/rimgo/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ri/rimgo/package.nix b/pkgs/by-name/ri/rimgo/package.nix index 7900b47483aa..aac5222d7453 100644 --- a/pkgs/by-name/ri/rimgo/package.nix +++ b/pkgs/by-name/ri/rimgo/package.nix @@ -7,16 +7,16 @@ }: buildGoModule (finalAttrs: { pname = "rimgo"; - version = "1.4.1"; + version = "1.4.2"; src = fetchFromCodeberg { owner = "rimgo"; repo = "rimgo"; rev = "v${finalAttrs.version}"; - hash = "sha256-0P2+U4wXiFybpGzV7IB1DXZWC+qIdeQtR6mtiYrrih0="; + hash = "sha256-ZdGPZFhjn7jsqHcj8neOocpDweB5TeYXNPfrDw2m7uY="; }; - vendorHash = "sha256-unqml6T50BTBzYXXGcL4cc+q9qJJ9W2b2flPBPheBpk="; + vendorHash = "sha256-/aflGVI3M1dy6/5/CkQo1wPA59cb7m1XJcoF8nTm35Y="; nativeBuildInputs = [ tailwindcss_4 ]; From 46d7b540ae13e1d9844ce495479a7dc8c6504b4a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 20 Apr 2026 00:59:20 +0000 Subject: [PATCH 16/21] troubadix: 26.4.2 -> 26.4.4 --- pkgs/by-name/tr/troubadix/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/tr/troubadix/package.nix b/pkgs/by-name/tr/troubadix/package.nix index e7dbb0c766db..381c800c2b27 100644 --- a/pkgs/by-name/tr/troubadix/package.nix +++ b/pkgs/by-name/tr/troubadix/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "troubadix"; - version = "26.4.2"; + version = "26.4.4"; pyproject = true; src = fetchFromGitHub { owner = "greenbone"; repo = "troubadix"; tag = "v${finalAttrs.version}"; - hash = "sha256-kHi2Q+h6aRikuSZcErLmeUTGSCIXoML0uePgLKuO+Lw="; + hash = "sha256-OByl6SYPgM6pFp2OQyHMZHGr3JJ4kTJTZByWjdEnF7c="; }; pythonRelaxDeps = [ From bfe18296de6b59d1414342ecf58ba8f652df5e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 19 Apr 2026 18:14:56 -0700 Subject: [PATCH 17/21] python3Packages.ariadne: 0.29.0 -> 1.0.1 Diff: https://github.com/mirumee/ariadne/compare/0.29.0...1.0.1 Changelog: https://github.com/mirumee/ariadne/blob/1.0.1/CHANGELOG.md --- .../python-modules/ariadne/default.nix | 29 +++---------------- .../ariadne/remove-opentracing.patch | 12 -------- 2 files changed, 4 insertions(+), 37 deletions(-) delete mode 100644 pkgs/development/python-modules/ariadne/remove-opentracing.patch diff --git a/pkgs/development/python-modules/ariadne/default.nix b/pkgs/development/python-modules/ariadne/default.nix index acec77ed30a0..6fff47cb42dd 100644 --- a/pkgs/development/python-modules/ariadne/default.nix +++ b/pkgs/development/python-modules/ariadne/default.nix @@ -6,6 +6,7 @@ graphql-core, hatchling, httpx, + opentelemetry-api, pytest-asyncio, pytest-mock, pytestCheckHook, @@ -18,20 +19,16 @@ buildPythonPackage (finalAttrs: { pname = "ariadne"; - version = "0.29.0"; + version = "1.0.1"; pyproject = true; src = fetchFromGitHub { owner = "mirumee"; repo = "ariadne"; tag = finalAttrs.version; - hash = "sha256-u6iKgugj30OxIEQ3P0+e05IC/Mh0hvKfTohTc/7pkUk="; + hash = "sha256-V5/4kLdb3Apnnq91HQ3eApl1R2+pqeWhWi5Y0ULqJrI="; }; - patches = [ ./remove-opentracing.patch ]; - - pythonRelaxDeps = [ "graphql-core" ]; - build-system = [ hatchling ]; dependencies = [ @@ -43,6 +40,7 @@ buildPythonPackage (finalAttrs: { nativeCheckInputs = [ freezegun httpx + opentelemetry-api pytest-asyncio pytest-mock pytestCheckHook @@ -53,29 +51,10 @@ buildPythonPackage (finalAttrs: { pythonImportsCheck = [ "ariadne" ]; - pytestFlags = [ "--snapshot-update" ]; - - disabledTests = [ - # TypeError: TestClient.request() got an unexpected keyword argument 'content' - "test_attempt_parse_request_missing_content_type_raises_bad_request_error" - "test_attempt_parse_non_json_request_raises_bad_request_error" - "test_attempt_parse_non_json_request_body_raises_bad_request_error" - # opentracing - "test_query_is_executed_for_multipart_form_request_with_file" - "test_query_is_executed_for_multipart_request_with_large_file_with_tracing" - # AssertionError: assert not [GraphQLError(... - "test_enum_with_int_values_from_dict" - "test_enum_with_int_enum_values" - "test_enum_with_str_enum_values" - ]; - disabledTestPaths = [ # missing graphql-sync-dataloader test dep "tests/test_dataloaders.py" "tests/wsgi/test_configuration.py" - # both include opentracing module, which has been removed from nixpkgs - "tests/tracing/test_opentracing.py" - "tests/tracing/test_opentelemetry.py" ]; meta = { diff --git a/pkgs/development/python-modules/ariadne/remove-opentracing.patch b/pkgs/development/python-modules/ariadne/remove-opentracing.patch deleted file mode 100644 index eecbfafea9b9..000000000000 --- a/pkgs/development/python-modules/ariadne/remove-opentracing.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/tests/asgi/conftest.py b/tests/asgi/conftest.py -index a703466..223586e 100644 ---- a/tests/asgi/conftest.py -+++ b/tests/asgi/conftest.py -@@ -8,7 +8,6 @@ from ariadne.asgi.handlers import ( - GraphQLTransportWSHandler, - GraphQLWSHandler, - ) --from ariadne.contrib.tracing.opentracing import opentracing_extension - - - @pytest.fixture From 1cdd299bcdc6c211ed07ba6024b57a5eff410e66 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 20 Apr 2026 01:59:57 +0000 Subject: [PATCH 18/21] feishu-cli: 1.18.1 -> 1.21.0 --- pkgs/by-name/fe/feishu-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fe/feishu-cli/package.nix b/pkgs/by-name/fe/feishu-cli/package.nix index 3c574c001cfd..ef26179f3473 100644 --- a/pkgs/by-name/fe/feishu-cli/package.nix +++ b/pkgs/by-name/fe/feishu-cli/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "feishu-cli"; - version = "1.18.1"; + version = "1.21.0"; src = fetchFromGitHub { owner = "riba2534"; repo = "feishu-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-LYhBwXkkYtc9uNXOMn/lRiCInSSy0tCf0vGsuFDuJJI="; + hash = "sha256-4+YEU0gRL3WF19a949QweVIdtXt8BWMummjK9ypBHXQ="; }; vendorHash = "sha256-MZv772U+3+Fcanaiuhz+OCqfIsYyCG7B4iZOnEftbi8="; From a725705aba4ad100f2956540fd683e3d17bcb9f7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 20 Apr 2026 02:46:16 +0000 Subject: [PATCH 19/21] terraform-providers.hashicorp_azurerm: 4.68.0 -> 4.69.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 293093b67996..676ad9ef78eb 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -526,11 +526,11 @@ "vendorHash": null }, "hashicorp_azurerm": { - "hash": "sha256-22ZxBz5ZKJzgG/HMv6kce5NosPtmYPk46R7pu3Ss4OA=", + "hash": "sha256-dLapX7pWRKR90D19e7DZZki+VTgKLP2n9ADww2CIQg8=", "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm", "owner": "hashicorp", "repo": "terraform-provider-azurerm", - "rev": "v4.68.0", + "rev": "v4.69.0", "spdx": "MPL-2.0", "vendorHash": null }, From 96810d132dc8b917746cb80fee3f3175277b15c5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 20 Apr 2026 04:13:38 +0000 Subject: [PATCH 20/21] plasma-panel-colorizer: 6.10.0 -> 7.0.1 --- pkgs/by-name/pl/plasma-panel-colorizer/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix index ee4717f4e031..8831fbdb1773 100644 --- a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix +++ b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "plasma-panel-colorizer"; - version = "6.10.0"; + version = "7.0.1"; src = fetchFromGitHub { owner = "luisbocanegra"; repo = "plasma-panel-colorizer"; tag = "v${finalAttrs.version}"; - hash = "sha256-s5KdQLBjy7RlgUwZScw9b6GLPsMBZzeV/kETtGdkNNE="; + hash = "sha256-T2LodP2E5R1NtuTNPxzUNenbs6P3Ur1kbEIHGRbzah0="; }; nativeBuildInputs = [ From 2f10259346ea917fc0ecd48105cb26cf0573c065 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 20 Apr 2026 05:12:57 +0000 Subject: [PATCH 21/21] python3Packages.miniaudio: 1.61 -> 1.70 --- pkgs/development/python-modules/miniaudio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/miniaudio/default.nix b/pkgs/development/python-modules/miniaudio/default.nix index ab73bccb8a68..da1056999e26 100644 --- a/pkgs/development/python-modules/miniaudio/default.nix +++ b/pkgs/development/python-modules/miniaudio/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "miniaudio"; - version = "1.61"; + version = "1.70"; pyproject = true; src = fetchFromGitHub { owner = "irmen"; repo = "pyminiaudio"; tag = "v${version}"; - hash = "sha256-H3o2IWGuMqLrJTzQ7w636Ito6f57WBtMXpXXzrZ7UD8="; + hash = "sha256-7i1ORJJwdd/an5IsW/xO1puI/LJJ5WDEdaE8DU4/laQ="; }; # TODO: Properly unvendor miniaudio c library