From 8d982dd6ca4f91c8c31c641fb90eb7843457cfb1 Mon Sep 17 00:00:00 2001 From: Nicolas Dumazet Date: Tue, 31 Mar 2026 22:17:11 +0200 Subject: [PATCH 01/88] nixos/bazarr: fix unit: add RequiresMountsFor for data directory This helps correctness for systems which need to mount particular directories (impermanence, preservation). This option has no effect if the system does not need to mount directories / if no mountpoints exist for this directory or its parents. Signed-off-by: Nicolas Dumazet --- nixos/modules/services/misc/bazarr.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/misc/bazarr.nix b/nixos/modules/services/misc/bazarr.nix index bfd708c8bbd4..e0c15f158133 100644 --- a/nixos/modules/services/misc/bazarr.nix +++ b/nixos/modules/services/misc/bazarr.nix @@ -72,6 +72,7 @@ in KillSignal = "SIGINT"; SuccessExitStatus = "0 156"; }; + unitConfig.RequiresMountsFor = [ cfg.dataDir ]; }; networking.firewall = lib.mkIf cfg.openFirewall { From 617918980fc826f8f92330fb1300204d4ae3f90e Mon Sep 17 00:00:00 2001 From: Nicolas Dumazet Date: Tue, 31 Mar 2026 22:21:20 +0200 Subject: [PATCH 02/88] nixos/seerr: fix unit: RequiresMountsFor for config directory This helps correctness for systems which need to mount particular directories (impermanence, preservation). This option has no effect if the system does not need to mount directories / if no mountpoints exist for this directory or its parents. Signed-off-by: Nicolas Dumazet --- nixos/modules/services/misc/seerr.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/misc/seerr.nix b/nixos/modules/services/misc/seerr.nix index 8728371f1683..fc91fd8ba30d 100644 --- a/nixos/modules/services/misc/seerr.nix +++ b/nixos/modules/services/misc/seerr.nix @@ -75,6 +75,7 @@ in RemoveIPC = true; PrivateMounts = true; }; + unitConfig.RequiresMountsFor = [ cfg.configDir ]; }; networking.firewall = lib.mkIf cfg.openFirewall { From 3f192fbc4002c63de5595dd7a9e50c76136ea844 Mon Sep 17 00:00:00 2001 From: Nicolas Dumazet Date: Tue, 31 Mar 2026 22:31:33 +0200 Subject: [PATCH 03/88] nixos/prowlarr: fix unit: RequiresMountsFor for data directory This helps correctness for systems which need to mount particular directories (impermanence, preservation). This option has no effect if the system does not need to mount directories / if no mountpoints exist for this directory or its parents. Signed-off-by: Nicolas Dumazet --- nixos/modules/services/misc/servarr/prowlarr.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/misc/servarr/prowlarr.nix b/nixos/modules/services/misc/servarr/prowlarr.nix index 9682df2b161f..2ab36b5a881e 100644 --- a/nixos/modules/services/misc/servarr/prowlarr.nix +++ b/nixos/modules/services/misc/servarr/prowlarr.nix @@ -57,6 +57,7 @@ in ExecStart = "${lib.getExe cfg.package} -nobrowser -data=/var/lib/prowlarr"; Restart = "on-failure"; }; + unitConfig.RequiresMountsFor = [ cfg.dataDir ]; }; tmpfiles.settings."10-prowlarr".${cfg.dataDir}.d = lib.mkIf isCustomDataDir { From 39aea2d52a1a0b1e63c7cc6bb344eaed0f8559ab Mon Sep 17 00:00:00 2001 From: Thomas Zahner Date: Wed, 29 Apr 2026 10:35:30 +0200 Subject: [PATCH 04/88] lychee: 0.23.0 -> 0.24.1 --- pkgs/build-support/testers/lychee.nix | 2 +- pkgs/by-name/ly/lychee/package.nix | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/testers/lychee.nix b/pkgs/build-support/testers/lychee.nix index 1cca3ead76f0..bad1656cfc72 100644 --- a/pkgs/build-support/testers/lychee.nix +++ b/pkgs/build-support/testers/lychee.nix @@ -51,7 +51,7 @@ let passthru = { inherit lychee remap; config = { - include_fragments = true; + include_fragments = "full"; } // lib.optionalAttrs (finalAttrs.passthru.remap != { }) { remap = mapAttrsToList ( diff --git a/pkgs/by-name/ly/lychee/package.nix b/pkgs/by-name/ly/lychee/package.nix index a03a270d632c..523513c1e1e5 100644 --- a/pkgs/by-name/ly/lychee/package.nix +++ b/pkgs/by-name/ly/lychee/package.nix @@ -16,7 +16,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "lychee"; - version = "0.23.0"; + version = "0.24.1"; src = fetchFromGitHub { owner = "lycheeverse"; @@ -31,10 +31,10 @@ rustPlatform.buildRustPackage (finalAttrs: { '("cargo:rustc-env=GIT_DATE={}", "'$GIT_DATE'")' rm -rf $out/.git ''; - hash = "sha256-Rfdys16a4N6B3NsmPsB3OpKjLGElFYvd4UtiRipy8iQ="; + hash = "sha256-lknj0uTIWYwDm3PA/Q8paVxRn+B9qvfllYUjnp7I4jI="; }; - cargoHash = "sha256-5KL/PmBSU8xkOE9/w7uUBkJSOBPsj3Z4o/2VmzA/f3Q="; + cargoHash = "sha256-ivLx48qbagjw5zGkYC+ygK83p8q110iEn2YEfUjTFHs="; nativeBuildInputs = [ installShellFiles @@ -45,6 +45,11 @@ rustPlatform.buildRustPackage (finalAttrs: { postFixup = lib.optionalString canRun '' ${lychee} --generate man > lychee.1 installManPage lychee.1 + + installShellCompletion --cmd lychee \ + --bash <(${lychee} --generate complete-bash) \ + --fish <(${lychee} --generate complete-fish) \ + --zsh <(${lychee} --generate complete-zsh) ''; cargoTestFlags = [ From 4164acfae4ad1b7bd20cc1768d0dd510ca77f83b Mon Sep 17 00:00:00 2001 From: Bruno Rodrigues Date: Wed, 29 Apr 2026 18:55:22 +0200 Subject: [PATCH 05/88] gdal: fix build on darwin --- pkgs/by-name/gd/gdal/package.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/by-name/gd/gdal/package.nix b/pkgs/by-name/gd/gdal/package.nix index 9d0c5f6f103b..55b5e321439a 100644 --- a/pkgs/by-name/gd/gdal/package.nix +++ b/pkgs/by-name/gd/gdal/package.nix @@ -260,6 +260,10 @@ stdenv.mkDerivation (finalAttrs: { "gcore/vsis3.py" "gdrivers/gdalhttp.py" "gdrivers/wms.py" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Trace/BPT trap: 5 on macOS + "gcore/hdf4multidim.py" ]; disabledTests = [ # tests that attempt to make network requests From 47db95888ad97161fa42243f4a062f57d2e3a5cc Mon Sep 17 00:00:00 2001 From: Erik Parawell Date: Fri, 1 May 2026 00:56:40 -0700 Subject: [PATCH 06/88] headplane: 0.6.1 -> 0.6.2 Atomic bump of headplane and headplane-agent to 0.6.2. Reworks the NixOS module to track upstream config changes: - Adds new 0.6.2 options for server (base_url, cookie_max_age, cookie_domain) and OIDC (PKCE, end-session, subject claims). - Migrates secret options to use _path variants for secure file loading. - Uses mkRemovedOptionModule for truly removed options (redirect_uri, user_storage_file, strict_validation, cache_ttl). - Hardens the NixOS test to verify rendered config and session cookie issuance. - Exposes headplane-agent and tests under headplane.passthru. --- .../manual/release-notes/rl-2605.section.md | 7 + .../modules/services/networking/headplane.nix | 235 +++++++++++++----- nixos/tests/all-tests.nix | 1 + nixos/tests/headplane.nix | 57 +++++ pkgs/by-name/he/headplane-agent/package.nix | 4 +- pkgs/by-name/he/headplane/package.nix | 13 +- 6 files changed, 247 insertions(+), 70 deletions(-) create mode 100644 nixos/tests/headplane.nix diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index a652c7a3657c..e95eb54daab1 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -245,6 +245,13 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - Ethercalc and its associated module have been removed, as the package is unmaintained and cannot be installed from source with npm now. +- `services.headplane` has been updated to 0.6.2, which introduces several breaking changes to the configuration schema: + - `services.headplane.settings.oidc.redirect_uri` has been removed. Use `services.headplane.settings.server.base_url` instead; the OIDC redirect URI is now automatically derived from it. Ensure `base_url` is the bare host URL without the `/admin` suffix. + - `services.headplane.settings.oidc.user_storage_file` has been removed. Users are now stored in an internal SQL database. + - `services.headplane.settings.oidc.strict_validation` has been removed. + - `services.headplane.settings.oidc.token_endpoint_auth_method` now defaults to `null` (auto-detection), which typically falls back to `client_secret_basic`. Previous versions defaulted to `client_secret_post`. + - `services.headplane.settings.integration.agent.cache_ttl` has been removed as it had no effect in 0.6.2. + - `services.immich` no longer supports pgvecto.rs since the package has been removed from nixpkgs. As a result, options `services.immich.database.enableVectors` and `services.immich.database.enableVectorchord` have been removed, and VectorChord is now always used. If you have not completed the migration yet, ensure you completely remove the extension from your database before upgrading by following the [migration guide](https://github.com/NixOS/nixpkgs/blob/nixos-25.11/nixos/modules/services/web-apps/immich.md#migrating-from-pgvecto-rs-to-vectorchord-pre-2511-installations-module-services-immich-vectorchord-migration). diff --git a/nixos/modules/services/networking/headplane.nix b/nixos/modules/services/networking/headplane.nix index 5fac2f04e37d..5fa0d6a6df20 100644 --- a/nixos/modules/services/networking/headplane.nix +++ b/nixos/modules/services/networking/headplane.nix @@ -33,6 +33,37 @@ let settingsFile = settingsFormat.generate "headplane-config.yaml" (filterSettings settings); in { + imports = [ + (lib.mkRemovedOptionModule + [ + "services.headplane" + "settings" + "oidc" + "redirect_uri" + ] + "Use services.headplane.settings.server.base_url instead; the OIDC redirect URI is now derived from it. Do not include the /admin suffix." + ) + (lib.mkRemovedOptionModule [ + "services.headplane" + "settings" + "oidc" + "user_storage_file" + ] "Users are now stored in the internal database.") + (lib.mkRemovedOptionModule [ + "services.headplane" + "settings" + "oidc" + "strict_validation" + ] "This option has no effect in Headplane 0.6.2 and later.") + (lib.mkRemovedOptionModule [ + "services.headplane" + "settings" + "integration" + "agent" + "cache_ttl" + ] "This option has no effect in Headplane 0.6.2 and later.") + ]; + options.services.headplane = { enable = mkEnableOption "Headplane"; package = mkPackageOption pkgs "headplane" { }; @@ -64,6 +95,16 @@ in description = "The port to listen on."; }; + base_url = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The base URL for Headplane. Used for OIDC redirect callback URL + detection. Should not include the dashboard prefix (/admin). + ''; + example = "https://headplane.example.com"; + }; + cookie_secret_path = mkOption { type = types.nullOr types.path; default = null; @@ -84,16 +125,43 @@ in ''; }; + cookie_max_age = mkOption { + type = types.ints.positive; + default = 86400; + description = "The maximum age of the session cookie in seconds."; + }; + + cookie_domain = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Restrict the cookie to a specific domain. + This may not work as expected if not using a reverse proxy. + ''; + example = "example.com"; + }; + data_path = mkOption { type = types.path; default = "/var/lib/headplane"; description = '' The path to persist Headplane specific data. All data going forward is stored in this directory, including the internal database and any cache related files. - Data formats prior to 0.6.1 will automatically be migrated. ''; example = "/var/lib/headplane"; }; + + info_secret_path = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to a file containing the info secret. + Allows access to certain debug endpoints that may expose + sensitive information about your Headplane instance. + If not set, these endpoints will be disabled. + ''; + example = lib.literalExpression "config.sops.secrets.headplane_info_secret.path"; + }; }; }; default = { }; @@ -185,6 +253,15 @@ in ''; }; + pre_authkey_path = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to a file containing a Headscale pre-auth key for the agent. + ''; + example = lib.literalExpression "config.sops.secrets.headplane_pre_authkey.path"; + }; + executable_path = mkOption { type = types.path; readOnly = true; @@ -195,36 +272,16 @@ in ''; }; - pre_authkey_path = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to a file containing the agent preauth key. - To connect to your Tailnet, you need to generate a pre-auth key. - This can be done via the web UI or through the `headscale` CLI. - ''; - example = lib.literalExpression "config.sops.secrets.agent_pre_authkey.path"; - }; - host_name = mkOption { type = types.str; default = "headplane-agent"; - description = "Optionally change the name of the agent in the Tailnet"; - }; - - cache_ttl = mkOption { - type = types.ints.positive; - default = 180000; - description = '' - How long to cache agent information (in milliseconds). - If you want data to update faster, reduce the TTL, but this will increase the frequency of requests to Headscale. - ''; + description = "Optionally change the name of the agent in the Tailnet."; }; cache_path = mkOption { - type = types.path; + type = types.str; default = "/var/lib/headplane/agent_cache.json"; - description = "Where to store the agent cache."; + description = "The path to store the agent's cache."; }; work_dir = mkOption { @@ -271,6 +328,15 @@ in type = types.nullOr ( types.submodule { options = { + enabled = mkOption { + type = types.bool; + default = true; + description = '' + Explicitly control OIDC availability. + Set to false to define OIDC config without enabling it. + ''; + }; + issuer = mkOption { type = types.str; description = "URL to OpenID issuer."; @@ -292,6 +358,16 @@ in example = lib.literalExpression "config.sops.secrets.oidc_client_secret.path"; }; + headscale_api_key_path = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to a file containing the Headscale API key. + Required for OIDC authentication. + ''; + example = lib.literalExpression "config.sops.secrets.headscale_api_key.path"; + }; + disable_api_key_login = mkOption { type = types.bool; default = false; @@ -299,42 +375,81 @@ in }; token_endpoint_auth_method = mkOption { - type = types.enum [ - "client_secret_post" - "client_secret_basic" - "client_secret_jwt" - ]; - default = "client_secret_post"; - description = "The token endpoint authentication method."; - }; - - headscale_api_key_path = mkOption { - type = types.nullOr types.path; + type = types.nullOr ( + types.enum [ + "client_secret_post" + "client_secret_basic" + "client_secret_jwt" + ] + ); default = null; description = '' - Path to a file containing the Headscale API key. - Required when `services.headplane.settings.oidc` is set. + The token endpoint authentication method. + If not set, Headplane will auto-detect the best method + and fall back to client_secret_basic. ''; - example = lib.literalExpression "config.sops.secrets.headscale_api_key.path"; }; - redirect_uri = mkOption { + use_pkce = mkOption { + type = types.bool; + default = false; + description = '' + Whether to use PKCE when authenticating users. + Your OIDC provider must support PKCE and it must be enabled on the client. + ''; + }; + + use_end_session = mkOption { + type = types.bool; + default = false; + description = '' + Enable RP-initiated logout. When true, /logout redirects the user + to the IdP's end_session_endpoint. The post_logout_redirect_uri + MUST be pre-registered in your OIDC client configuration. + ''; + }; + + end_session_endpoint = mkOption { type = types.nullOr types.str; default = null; description = '' - This should point to your publicly accessible URL - for your Headplane instance with /admin/oidc/callback. + Override the auto-discovered end_session_endpoint, or supply + one if your provider does not advertise it via discovery. ''; - example = "https://headscale.example.com/admin/oidc/callback"; + example = "https://provider.example.com/logout"; }; - user_storage_file = mkOption { - type = types.path; - default = "/var/lib/headplane/users.json"; + post_logout_redirect_uri = mkOption { + type = types.nullOr types.str; + default = null; description = '' - Path to a file containing the users and their permissions for Headplane. + Where the identity provider should redirect after RP-initiated logout. + If unset, Headplane defaults to its own login page. + ''; + example = "https://headplane.example.com/admin/login?s=logout"; + }; + + subject_claims = mkOption { + type = types.nullOr (types.listOf types.str); + default = null; + description = '' + Fallback claims to use when your provider does not return a standard + OIDC `sub` claim. Headplane always checks `sub` first, then each + claim here in order. + ''; + example = [ + "open_id" + "email" + ]; + }; + + allow_weak_rsa_keys = mkOption { + type = types.bool; + default = false; + description = '' + Allow ID token verification with legacy RSA keys smaller than 2048 bits. + Only use as a temporary compatibility workaround. ''; - example = "/var/lib/headplane/users.json"; }; profile_picture_source = mkOption { @@ -346,12 +461,6 @@ in description = "Source for user profile pictures."; }; - strict_validation = mkOption { - type = types.bool; - default = true; - description = "Enable strict validation of OIDC configuration."; - }; - scope = mkOption { type = types.str; default = "openid email profile"; @@ -422,23 +531,19 @@ in via systemd `LoadCredential` or sops-nix. ''; } - { - assertion = - cfg.settings.integration.agent == null - || !cfg.settings.integration.agent.enabled - || cfg.settings.integration.agent.pre_authkey_path != null; - message = '' - services.headplane.settings.integration.agent.pre_authkey_path must be set - when services.headplane.settings.integration.agent.enabled is true. - ''; - } { assertion = cfg.settings.oidc == null || cfg.settings.oidc.headscale_api_key_path != null; message = '' services.headplane.settings.oidc.headscale_api_key_path must be set when services.headplane.settings.oidc is non-null. Headplane's OIDC - flow requires a Headscale API key to mint sessions; upstream config - validation rejects an OIDC block without it. + flow requires a Headscale API key to mint sessions. + ''; + } + { + assertion = agentSettings == null || !agentSettings.enabled || agentSettings.pre_authkey_path != null; + message = '' + services.headplane.settings.integration.agent.pre_authkey_path must be set + when the agent is enabled. ''; } ]; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index b276d07786bc..383b40bb0ae7 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -724,6 +724,7 @@ in imports = [ ./hbase.nix ]; _module.args.getPackage = pkgs: pkgs.hbase_2_5; }; + headplane = runTest ./headplane.nix; headscale = runTest ./headscale.nix; healthchecks = runTest ./web-apps/healthchecks.nix; hedgedoc = runTest ./hedgedoc.nix; diff --git a/nixos/tests/headplane.nix b/nixos/tests/headplane.nix new file mode 100644 index 000000000000..d11bab00f999 --- /dev/null +++ b/nixos/tests/headplane.nix @@ -0,0 +1,57 @@ +{ lib, pkgs, ... }: +let + cookieSecret = pkgs.writeText "cookie-secret" "01234567890123456789012345678901"; +in +{ + name = "headplane"; + meta.maintainers = with lib.maintainers; [ + igor-ramazanov + stealthbadger747 + ]; + + nodes.machine = { + services.headscale = { + enable = true; + settings = { + server_url = "http://127.0.0.1"; + ip_prefixes = [ "100.64.0.0/10" ]; + dns = { + base_domain = "tailnet"; + override_local_dns = false; + }; + }; + }; + services.headplane = { + enable = true; + settings.server = { + cookie_secret_path = cookieSecret; + cookie_secure = false; + # Exercise the new 0.6.2 server-level options so the test fails + # if their option-name -> YAML-key mapping ever regresses. + base_url = "http://127.0.0.1:3000"; + cookie_max_age = 3600; + cookie_domain = "127.0.0.1"; + }; + }; + }; + + testScript = '' + machine.wait_for_unit("headscale.service") + machine.wait_for_unit("headplane.service") + machine.wait_until_succeeds("curl -sf http://127.0.0.1:3000/admin/login") + + with subtest("rendered config contains new 0.6.2 options"): + config = machine.succeed("cat /etc/headplane/config.yaml") + for key in ["base_url:", "cookie_max_age:", "cookie_domain:"]: + assert key in config, f"{key} missing from rendered config" + + with subtest("removed options are not rendered"): + config = machine.succeed("cat /etc/headplane/config.yaml") + for key in ["redirect_uri:", "user_storage_file:", "strict_validation:", "cache_ttl:"]: + assert key not in config, f"removed option {key} still rendered" + + with subtest("session cookie is set on login page"): + machine.succeed("curl -sf -c /tmp/cj http://127.0.0.1:3000/admin/login") + machine.succeed("test -s /tmp/cj") + ''; +} diff --git a/pkgs/by-name/he/headplane-agent/package.nix b/pkgs/by-name/he/headplane-agent/package.nix index a645d2e576f8..d821e5b94218 100644 --- a/pkgs/by-name/he/headplane-agent/package.nix +++ b/pkgs/by-name/he/headplane-agent/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "headplane-agent"; __structuredAttrs = true; # Note, if you are upgrading this, you should upgrade headplane at the same time - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "tale"; repo = "headplane"; tag = "v${finalAttrs.version}"; - hash = "sha256-hsrnmEwKXJlPjV4aIfmS6GAE414ArVRGoPPpZGmV0x4="; + hash = "sha256-2C/Pn2M2aHADtoljSFg9hz6xOaZp6IRI77jjy+LDAgw="; }; vendorHash = "sha256-MvrqKMD+A+qBZmzQv+T9920U5uJop+pjfJpZdm2ZqEA="; diff --git a/pkgs/by-name/he/headplane/package.nix b/pkgs/by-name/he/headplane/package.nix index bb42ab31bcee..a596e5918356 100644 --- a/pkgs/by-name/he/headplane/package.nix +++ b/pkgs/by-name/he/headplane/package.nix @@ -3,8 +3,10 @@ fetchFromGitHub, fetchPnpmDeps, git, + headplane-agent, lib, makeWrapper, + nixosTests, nodejs_22, pnpm_10, pnpmConfigHook, @@ -13,13 +15,13 @@ let pname = "headplane"; # Note, if you are upgrading this, you should upgrade headplane-agent at the same time - version = "0.6.1"; - pnpmDepsHash = "sha256-AYfEL3HSRg87I+Y0fkLthFSDWgHTg5u0DBpzn6KBn1Q="; + version = "0.6.2"; + pnpmDepsHash = "sha256-CsmffCo9Se/4oiOqbcuhjPMuGmR2GL+YfcyWgzBTAh8="; src = fetchFromGitHub { owner = "tale"; repo = "headplane"; tag = "v${version}"; - hash = "sha256-hsrnmEwKXJlPjV4aIfmS6GAE414ArVRGoPPpZGmV0x4="; + hash = "sha256-2C/Pn2M2aHADtoljSFg9hz6xOaZp6IRI77jjy+LDAgw="; }; headplaneSshWasm = buildGoModule { @@ -104,6 +106,11 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; + passthru = { + agent = headplane-agent; + tests = { inherit (nixosTests) headplane; }; + }; + meta = { description = "Feature-complete Web UI for Headscale"; homepage = "https://github.com/tale/headplane"; From 7bbd4f8bfcab69e02546440b1f8258c6607e6bf6 Mon Sep 17 00:00:00 2001 From: Erik Parawell Date: Fri, 1 May 2026 20:54:05 -0700 Subject: [PATCH 07/88] headplane: fix 0.6.2 options --- .../modules/services/networking/headplane.nix | 143 +++++++----------- nixos/tests/headplane.nix | 22 ++- 2 files changed, 74 insertions(+), 91 deletions(-) diff --git a/nixos/modules/services/networking/headplane.nix b/nixos/modules/services/networking/headplane.nix index 5fa0d6a6df20..19e131fcab8d 100644 --- a/nixos/modules/services/networking/headplane.nix +++ b/nixos/modules/services/networking/headplane.nix @@ -33,37 +33,6 @@ let settingsFile = settingsFormat.generate "headplane-config.yaml" (filterSettings settings); in { - imports = [ - (lib.mkRemovedOptionModule - [ - "services.headplane" - "settings" - "oidc" - "redirect_uri" - ] - "Use services.headplane.settings.server.base_url instead; the OIDC redirect URI is now derived from it. Do not include the /admin suffix." - ) - (lib.mkRemovedOptionModule [ - "services.headplane" - "settings" - "oidc" - "user_storage_file" - ] "Users are now stored in the internal database.") - (lib.mkRemovedOptionModule [ - "services.headplane" - "settings" - "oidc" - "strict_validation" - ] "This option has no effect in Headplane 0.6.2 and later.") - (lib.mkRemovedOptionModule [ - "services.headplane" - "settings" - "integration" - "agent" - "cache_ttl" - ] "This option has no effect in Headplane 0.6.2 and later.") - ]; - options.services.headplane = { enable = mkEnableOption "Headplane"; package = mkPackageOption pkgs "headplane" { }; @@ -151,17 +120,6 @@ in example = "/var/lib/headplane"; }; - info_secret_path = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to a file containing the info secret. - Allows access to certain debug endpoints that may expose - sensitive information about your Headplane instance. - If not set, these endpoints will be disabled. - ''; - example = lib.literalExpression "config.sops.secrets.headplane_info_secret.path"; - }; }; }; default = { }; @@ -278,8 +236,17 @@ in description = "Optionally change the name of the agent in the Tailnet."; }; + cache_ttl = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Deprecated cache TTL for the agent. This option is accepted + by Headplane 0.6.2 but has no effect. + ''; + }; + cache_path = mkOption { - type = types.str; + type = types.path; default = "/var/lib/headplane/agent_cache.json"; description = "The path to store the agent's cache."; }; @@ -399,56 +366,22 @@ in ''; }; - use_end_session = mkOption { - type = types.bool; - default = false; - description = '' - Enable RP-initiated logout. When true, /logout redirects the user - to the IdP's end_session_endpoint. The post_logout_redirect_uri - MUST be pre-registered in your OIDC client configuration. - ''; - }; - - end_session_endpoint = mkOption { + redirect_uri = mkOption { type = types.nullOr types.str; default = null; description = '' - Override the auto-discovered end_session_endpoint, or supply - one if your provider does not advertise it via discovery. + Deprecated OIDC redirect URI. Use services.headplane.settings.server.base_url + instead; Headplane derives the callback URL from it. ''; - example = "https://provider.example.com/logout"; + example = "https://headplane.example.com/admin/oidc/callback"; }; - post_logout_redirect_uri = mkOption { - type = types.nullOr types.str; + strict_validation = mkOption { + type = types.nullOr types.bool; default = null; description = '' - Where the identity provider should redirect after RP-initiated logout. - If unset, Headplane defaults to its own login page. - ''; - example = "https://headplane.example.com/admin/login?s=logout"; - }; - - subject_claims = mkOption { - type = types.nullOr (types.listOf types.str); - default = null; - description = '' - Fallback claims to use when your provider does not return a standard - OIDC `sub` claim. Headplane always checks `sub` first, then each - claim here in order. - ''; - example = [ - "open_id" - "email" - ]; - }; - - allow_weak_rsa_keys = mkOption { - type = types.bool; - default = false; - description = '' - Allow ID token verification with legacy RSA keys smaller than 2048 bits. - Only use as a temporary compatibility workaround. + Deprecated OIDC validation setting. This option is accepted + by Headplane 0.6.2 but has no effect. ''; }; @@ -496,6 +429,16 @@ in description = "Custom userinfo endpoint URL."; example = "https://provider.example.com/userinfo"; }; + + user_storage_file = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Deprecated path to the pre-0.6.2 JSON user database. + Headplane uses this once to migrate users into its internal database. + ''; + example = "/var/lib/headplane/users.json"; + }; }; } ); @@ -509,6 +452,33 @@ in }; config = mkIf cfg.enable { + warnings = + lib.optionals (cfg.settings.oidc != null && cfg.settings.oidc.redirect_uri != null) [ + '' + services.headplane.settings.oidc.redirect_uri is deprecated by Headplane 0.6.2. + Use services.headplane.settings.server.base_url instead; Headplane derives + the OIDC callback URL from it. + '' + ] + ++ lib.optionals (cfg.settings.oidc != null && cfg.settings.oidc.strict_validation != null) [ + '' + services.headplane.settings.oidc.strict_validation is deprecated and has no effect + in Headplane 0.6.2. + '' + ] + ++ lib.optionals (cfg.settings.oidc != null && cfg.settings.oidc.user_storage_file != null) [ + '' + services.headplane.settings.oidc.user_storage_file is deprecated. Headplane 0.6.2 + uses it only to migrate the pre-0.6.2 JSON user database into the internal database. + '' + ] + ++ lib.optionals (agentSettings != null && agentSettings.cache_ttl != null) [ + '' + services.headplane.settings.integration.agent.cache_ttl is deprecated and has no + effect in Headplane 0.6.2. + '' + ]; + assertions = [ { assertion = config.services.headscale.enable; @@ -540,7 +510,8 @@ in ''; } { - assertion = agentSettings == null || !agentSettings.enabled || agentSettings.pre_authkey_path != null; + assertion = + agentSettings == null || !agentSettings.enabled || agentSettings.pre_authkey_path != null; message = '' services.headplane.settings.integration.agent.pre_authkey_path must be set when the agent is enabled. diff --git a/nixos/tests/headplane.nix b/nixos/tests/headplane.nix index d11bab00f999..331012b12fdd 100644 --- a/nixos/tests/headplane.nix +++ b/nixos/tests/headplane.nix @@ -1,6 +1,8 @@ { lib, pkgs, ... }: let cookieSecret = pkgs.writeText "cookie-secret" "01234567890123456789012345678901"; + oidcClientSecret = pkgs.writeText "oidc-client-secret" "client-secret"; + headscaleApiKey = pkgs.writeText "headscale-api-key" "headscale-api-key"; in { name = "headplane"; @@ -32,6 +34,16 @@ in cookie_max_age = 3600; cookie_domain = "127.0.0.1"; }; + settings.oidc = { + enabled = false; + issuer = "https://provider.example.com/issuer-url"; + client_id = "your-client-id"; + client_secret_path = oidcClientSecret; + headscale_api_key_path = headscaleApiKey; + redirect_uri = "http://127.0.0.1:3000/admin/oidc/callback"; + strict_validation = true; + user_storage_file = "/var/lib/headplane/users.json"; + }; }; }; @@ -40,15 +52,15 @@ in machine.wait_for_unit("headplane.service") machine.wait_until_succeeds("curl -sf http://127.0.0.1:3000/admin/login") - with subtest("rendered config contains new 0.6.2 options"): + with subtest("rendered config contains new and deprecated-compatible options"): config = machine.succeed("cat /etc/headplane/config.yaml") - for key in ["base_url:", "cookie_max_age:", "cookie_domain:"]: + for key in ["base_url:", "cookie_max_age:", "cookie_domain:", "redirect_uri:", "strict_validation:", "user_storage_file:"]: assert key in config, f"{key} missing from rendered config" - with subtest("removed options are not rendered"): + with subtest("unsupported options are not rendered"): config = machine.succeed("cat /etc/headplane/config.yaml") - for key in ["redirect_uri:", "user_storage_file:", "strict_validation:", "cache_ttl:"]: - assert key not in config, f"removed option {key} still rendered" + for key in ["info_secret_path:", "subject_claims:", "allow_weak_rsa_keys:", "use_end_session:", "end_session_endpoint:", "post_logout_redirect_uri:"]: + assert key not in config, f"unsupported option {key} still rendered" with subtest("session cookie is set on login page"): machine.succeed("curl -sf -c /tmp/cj http://127.0.0.1:3000/admin/login") From 692911f6a0289844d4fc098cc85e24ef5cd6ec43 Mon Sep 17 00:00:00 2001 From: Erik Parawell Date: Fri, 1 May 2026 20:59:55 -0700 Subject: [PATCH 08/88] headplane: fix 0.6.2 release note --- nixos/doc/manual/release-notes/rl-2605.section.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index e95eb54daab1..3e5e557b2d9b 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -245,12 +245,12 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - Ethercalc and its associated module have been removed, as the package is unmaintained and cannot be installed from source with npm now. -- `services.headplane` has been updated to 0.6.2, which introduces several breaking changes to the configuration schema: - - `services.headplane.settings.oidc.redirect_uri` has been removed. Use `services.headplane.settings.server.base_url` instead; the OIDC redirect URI is now automatically derived from it. Ensure `base_url` is the bare host URL without the `/admin` suffix. - - `services.headplane.settings.oidc.user_storage_file` has been removed. Users are now stored in an internal SQL database. - - `services.headplane.settings.oidc.strict_validation` has been removed. +- `services.headplane` has been updated to 0.6.2, which introduces several changes to the configuration schema: + - `services.headplane.settings.oidc.redirect_uri` is deprecated. Use `services.headplane.settings.server.base_url` instead; the OIDC redirect URI is now automatically derived from it. Ensure `base_url` is the bare host URL without the `/admin` suffix. + - `services.headplane.settings.oidc.user_storage_file` is deprecated. Headplane 0.6.2 still accepts it to migrate the old JSON user database into the new internal SQL database. + - `services.headplane.settings.oidc.strict_validation` is deprecated and has no effect. - `services.headplane.settings.oidc.token_endpoint_auth_method` now defaults to `null` (auto-detection), which typically falls back to `client_secret_basic`. Previous versions defaulted to `client_secret_post`. - - `services.headplane.settings.integration.agent.cache_ttl` has been removed as it had no effect in 0.6.2. + - `services.headplane.settings.integration.agent.cache_ttl` is deprecated and has no effect in 0.6.2. - `services.immich` no longer supports pgvecto.rs since the package has been removed from nixpkgs. As a result, options `services.immich.database.enableVectors` and `services.immich.database.enableVectorchord` have been removed, and VectorChord is now always used. From 708b3c9a83bc97d96e6a6ad635b5ae3481978e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 6 May 2026 16:38:38 +0200 Subject: [PATCH 09/88] libgit2: 1.9.2 -> 1.9.3 Changelog: https://github.com/libgit2/libgit2/releases/tag/v1.9.3 Diff: https://github.com/libgit2/libgit2/compare/v1.9.2...v1.9.3 --- pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix | 9 ++++++++- pkgs/by-name/li/libgit2/package.nix | 7 ++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix b/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix index 095e39d6b413..b55ff0126953 100644 --- a/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix +++ b/pkgs/by-name/gi/gitstatus/romkatv_libgit2.nix @@ -1,4 +1,9 @@ -{ fetchFromGitHub, libgit2, ... }: +{ + lib, + fetchFromGitHub, + libgit2, + ... +}: libgit2.overrideAttrs (oldAttrs: { pname = "romkatv_libgit2"; @@ -27,4 +32,6 @@ libgit2.overrideAttrs (oldAttrs: { # this is a heavy fork of the original libgit2 # the original checkPhase does not work for this fork doCheck = false; + + meta = lib.removeAttrs oldAttrs.meta [ "changelog" ]; }) diff --git a/pkgs/by-name/li/libgit2/package.nix b/pkgs/by-name/li/libgit2/package.nix index 20655c7b77e1..bfac9149df06 100644 --- a/pkgs/by-name/li/libgit2/package.nix +++ b/pkgs/by-name/li/libgit2/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "libgit2"; - version = "1.9.2"; + version = "1.9.3"; # also check the following packages for updates: python3Packages.pygit2 and libgit2-glib outputs = [ @@ -34,8 +34,8 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "libgit2"; repo = "libgit2"; - rev = "v${finalAttrs.version}"; - hash = "sha256-TCeEh8DpVoxpF/HkahxM3ONDjawAkIiMo6S7ogG3fLg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-nJrRdPs86oGNL4W2CJb16oSUgfzYr9A2i5sw9BAehME="; }; cmakeFlags = [ @@ -96,6 +96,7 @@ stdenv.mkDerivation (finalAttrs: { }; meta = { + changelog = "https://github.com/libgit2/libgit2/releases/tag/${finalAttrs.src.tag}"; description = "Linkable library implementation of Git that you can use in your application"; mainProgram = "git2"; homepage = "https://libgit2.org/"; From 95eb8bc485373baeea06ca8a64ff601ee88b5a6f Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Tue, 28 Apr 2026 10:56:35 +0800 Subject: [PATCH 10/88] python3Packages.amplitude-analytics: init at 1.2.3 --- .../amplitude-analytics/default.nix | 36 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/python-modules/amplitude-analytics/default.nix diff --git a/pkgs/development/python-modules/amplitude-analytics/default.nix b/pkgs/development/python-modules/amplitude-analytics/default.nix new file mode 100644 index 000000000000..0f506a7e5322 --- /dev/null +++ b/pkgs/development/python-modules/amplitude-analytics/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "amplitude-analytics"; + version = "1.2.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "amplitude"; + repo = "Amplitude-Python"; + tag = "v${finalAttrs.version}"; + hash = "sha256-on4TJPiPyznYkBeJsTd7W59KhN7UaSX5+XJaSjkqFaE="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "amplitude" ]; + + meta = { + description = "Official Amplitude backend Python SDK for server-side instrumentation"; + homepage = "https://github.com/amplitude/Amplitude-Python"; + downloadPage = "https://github.com/amplitude/Amplitude-Python/releases"; + changelog = "https://github.com/amplitude/Amplitude-Python/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ prince213 ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dcbc1af01ac1..8c0b456452dc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -734,6 +734,8 @@ self: super: with self; { ament-package = callPackage ../development/python-modules/ament-package { }; + amplitude-analytics = callPackage ../development/python-modules/amplitude-analytics { }; + amply = callPackage ../development/python-modules/amply { }; amqp = callPackage ../development/python-modules/amqp { }; From 51d066a573feb4e68219fa58000a8f4c9a162fdb Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Tue, 28 Apr 2026 10:56:35 +0800 Subject: [PATCH 11/88] python3Packages.fakeredis: 2.33.0 -> 2.35.1 --- .../python-modules/fakeredis/default.nix | 43 ++++++++----------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix index f2cb17ddb590..74e0f892129b 100644 --- a/pkgs/development/python-modules/fakeredis/default.nix +++ b/pkgs/development/python-modules/fakeredis/default.nix @@ -2,30 +2,32 @@ lib, buildPythonPackage, fetchFromGitHub, + pytestCheckHook, + redisTestHook, + + hatchling, hypothesis, jsonpath-ng, lupa, - hatchling, + numpy, pyprobables, pytest-asyncio, pytest-mock, - pytestCheckHook, redis, - redisTestHook, sortedcontainers, valkey, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fakeredis"; - version = "2.33.0"; + version = "2.35.1"; pyproject = true; src = fetchFromGitHub { - owner = "dsoftwareinc"; + owner = "cunla"; repo = "fakeredis-py"; - tag = "v${version}"; - hash = "sha256-uvbvrziVdoa/ip8MbZG8GcpN1FoINxUV+SDVRmg78Qs="; + tag = "v${finalAttrs.version}"; + hash = "sha256-euhWKXFERpRoXX7G81ffAygt5e1mt7uy9Y9zAGacu38="; }; build-system = [ hatchling ]; @@ -42,6 +44,10 @@ buildPythonPackage rec { cf = [ pyprobables ]; probabilistic = [ pyprobables ]; valkey = [ valkey ]; + vectorset = [ + jsonpath-ng + numpy + ]; }; nativeCheckInputs = [ @@ -58,23 +64,8 @@ buildPythonPackage rec { disabledTestMarks = [ "slow" ]; disabledTests = [ - "test_init_args" # AttributeError: module 'fakeredis' has no attribute 'FakeValkey' - "test_async_init_kwargs" # AttributeError: module 'fakeredis' has no attribute 'FakeAsyncValkey'" - # redis.exceptions.ResponseError: unknown command 'evalsha' "test_async_lock" - - # AssertionError: assert [0, b'1'] == [0, 1.0] - "test_zrank_redis7_2" - "test_zrevrank_redis7_2" - - # KeyError: 'tot-mem' - "test_acl_log_auth_exist" - "test_acl_log_invalid_channel" - "test_acl_log_invalid_key" - "test_client_id" - "test_client_info" - "test_client_list" ]; preCheck = '' @@ -83,9 +74,9 @@ buildPythonPackage rec { meta = { description = "Fake implementation of Redis API"; - homepage = "https://github.com/dsoftwareinc/fakeredis-py"; - changelog = "https://github.com/cunla/fakeredis-py/releases/tag/${src.tag}"; + homepage = "https://github.com/cunla/fakeredis-py"; + changelog = "https://github.com/cunla/fakeredis-py/releases/tag/${finalAttrs.src.tag}"; license = with lib.licenses; [ bsd3 ]; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From 4a5e26bc8315c579d3ff50bbbb030de708c52cb4 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Fri, 8 May 2026 18:50:37 +0800 Subject: [PATCH 12/88] python3Packages.burner-redis: init at 0.1.6 --- .../python-modules/burner-redis/default.nix | 52 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 54 insertions(+) create mode 100644 pkgs/development/python-modules/burner-redis/default.nix diff --git a/pkgs/development/python-modules/burner-redis/default.nix b/pkgs/development/python-modules/burner-redis/default.nix new file mode 100644 index 000000000000..c8ffe4e2c8dc --- /dev/null +++ b/pkgs/development/python-modules/burner-redis/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + rustPlatform, + + pytest-asyncio, + redis, +}: + +buildPythonPackage (finalAttrs: { + pname = "burner-redis"; + version = "0.1.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "prefectlabs"; + repo = "burner-redis"; + tag = "v${finalAttrs.version}"; + hash = "sha256-soXwXxo8vVGEEM5iDNFa86zlPA+e74b+AS9diUoOdME="; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-0qdmcoRje7OkHnGhO8CaR/g38yL9K8Jc+1KjfW4xPTQ="; + }; + + nativeBuildInputs = [ + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook + ]; + + pythonImportsCheck = [ "burner_redis" ]; + + doCheck = true; + nativeCheckInputs = [ + pytestCheckHook + + pytest-asyncio + redis + ]; + + meta = { + description = "Embedded, in-process Redis-compatible database"; + homepage = "https://github.com/prefectlabs/burner-redis"; + downloadPage = "https://github.com/prefectlabs/burner-redis/releases"; + changelog = "https://github.com/prefectlabs/burner-redis/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ prince213 ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8c0b456452dc..4f5a793f86e2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2405,6 +2405,8 @@ self: super: with self; { bundlewrap-teamvault = callPackage ../development/python-modules/bundlewrap-teamvault { }; + burner-redis = callPackage ../development/python-modules/burner-redis { }; + busylight-core = callPackage ../development/python-modules/busylight-core { }; busylight-for-humans = callPackage ../development/python-modules/busylight-for-humans { }; From d5be99d65e2020960c1427541ad92235e7269ead Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Fri, 8 May 2026 19:05:07 +0800 Subject: [PATCH 13/88] python3Packages.uncalled-for: 0.3.1 -> 0.3.2 --- pkgs/development/python-modules/uncalled-for/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/uncalled-for/default.nix b/pkgs/development/python-modules/uncalled-for/default.nix index 7c426ae9ecce..40667a22fd56 100644 --- a/pkgs/development/python-modules/uncalled-for/default.nix +++ b/pkgs/development/python-modules/uncalled-for/default.nix @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { pname = "uncalled-for"; - version = "0.3.1"; + version = "0.3.2"; pyproject = true; __structuredAttrs = true; @@ -25,7 +25,7 @@ buildPythonPackage (finalAttrs: { owner = "chrisguidry"; repo = "uncalled-for"; tag = finalAttrs.version; - hash = "sha256-+akXLsfto3FNbkpsPPwN1DQmvu3BpTafRbqLmLwtqek="; + hash = "sha256-5jFMlynYaxd83SQiZ1uPs1whWFgKP4y6s473TplH4iI="; }; build-system = [ From ceeb4f09855d4dcd58be6d90875ac2267c11215b Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Tue, 28 Apr 2026 10:56:35 +0800 Subject: [PATCH 14/88] python3Packages.pydocket: 0.17.1 -> 0.20.1 --- .../python-modules/pydocket/default.nix | 46 +++++++++++++------ 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/pydocket/default.nix b/pkgs/development/python-modules/pydocket/default.nix index 0bbd557b70de..256562709b55 100644 --- a/pkgs/development/python-modules/pydocket/default.nix +++ b/pkgs/development/python-modules/pydocket/default.nix @@ -2,17 +2,18 @@ lib, buildPythonPackage, fetchFromGitHub, + pytestCheckHook, # build-system hatch-vcs, hatchling, # dependencies + burner-redis, cloudpickle, - fakeredis, + cronsim, opentelemetry-api, - opentelemetry-exporter-prometheus, - opentelemetry-instrumentation, + opentelemetry-sdk, prometheus-client, py-key-value-aio, python-json-logger, @@ -20,18 +21,25 @@ rich, typer, typing-extensions, + uncalled-for, + + docker, + pytest-asyncio, + pytest-cov, + pytest-timeout, + pytest-xdist, }: buildPythonPackage (finalAttrs: { pname = "pydocket"; - version = "0.17.1"; + version = "0.20.1"; pyproject = true; src = fetchFromGitHub { owner = "chrisguidry"; repo = "docket"; tag = finalAttrs.version; - hash = "sha256-p3FqIHulsBxI7oyiahEruARXBuA2QAYdQeVh83OFHbg="; + hash = "sha256-QCx1tpiMkyIveay3OwnjcTRb8pTJNcTjOyor59oYHqQ="; }; build-system = [ @@ -39,17 +47,11 @@ buildPythonPackage (finalAttrs: { hatchling ]; - pythonRelaxDeps = [ - "fakeredis" - "opentelemetry-exporter-prometheus" - "opentelemetry-instrumentation" - ]; dependencies = [ + burner-redis cloudpickle - fakeredis + cronsim opentelemetry-api - opentelemetry-exporter-prometheus - opentelemetry-instrumentation prometheus-client py-key-value-aio python-json-logger @@ -57,15 +59,31 @@ buildPythonPackage (finalAttrs: { rich typer typing-extensions + uncalled-for ] - ++ fakeredis.optional-dependencies.lua ++ py-key-value-aio.optional-dependencies.memory ++ py-key-value-aio.optional-dependencies.redis; + optional-dependencies = { + metrics = [ + opentelemetry-sdk + ]; + }; + pythonImportsCheck = [ "docket" ]; # All tests require internet access doCheck = false; + nativeCheckInputs = [ + pytestCheckHook + + docker + opentelemetry-sdk + pytest-asyncio + pytest-cov + pytest-timeout + pytest-xdist + ]; meta = { description = "Distributed background task system for Python"; From 71081b578dc79915ba20750d52108e754f2d9091 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Tue, 28 Apr 2026 10:46:48 +0800 Subject: [PATCH 15/88] prefect: use toPythonApplication --- pkgs/by-name/pr/prefect/package.nix | 208 +------------- .../python-modules/prefect/default.nix | 268 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 +- 3 files changed, 270 insertions(+), 208 deletions(-) create mode 100644 pkgs/development/python-modules/prefect/default.nix diff --git a/pkgs/by-name/pr/prefect/package.nix b/pkgs/by-name/pr/prefect/package.nix index c23de54e11c9..3665acfe6825 100644 --- a/pkgs/by-name/pr/prefect/package.nix +++ b/pkgs/by-name/pr/prefect/package.nix @@ -1,207 +1 @@ -{ - lib, - python3Packages, - fetchPypi, - nixosTests, - nix-update-script, -}: - -python3Packages.buildPythonApplication rec { - pname = "prefect"; - version = "3.5.0"; - pyproject = true; - - # Trying to install from source is challenging - # the packaging is using versioningit and looking for - # .git directory - # Source will be missing sdist, uv.lock, ui artefacts ... - src = fetchPypi { - inherit pname version; - hash = "sha256-BazzO+gR/mLcx+tlysPMJzcqmctUU0LSYL0YMZMyVrg="; - }; - - pythonRelaxDeps = [ - "websockets" - "typer" - ]; - - build-system = with python3Packages; [ - hatchling - versioningit - ]; - - dependencies = - with python3Packages; - [ - aiosqlite - alembic - apprise - asyncpg - click - cryptography - dateparser - docker - graphviz - jinja2 - jinja2-humanize-extension - humanize - pytz - readchar - sqlalchemy - typer - # client dependencies - anyio - asgi-lifespan - cachetools - cloudpickle - coolname - exceptiongroup - fastapi - fsspec - # graphviz already included - griffe - httpcore - httpx - jsonpatch - jsonschema - opentelemetry-api - orjson - packaging - pathspec - pendulum - pluggy - prometheus-client - pydantic - pydantic-core - pydantic-extra-types - pydantic-settings - python-dateutil - python-slugify - python-socks - pyyaml - rfc3339-validator - rich - ruamel-yaml - semver - sniffio - toml - typing-extensions - ujson - uvicorn - websockets - whenever - uv - semver - ] - ++ sqlalchemy.optional-dependencies.asyncio - ++ httpx.optional-dependencies.http2; - - optional-dependencies = with python3Packages; { - aws = [ - # prefect-aws - ]; - azure = [ - # prefect-azure - ]; - bitbucket = [ - # prefect-bitbucket - ]; - dask = [ - # prefect-dask - ]; - databricks = [ - # prefect-databricks - ]; - dbt = [ - # prefect-dbt - ]; - docker = [ - # prefect-docker - ]; - email = [ - # prefect-email - ]; - gcp = [ - # prefect-gcp - ]; - github = [ - # prefect-github - ]; - gitlab = [ - # prefect-gitlab - ]; - kubernetes = [ - # prefect-kubernetes - ]; - otel = [ - opentelemetry-distro - opentelemetry-exporter-otlp - opentelemetry-instrumentation - opentelemetry-instrumentation-logging - opentelemetry-test-utils - ]; - ray = [ - # prefect-ray - ]; - redis = [ - # prefect-redis - ]; - shell = [ - # prefect-shell - ]; - slack = [ - # prefect-slack - ]; - snowflake = [ - # prefect-snowflake - ]; - sqlalchemy = [ - # prefect-sqlalchemy - ]; - }; - - makeWrapperArgs = [ - # Add the installed directories to the python path so the worker can find them - "--prefix PYTHONPATH : ${python3Packages.makePythonPath dependencies}" - "--prefix PYTHONPATH : $out/${python3Packages.python.sitePackages}" - ]; - - passthru.tests = { - inherit (nixosTests) prefect; - - updateScript = nix-update-script { - extraArgs = [ - # avoid pre‐releases - "--version-regex" - "^(\\d+\\.\\d+\\.\\d+)$" - ]; - }; - }; - - # Tests are not included in the pypi source - doCheck = false; - # nativeCheckInputs = ( - # with python3Packages; - # [ - # pytestCheckHook - # pytest-asyncio - # pytest-cov - # pytest-env - # # pytest-flakefinder - # pytest-mypy-plugins - # pytest-timeout - # pytest-xdist - # ] - # ); - - meta = { - description = "Workflow orchestration framework for building resilient data pipelines in Python"; - homepage = "https://github.com/PrefectHQ/prefect"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ - happysalada - mrmebelman - ]; - mainProgram = "prefect"; - }; -} +{ python3Packages }: python3Packages.toPythonApplication python3Packages.prefect diff --git a/pkgs/development/python-modules/prefect/default.nix b/pkgs/development/python-modules/prefect/default.nix new file mode 100644 index 000000000000..9514992b7988 --- /dev/null +++ b/pkgs/development/python-modules/prefect/default.nix @@ -0,0 +1,268 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + makePythonPath, + nixosTests, + nix-update-script, + python, + + aiosqlite, + alembic, + anyio, + apprise, + asgi-lifespan, + asyncpg, + cachetools, + click, + cloudpickle, + coolname, + cryptography, + dateparser, + docker, + exceptiongroup, + fastapi, + fsspec, + graphviz, + griffe, + hatchling, + httpcore, + httpx, + humanize, + jinja2-humanize-extension, + jinja2, + jsonpatch, + jsonschema, + opentelemetry-api, + opentelemetry-distro, + opentelemetry-exporter-otlp, + opentelemetry-instrumentation, + opentelemetry-instrumentation-logging, + opentelemetry-test-utils, + orjson, + packaging, + pathspec, + pendulum, + pluggy, + prometheus-client, + pydantic-core, + pydantic-extra-types, + pydantic-settings, + pydantic, + python-dateutil, + python-slugify, + python-socks, + pytz, + pyyaml, + readchar, + rfc3339-validator, + rich, + ruamel-yaml, + semver, + sniffio, + sqlalchemy, + toml, + typer, + typing-extensions, + ujson, + uv, + uvicorn, + versioningit, + websockets, + whenever, +}: + +buildPythonPackage rec { + pname = "prefect"; + version = "3.5.0"; + pyproject = true; + + # Trying to install from source is challenging + # the packaging is using versioningit and looking for + # .git directory + # Source will be missing sdist, uv.lock, ui artefacts ... + src = fetchPypi { + inherit pname version; + hash = "sha256-BazzO+gR/mLcx+tlysPMJzcqmctUU0LSYL0YMZMyVrg="; + }; + + pythonRelaxDeps = [ + "websockets" + "typer" + ]; + + build-system = [ + hatchling + versioningit + ]; + + dependencies = [ + aiosqlite + alembic + apprise + asyncpg + click + cryptography + dateparser + docker + graphviz + jinja2 + jinja2-humanize-extension + humanize + pytz + readchar + sqlalchemy + typer + # client dependencies + anyio + asgi-lifespan + cachetools + cloudpickle + coolname + exceptiongroup + fastapi + fsspec + # graphviz already included + griffe + httpcore + httpx + jsonpatch + jsonschema + opentelemetry-api + orjson + packaging + pathspec + pendulum + pluggy + prometheus-client + pydantic + pydantic-core + pydantic-extra-types + pydantic-settings + python-dateutil + python-slugify + python-socks + pyyaml + rfc3339-validator + rich + ruamel-yaml + semver + sniffio + toml + typing-extensions + ujson + uvicorn + websockets + whenever + uv + semver + ] + ++ sqlalchemy.optional-dependencies.asyncio + ++ httpx.optional-dependencies.http2; + + optional-dependencies = { + aws = [ + # prefect-aws + ]; + azure = [ + # prefect-azure + ]; + bitbucket = [ + # prefect-bitbucket + ]; + dask = [ + # prefect-dask + ]; + databricks = [ + # prefect-databricks + ]; + dbt = [ + # prefect-dbt + ]; + docker = [ + # prefect-docker + ]; + email = [ + # prefect-email + ]; + gcp = [ + # prefect-gcp + ]; + github = [ + # prefect-github + ]; + gitlab = [ + # prefect-gitlab + ]; + kubernetes = [ + # prefect-kubernetes + ]; + otel = [ + opentelemetry-distro + opentelemetry-exporter-otlp + opentelemetry-instrumentation + opentelemetry-instrumentation-logging + opentelemetry-test-utils + ]; + ray = [ + # prefect-ray + ]; + redis = [ + # prefect-redis + ]; + shell = [ + # prefect-shell + ]; + slack = [ + # prefect-slack + ]; + snowflake = [ + # prefect-snowflake + ]; + sqlalchemy = [ + # prefect-sqlalchemy + ]; + }; + + makeWrapperArgs = [ + # Add the installed directories to the python path so the worker can find them + "--prefix PYTHONPATH : ${makePythonPath dependencies}" + "--prefix PYTHONPATH : $out/${python.sitePackages}" + ]; + + passthru.tests = { + inherit (nixosTests) prefect; + + updateScript = nix-update-script { + extraArgs = [ + # avoid pre‐releases + "--version-regex" + "^(\\d+\\.\\d+\\.\\d+)$" + ]; + }; + }; + + # Tests are not included in the pypi source + doCheck = false; + # nativeCheckInputs = [ + # pytestCheckHook + # pytest-asyncio + # pytest-cov + # pytest-env + # # pytest-flakefinder + # pytest-mypy-plugins + # pytest-timeout + # pytest-xdist + # ]; + + meta = { + description = "Workflow orchestration framework for building resilient data pipelines in Python"; + homepage = "https://github.com/PrefectHQ/prefect"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + happysalada + mrmebelman + ]; + mainProgram = "prefect"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4f5a793f86e2..fa10652eb08e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12905,7 +12905,7 @@ self: super: with self; { precisely = callPackage ../development/python-modules/precisely { }; - prefect = toPythonModule pkgs.prefect; + prefect = callPackage ../development/python-modules/prefect { }; prefixed = callPackage ../development/python-modules/prefixed { }; From ba32be8d8973392554ac4e5e20f97fec98109c56 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Tue, 28 Apr 2026 10:56:35 +0800 Subject: [PATCH 16/88] python3Packages.prefect: 3.5.0 -> 3.7.0 --- .../python-modules/prefect/default.nix | 94 +++++++++---------- 1 file changed, 45 insertions(+), 49 deletions(-) diff --git a/pkgs/development/python-modules/prefect/default.nix b/pkgs/development/python-modules/prefect/default.nix index 9514992b7988..6e5166a7930b 100644 --- a/pkgs/development/python-modules/prefect/default.nix +++ b/pkgs/development/python-modules/prefect/default.nix @@ -1,14 +1,17 @@ { lib, buildPythonPackage, - fetchPypi, - makePythonPath, + fetchFromGitHub, nixosTests, nix-update-script, - python, + pythonAtLeast, + pythonOlder, + replaceVars, + writeShellScriptBin, aiosqlite, alembic, + amplitude-analytics, anyio, apprise, asgi-lifespan, @@ -18,6 +21,7 @@ cloudpickle, coolname, cryptography, + cyclopts, dateparser, docker, exceptiongroup, @@ -38,6 +42,7 @@ opentelemetry-exporter-otlp, opentelemetry-instrumentation, opentelemetry-instrumentation-logging, + opentelemetry-instrumentation-system-metrics, opentelemetry-test-utils, orjson, packaging, @@ -49,22 +54,22 @@ pydantic-extra-types, pydantic-settings, pydantic, + pydocket, python-dateutil, + python-on-whales, python-slugify, - python-socks, pytz, pyyaml, readchar, rfc3339-validator, rich, + ruamel-yaml-clib, ruamel-yaml, semver, sniffio, sqlalchemy, toml, - typer, typing-extensions, - ujson, uv, uvicorn, versioningit, @@ -72,23 +77,28 @@ whenever, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "prefect"; - version = "3.5.0"; + version = "3.7.0"; pyproject = true; - # Trying to install from source is challenging - # the packaging is using versioningit and looking for - # .git directory - # Source will be missing sdist, uv.lock, ui artefacts ... - src = fetchPypi { - inherit pname version; - hash = "sha256-BazzO+gR/mLcx+tlysPMJzcqmctUU0LSYL0YMZMyVrg="; + src = fetchFromGitHub { + owner = "PrefectHQ"; + repo = "prefect"; + tag = finalAttrs.version; + hash = "sha256-AfiXH9u6W6UpE8hepNzPGIm1cxC+5RonhtBYWMu2IaQ="; }; - pythonRelaxDeps = [ - "websockets" - "typer" + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail \ + 'default-version = "3.6.24+nogit"' \ + 'default-version = "${finalAttrs.version}"' + ''; + + # versioningit: NotVCSError: Git not installed; assuming this isn't a Git repository + nativeBuildInputs = [ + (writeShellScriptBin "git" "false") ]; build-system = [ @@ -103,17 +113,16 @@ buildPythonPackage rec { asyncpg click cryptography + cyclopts dateparser docker - graphviz jinja2 jinja2-humanize-extension - humanize pytz readchar sqlalchemy - typer # client dependencies + amplitude-analytics anyio asgi-lifespan cachetools @@ -122,43 +131,42 @@ buildPythonPackage rec { exceptiongroup fastapi fsspec - # graphviz already included + graphviz griffe httpcore httpx + humanize jsonpatch jsonschema opentelemetry-api orjson packaging pathspec - pendulum pluggy prometheus-client pydantic pydantic-core pydantic-extra-types pydantic-settings + pydocket python-dateutil python-slugify - python-socks pyyaml rfc3339-validator rich ruamel-yaml + ruamel-yaml-clib semver sniffio toml typing-extensions - ujson uvicorn websockets - whenever - uv - semver ] ++ sqlalchemy.optional-dependencies.asyncio - ++ httpx.optional-dependencies.http2; + ++ httpx.optional-dependencies.http2 + ++ lib.optional (pythonOlder "3.13") pendulum + ++ lib.optional (pythonAtLeast "3.13") whenever; optional-dependencies = { aws = [ @@ -170,6 +178,12 @@ buildPythonPackage rec { bitbucket = [ # prefect-bitbucket ]; + buildx = [ + python-on-whales + ]; + bundles = [ + uv + ]; dask = [ # prefect-dask ]; @@ -202,6 +216,7 @@ buildPythonPackage rec { opentelemetry-exporter-otlp opentelemetry-instrumentation opentelemetry-instrumentation-logging + opentelemetry-instrumentation-system-metrics opentelemetry-test-utils ]; ray = [ @@ -224,12 +239,6 @@ buildPythonPackage rec { ]; }; - makeWrapperArgs = [ - # Add the installed directories to the python path so the worker can find them - "--prefix PYTHONPATH : ${makePythonPath dependencies}" - "--prefix PYTHONPATH : $out/${python.sitePackages}" - ]; - passthru.tests = { inherit (nixosTests) prefect; @@ -242,19 +251,6 @@ buildPythonPackage rec { }; }; - # Tests are not included in the pypi source - doCheck = false; - # nativeCheckInputs = [ - # pytestCheckHook - # pytest-asyncio - # pytest-cov - # pytest-env - # # pytest-flakefinder - # pytest-mypy-plugins - # pytest-timeout - # pytest-xdist - # ]; - meta = { description = "Workflow orchestration framework for building resilient data pipelines in Python"; homepage = "https://github.com/PrefectHQ/prefect"; @@ -265,4 +261,4 @@ buildPythonPackage rec { ]; mainProgram = "prefect"; }; -} +}) From b323966ae803c7c4f497684cc5e5721acf42d836 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Wed, 29 Apr 2026 10:59:46 +0800 Subject: [PATCH 17/88] nixosTests.prefect: fix --- nixos/tests/prefect.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/tests/prefect.nix b/nixos/tests/prefect.nix index 0e2f1a36c687..c54a69f89e43 100644 --- a/nixos/tests/prefect.nix +++ b/nixos/tests/prefect.nix @@ -11,6 +11,7 @@ in { services.prefect = { enable = true; + baseUrl = "http://127.0.0.1"; }; }; }; @@ -18,7 +19,7 @@ in testScript = '' machine.start() machine.wait_for_unit("prefect-server.service") - machine.wait_for_open_port("${mainPort}") + machine.wait_for_open_port(${mainPort}) ''; meta = with lib.maintainers; { From c69e85dc55537c6ab63c517f6a22dc272604faf4 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Wed, 29 Apr 2026 18:28:21 +0800 Subject: [PATCH 18/88] python3Packages.prefect: add check dependencies --- .../python-modules/prefect/default.nix | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/pkgs/development/python-modules/prefect/default.nix b/pkgs/development/python-modules/prefect/default.nix index 6e5166a7930b..900f3de319e8 100644 --- a/pkgs/development/python-modules/prefect/default.nix +++ b/pkgs/development/python-modules/prefect/default.nix @@ -4,9 +4,11 @@ fetchFromGitHub, nixosTests, nix-update-script, + pytestCheckHook, pythonAtLeast, pythonOlder, replaceVars, + writableTmpDirAsHomeHook, writeShellScriptBin, aiosqlite, @@ -16,6 +18,7 @@ apprise, asgi-lifespan, asyncpg, + boto3, cachetools, click, cloudpickle, @@ -37,12 +40,15 @@ jinja2, jsonpatch, jsonschema, + moto, + numpy, opentelemetry-api, opentelemetry-distro, opentelemetry-exporter-otlp, opentelemetry-instrumentation, opentelemetry-instrumentation-logging, opentelemetry-instrumentation-system-metrics, + opentelemetry-sdk, opentelemetry-test-utils, orjson, packaging, @@ -55,12 +61,17 @@ pydantic-settings, pydantic, pydocket, + pytest-asyncio, + pytest-env, + pytest-timeout, + pytest-xdist, python-dateutil, python-on-whales, python-slugify, pytz, pyyaml, readchar, + respx, rfc3339-validator, rich, ruamel-yaml-clib, @@ -73,8 +84,10 @@ uv, uvicorn, versioningit, + watchfiles, websockets, whenever, + yamllint, }: buildPythonPackage (finalAttrs: { @@ -94,6 +107,12 @@ buildPythonPackage (finalAttrs: { --replace-fail \ 'default-version = "3.6.24+nogit"' \ 'default-version = "${finalAttrs.version}"' + '' + + lib.optionalString finalAttrs.doCheck '' + substituteInPlace src/prefect/__init__.py \ + --replace-fail \ + '__development_base_path__: pathlib.Path = __module_path__.parents[1]' \ + '__development_base_path__: pathlib.Path = pathlib.Path("${finalAttrs.src}")' ''; # versioningit: NotVCSError: Git not installed; assuming this isn't a Git repository @@ -251,6 +270,28 @@ buildPythonPackage (finalAttrs: { }; }; + # FIXME: build killed at ~30% + doCheck = false; + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + + boto3 + moto + numpy + opentelemetry-sdk + opentelemetry-test-utils + pytest-asyncio + pytest-env + pytest-timeout + pytest-xdist + respx + uv + uvicorn + watchfiles + yamllint + ]; + meta = { description = "Workflow orchestration framework for building resilient data pipelines in Python"; homepage = "https://github.com/PrefectHQ/prefect"; From 3dabcae4c36bc10eecf4a30b4240808ab5a03122 Mon Sep 17 00:00:00 2001 From: isabel Date: Fri, 8 May 2026 23:51:15 +0100 Subject: [PATCH 19/88] anda: init at 0.5.4 --- pkgs/by-name/an/anda/package.nix | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkgs/by-name/an/anda/package.nix diff --git a/pkgs/by-name/an/anda/package.nix b/pkgs/by-name/an/anda/package.nix new file mode 100644 index 000000000000..e91fa0e1f19a --- /dev/null +++ b/pkgs/by-name/an/anda/package.nix @@ -0,0 +1,46 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + libgit2, + openssl, + zlib, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "anda"; + version = "0.5.4"; + + src = fetchFromGitHub { + owner = "FyraLabs"; + repo = "anda"; + tag = finalAttrs.version; + hash = "sha256-z+oYerTP0xJ4QuHtB7uH2nTVEqFsGb2FTpk2wNpMZKU="; + }; + + cargoHash = "sha256-uoDAfsHIAJsgcMljDqCHwaHvfVZYok2GsuG8y7N0NAg="; + + __structuredAttrs = true; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libgit2 + openssl + zlib + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "A modern Build/CI System"; + homepage = "https://github.com/FyraLabs/anda"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ isabelroses ]; + mainProgram = "anda"; + }; +}) From 992b64aeaab6e5e1117bec203909affd61f381d8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 9 May 2026 02:14:34 +0000 Subject: [PATCH 20/88] ggml: 0.10.1 -> 0.11.0 --- pkgs/by-name/gg/ggml/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gg/ggml/package.nix b/pkgs/by-name/gg/ggml/package.nix index 9d28576a7b8d..fcff606fa304 100644 --- a/pkgs/by-name/gg/ggml/package.nix +++ b/pkgs/by-name/gg/ggml/package.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "ggml"; - version = "0.10.1"; + version = "0.11.0"; __structuredAttrs = true; strictDeps = true; @@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "ggml-org"; repo = "ggml"; tag = "v${finalAttrs.version}"; - hash = "sha256-fwENyDSRq6ecq0zKC4nnpJCs9X15et+JFTQKX4gLDng="; + hash = "sha256-T/dacPlHo7wy1+lMYQdTPd+7exNDuKvZNeuvPDbKJJ0="; }; # The cmake package does not handle absolute CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR From 33802474b1321fe0104a9d6384d03ddecffbaa9d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 9 May 2026 07:13:32 +0000 Subject: [PATCH 21/88] gallery-dl: 1.31.10 -> 1.32.1 --- pkgs/by-name/ga/gallery-dl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ga/gallery-dl/package.nix b/pkgs/by-name/ga/gallery-dl/package.nix index e14efc3c0ab6..a7e3de1ed9e4 100644 --- a/pkgs/by-name/ga/gallery-dl/package.nix +++ b/pkgs/by-name/ga/gallery-dl/package.nix @@ -8,14 +8,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "gallery-dl"; - version = "1.31.10"; + version = "1.32.1"; pyproject = true; src = fetchFromCodeberg { owner = "mikf"; repo = "gallery-dl"; tag = "v${finalAttrs.version}"; - hash = "sha256-npt9jbBBHgjURmayhNgkSTQZYLC1aysDR83dLOm2Z/s="; + hash = "sha256-5GVwCVpoxpC32VHh1Ju50bhtvwTmZQnuqEIPFu99njQ="; }; build-system = [ python3Packages.setuptools ]; From f61ec2773ff5d21158b81109c6072a8d3f522c1d Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Sat, 9 May 2026 09:17:34 +0200 Subject: [PATCH 22/88] xdp-tools: enable parallel building Tested at -j8. --- pkgs/by-name/xd/xdp-tools/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/xd/xdp-tools/package.nix b/pkgs/by-name/xd/xdp-tools/package.nix index 55284f9c2bab..1e5e8067a0a0 100644 --- a/pkgs/by-name/xd/xdp-tools/package.nix +++ b/pkgs/by-name/xd/xdp-tools/package.nix @@ -74,6 +74,8 @@ stdenv.mkDerivation (finalAttrs: { "LIBDIR=$(lib)/lib" ]; + enableParallelBuilding = true; + postInstall = '' # Note that even the static libxdp would refer to BPF_OBJECT_DIR ?=$(LIBDIR)/bpf rm "$lib"/lib/*.a From bb7a68d6735278d0728c120ca919ba7115ba2122 Mon Sep 17 00:00:00 2001 From: Vollate Date: Sat, 9 May 2026 15:46:21 +0800 Subject: [PATCH 23/88] maintainers: add vollate --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5dcf220d941a..22ec6efc28e8 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -28964,6 +28964,13 @@ githubId = 5604643; name = "Mikhail Volkhov"; }; + vollate = { + name = "Vollate"; + email = "uint44t@gmail.com"; + github = "vollate"; + githubId = 90166078; + keys = [ { fingerprint = "A5B9 B2C5 8C04 DCB6 A157 566A 9CDF DE55 0783 E7BB"; } ]; + }; vonfry = { email = "nixos@vonfry.name"; github = "Vonfry"; From 153b86ec54f2d8fbad7e89206df31b0ff957c9e3 Mon Sep 17 00:00:00 2001 From: Pierre Roux Date: Sat, 9 May 2026 09:45:45 +0200 Subject: [PATCH 24/88] coqPackages.trakt: now uses dune --- pkgs/development/coq-modules/trakt/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/coq-modules/trakt/default.nix b/pkgs/development/coq-modules/trakt/default.nix index c0de83cdab4e..786ab879f697 100644 --- a/pkgs/development/coq-modules/trakt/default.nix +++ b/pkgs/development/coq-modules/trakt/default.nix @@ -10,6 +10,7 @@ mkCoqDerivation { pname = "trakt"; owner = "ecranceMERCE"; + opam-name = "rocq-trakt"; release."1.0".sha256 = "sha256-Qhw5fWFYxUFO2kIWWz/og+4fuy9aYG27szfNk3IglhY="; release."1.1".sha256 = "sha256-JmrtM9WcT8Bfy0WZCw8xdubuMomyXmfLXJwpnCNrvsg="; @@ -42,6 +43,8 @@ mkCoqDerivation { stdlib ]; + useDuneifVersion = v: v != null && (v == "dev" || lib.versions.isGt "1.2.1" v); + meta = { description = "Generic goal preprocessing tool for proof automation tactics in Coq"; maintainers = with lib.maintainers; [ siraben ]; From 8421622019a8d95f52055116468bd7d03cc85425 Mon Sep 17 00:00:00 2001 From: magicquark <198001825+magicquark@users.noreply.github.com> Date: Sat, 9 May 2026 09:22:03 +0100 Subject: [PATCH 25/88] hunspellDicts.en*: 2020.12.07 -> 2026.02.25 Release: https://github.com/en-wl/wordlist/releases/tag/rel-2026.02.25 Mirror: https://sourceforge.net/projects/wordlist/files/speller/2026.02.25/ --- pkgs/by-name/hu/hunspell/dictionaries.nix | 38 +++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/hu/hunspell/dictionaries.nix b/pkgs/by-name/hu/hunspell/dictionaries.nix index c24e5e356ead..1fa3ea9a7839 100644 --- a/pkgs/by-name/hu/hunspell/dictionaries.nix +++ b/pkgs/by-name/hu/hunspell/dictionaries.nix @@ -194,7 +194,7 @@ let }: mkDict rec { inherit src srcFileName dictFileName; - version = "2020.12.07"; + version = "2026.02.25"; pname = "hunspell-dict-${shortName}-wordlist"; srcReadmeFile = "README_" + srcFileName + ".txt"; readmeFile = "README_" + dictFileName + ".txt"; @@ -376,8 +376,8 @@ rec { srcFileName = "en_US"; dictFileName = "en_US"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_US-2020.12.07.zip"; - hash = "sha256-YWNIrWRacW2RyKZkUGXnEPFendo//vYM337IpOJ5da8="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_US-2026.02.25.zip"; + hash = "sha256-rI5zMQ6VHYjFLCzyulTOrKNPhIaoFjCsinXcX5MRefk="; }; }; @@ -388,8 +388,8 @@ rec { srcFileName = "en_US-large"; dictFileName = "en_US"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_US-large-2020.12.07.zip"; - hash = "sha256-WpNhcxL/t8zMVMj9ij5nEusOnNSmnx01i4LrTTUgcrc="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_US-large-2026.02.25.zip"; + hash = "sha256-BqtaKhLCkDPxAJiNOwpeU9ytQL8kc8y3gnBhnR2pkyE="; }; }; @@ -400,8 +400,8 @@ rec { srcFileName = "en_CA"; dictFileName = "en_CA"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_CA-2020.12.07.zip"; - hash = "sha256-/2uR5O12g0jGGufDJuhIBZgQ+kOl1gHfaz9FrZwO9b8="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_CA-2026.02.25.zip"; + hash = "sha256-Kf4AUECMNWFPIr6oQzi0JWliyJ9e8l2sUDgyW8uG9CQ="; }; }; @@ -412,8 +412,8 @@ rec { srcFileName = "en_CA-large"; dictFileName = "en_CA"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_CA-large-2020.12.07.zip"; - hash = "sha256-RjRIkIb2QDeveqpLyo1s4X90QrZiYylW5d1MCU+Hvuo="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_CA-large-2026.02.25.zip"; + hash = "sha256-tLe/SniF3hw1+hs6poMXIJr6WPBNYOigfhJGk0hcWeM="; }; }; @@ -424,8 +424,8 @@ rec { srcFileName = "en_AU"; dictFileName = "en_AU"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2020.12.07/hunspell-en_AU-2020.12.07.zip"; - hash = "sha256-3CBVfEiuGXl4Tnn65vll6ZnI2y6aD4RjSOcAV/znglQ="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_AU-2026.02.25.zip"; + hash = "sha256-+FRxWTuXRPZCmMAtB/ti1Ykmv4H7XkVS4rrGRb+kAeA="; }; }; @@ -436,8 +436,8 @@ rec { srcFileName = "en_AU-large"; dictFileName = "en_AU"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_AU-large-2020.12.07.zip"; - hash = "sha256-SW5HeuewGMe+Ng5gqqL5jn8cl8eJLfk7JFcRJCTGHjE="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_AU-large-2026.02.25.zip"; + hash = "sha256-RqJliD0dAciJtxc7ocq64MqRWqQD1qL5PO5MxmEIfbQ="; }; }; @@ -448,8 +448,8 @@ rec { srcFileName = "en_GB-ise"; dictFileName = "en_GB"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-ise-2020.12.07.zip"; - hash = "sha256-LO1LLsnRiMO1QNu3W1FD9luZDa8XQ3dYcm/x+rXwGtM="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_GB-ise-2026.02.25.zip"; + hash = "sha256-1vu5GueCTFL7AvdNe8LNkJLxMPrsYPQjJqWUN/pyR6M="; }; }; @@ -460,8 +460,8 @@ rec { srcFileName = "en_GB-ize"; dictFileName = "en_GB"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-ize-2020.12.07.zip"; - hash = "sha256-hpt0nsmAW4fNBfQzB/IJmGUTMbWqWwRQZBOvDC3y8jE="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_GB-ize-2026.02.25.zip"; + hash = "sha256-xb3ZL8HiHadQOTn+QTnzbyjwHBisNeL8kLUmobe/sJk="; }; }; @@ -472,8 +472,8 @@ rec { srcFileName = "en_GB-large"; dictFileName = "en_GB"; src = fetchurl { - url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-large-2020.12.07.zip"; - hash = "sha256-+GvrdyKMc3yMaUaP/E6gZ1EocieIabmKXT7BjxJRB70="; + url = "mirror://sourceforge/wordlist/speller/2026.02.25/hunspell-en_GB-large-2026.02.25.zip"; + hash = "sha256-cEpJQ4o6nU8RzXbbQzprIwuc6HcO4T+ihwAFLEUX3cE="; }; }; From f49f6b255bfff85b5ea21d205d829a87cfbb0bbb Mon Sep 17 00:00:00 2001 From: Jay Turner Date: Sat, 9 May 2026 10:07:21 +0100 Subject: [PATCH 26/88] gitkraken: 12.1.0 -> 12.1.1 --- pkgs/by-name/gi/gitkraken/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/gi/gitkraken/package.nix b/pkgs/by-name/gi/gitkraken/package.nix index 41f8c9b178d7..db7bd6b68f50 100644 --- a/pkgs/by-name/gi/gitkraken/package.nix +++ b/pkgs/by-name/gi/gitkraken/package.nix @@ -56,24 +56,24 @@ let pname = "gitkraken"; - version = "12.1.0"; + version = "12.1.1"; throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; srcs = { x86_64-linux = fetchzip { url = "https://api.gitkraken.dev/releases/production/linux/x64/${version}/gitkraken-amd64.tar.gz"; - hash = "sha256-HLo5cNkA59JBZ43Aea5W4vj2X4UDN0NtaB4VEjDQwvM="; + hash = "sha256-ADOoqHf0RV9MtG7MZUoSH1gzKBN4NwMq2ziiqb5cwnQ="; }; x86_64-darwin = fetchzip { url = "https://api.gitkraken.dev/releases/production/darwin/x64/${version}/GitKraken-v${version}.zip"; - hash = "sha256-SzGcT/2X4OXgtUqKCfE9UkKJsBCrKqj++vTdz2Rqfrc="; + hash = "sha256-YozqeIcfsRN+42aaX/UTSiwieDHTRvtls2d5dx9SYOk="; }; aarch64-darwin = fetchzip { url = "https://api.gitkraken.dev/releases/production/darwin/arm64/${version}/GitKraken-v${version}.zip"; - hash = "sha256-WYhSqRR0bHB1CKGbwSYHWvaCa/GpZCO6X4q6GMLuFpI="; + hash = "sha256-n+V/fV5HgN6WwzTPdU+iGwI/R6f0h9ILoVHAwrOaC90="; }; }; From bd395740757a26a280b31c1116486adf5c9ed09e Mon Sep 17 00:00:00 2001 From: Vollate Date: Sat, 9 May 2026 15:47:24 +0800 Subject: [PATCH 27/88] gui-for-singbox: 1.21.0 -> 1.23.2, patch app's path behavior --- .../frontend-runtime-path.patch | 91 +++++++++++++++++++ pkgs/by-name/gu/gui-for-singbox/package.nix | 28 +++--- .../xdg-path-and-restart-patch.patch | 72 ++++++++++++++- 3 files changed, 177 insertions(+), 14 deletions(-) create mode 100644 pkgs/by-name/gu/gui-for-singbox/frontend-runtime-path.patch diff --git a/pkgs/by-name/gu/gui-for-singbox/frontend-runtime-path.patch b/pkgs/by-name/gu/gui-for-singbox/frontend-runtime-path.patch new file mode 100644 index 000000000000..e4909b9aa0cf --- /dev/null +++ b/pkgs/by-name/gu/gui-for-singbox/frontend-runtime-path.patch @@ -0,0 +1,91 @@ +diff -ruN a/src/constant/kernel.ts b/src/constant/kernel.ts +--- a/src/constant/kernel.ts ++++ b/src/constant/kernel.ts +@@ -300,9 +300,9 @@ + 'run', + '--disable-color', + '-c', +- '$APP_BASE_PATH/$CORE_BASE_PATH/config.json', ++ '$CORE_BASE_PATH/config.json', + '-D', +- '$APP_BASE_PATH/$CORE_BASE_PATH', ++ '$CORE_BASE_PATH', + ], + } + } +diff -ruN a/src/stores/env.ts b/src/stores/env.ts +--- a/src/stores/env.ts ++++ b/src/stores/env.ts +@@ -15,6 +15,7 @@ + appName: '', + appVersion: '', + basePath: '', ++ configPath: '', + appPath: '', + os: '' as OS, + arch: '', +diff -ruN a/src/stores/kernelApi.ts b/src/stores/kernelApi.ts +--- a/src/stores/kernelApi.ts ++++ b/src/stores/kernelApi.ts +@@ -248,8 +248,12 @@ + const runCoreProcess = (isAlpha: boolean) => { + return new Promise((resolve, reject) => { + let output: string ++ const coreWorkingDirectory = ++ envStore.env.os === 'linux' && envStore.env.configPath ++ ? `${envStore.env.configPath}/${CoreWorkingDirectory}` ++ : CoreWorkingDirectory + const pid = ExecBackground( +- CoreWorkingDirectory + '/' + getKernelFileName(isAlpha), ++ coreWorkingDirectory + '/' + getKernelFileName(isAlpha), + getKernelRuntimeArgs(isAlpha), + (out) => { + output = out +@@ -263,8 +267,9 @@ + reject(output) + }, + { +- PidFile: CorePidFilePath, ++ PidFile: coreWorkingDirectory + '/pid.txt', + StopOutputKeyword: CoreStopOutputKeyword, ++ WorkingDirectory: envStore.env.configPath || envStore.env.basePath, + Env: getKernelRuntimeEnv(isAlpha), + }, + ).catch((e) => reject(e)) +diff -ruN a/src/types/app.d.ts b/src/types/app.d.ts +--- a/src/types/app.d.ts ++++ b/src/types/app.d.ts +@@ -19,6 +19,7 @@ + appName: string + appVersion: string + basePath: string ++ configPath: string + appPath: string + os: OS + arch: string +diff -ruN a/src/utils/helper.ts b/src/utils/helper.ts +--- a/src/utils/helper.ts ++++ b/src/utils/helper.ts +@@ -822,9 +822,21 @@ + export const processMagicVariables = (str: string) => { + const { env } = useEnvStore() + let result = str ++ const coreBasePath = ++ env.os === 'linux' && env.configPath ++ ? `${env.configPath}/${CoreWorkingDirectory}` ++ : CoreWorkingDirectory ++ ++ if (env.os === 'linux') { ++ result = result.replaceAll('$APP_BASE_PATH/$CORE_BASE_PATH', coreBasePath) ++ result = result.replaceAll( ++ `${env.basePath}/${CoreWorkingDirectory}`, ++ coreBasePath, ++ ) ++ } + Object.entries({ + $APP_BASE_PATH: env.basePath, +- $CORE_BASE_PATH: CoreWorkingDirectory, ++ $CORE_BASE_PATH: coreBasePath, + }).forEach(([source, target]) => { + result = result.replaceAll(source, target) + }) diff --git a/pkgs/by-name/gu/gui-for-singbox/package.nix b/pkgs/by-name/gu/gui-for-singbox/package.nix index b0db33032e12..e259f199abde 100644 --- a/pkgs/by-name/gu/gui-for-singbox/package.nix +++ b/pkgs/by-name/gu/gui-for-singbox/package.nix @@ -5,11 +5,13 @@ fetchFromGitHub, autoPatchelfHook, copyDesktopItems, + glib-networking, nodejs, pkg-config, pnpm_10, fetchPnpmDeps, pnpmConfigHook, + wrapGAppsHook3, wails, webkitgtk_4_1, makeDesktopItem, @@ -18,20 +20,20 @@ let pname = "gui-for-singbox"; - version = "1.21.0"; + version = "1.23.2"; src = fetchFromGitHub { owner = "GUI-for-Cores"; repo = "GUI.for.SingBox"; tag = "v${version}"; - hash = "sha256-IGsH8QHoj2CvrSEc9eIisxySXQkjPSDBXsCPOXqANVM="; + hash = "sha256-CEJ0yzF2smBlLgZ4EH5UWV4Pc4vA2ZH80TjoudUKWZM="; }; metaCommon = { homepage = "https://github.com/GUI-for-Cores/GUI.for.SingBox"; hydraPlatforms = [ ]; # https://gui-for-cores.github.io/guide/#note license = with lib.licenses; [ gpl3Plus ]; - maintainers = [ ]; + maintainers = with lib.maintainers; [ vollate ]; }; frontend = stdenv.mkDerivation (finalAttrs: { @@ -39,6 +41,8 @@ let sourceRoot = "${finalAttrs.src.name}/frontend"; + patches = [ ./frontend-runtime-path.patch ]; + nativeBuildInputs = [ nodejs pnpmConfigHook @@ -53,8 +57,8 @@ let sourceRoot ; pnpm = pnpm_10; - fetcherVersion = 2; - hash = "sha256-dWqwEnXPT+5N+36szm4AF1ChM9M6UJltct+EtQAofGQ="; + fetcherVersion = 3; + hash = "sha256-m9Rmc9Ww4jb2aQ+RXOwF71daZ6puspdMM/xidnk/YHs="; }; buildPhase = '' @@ -85,22 +89,20 @@ buildGo126Module { patches = [ ./xdg-path-and-restart-patch.patch ]; - # As we need the $out reference, we can't use `replaceVars` here. - postPatch = '' - substituteInPlace bridge/bridge.go \ - --subst-var out - ''; - - vendorHash = "sha256-EeIxt0BzSaZh1F38btUXN9kAvj12nlqEerVgWVGkiuk="; + vendorHash = "sha256-9uWrctbQ+vujb1Q8zT7Bv7rVyNY1rCM577c9caOKRNo="; nativeBuildInputs = [ autoPatchelfHook copyDesktopItems pkg-config wails + wrapGAppsHook3 ]; - buildInputs = [ webkitgtk_4_1 ]; + buildInputs = [ + glib-networking + webkitgtk_4_1 + ]; preBuild = '' cp -r ${frontend} frontend/dist diff --git a/pkgs/by-name/gu/gui-for-singbox/xdg-path-and-restart-patch.patch b/pkgs/by-name/gu/gui-for-singbox/xdg-path-and-restart-patch.patch index b5d9ed7175c1..f2cdd3b28229 100644 --- a/pkgs/by-name/gu/gui-for-singbox/xdg-path-and-restart-patch.patch +++ b/pkgs/by-name/gu/gui-for-singbox/xdg-path-and-restart-patch.patch @@ -1,6 +1,15 @@ +diff -ruN a/bridge/bridge.go b/bridge/bridge.go --- a/bridge/bridge.go +++ b/bridge/bridge.go -@@ -93,7 +93,10 @@ +@@ -50,6 +50,7 @@ + + Env.BasePath = filepath.ToSlash(filepath.Dir(exePath)) + Env.AppName = filepath.Base(exePath) ++ Env.ConfigPath = filepath.ToSlash(GetConfigPath()) + + if slices.Contains(os.Args, "tasksch") { + Env.FromTaskSch = true +@@ -93,7 +94,10 @@ func (a *App) RestartApp() FlagResult { log.Printf("RestartApp") @@ -12,3 +21,64 @@ cmd := exec.Command(exePath) SetCmdWindowHidden(cmd) +@@ -116,6 +120,7 @@ + AppName: Env.AppName, + AppVersion: Env.AppVersion, + BasePath: Env.BasePath, ++ ConfigPath: Env.ConfigPath, + OS: Env.OS, + ARCH: Env.ARCH, + IsPrivileged: Env.IsPrivileged, +@@ -258,7 +263,7 @@ + } + + func loadConfig() { +- b, err := os.ReadFile(Env.BasePath + "/data/user.yaml") ++ b, err := os.ReadFile(GetPath("data/user.yaml")) + if err == nil { + yaml.Unmarshal(b, &Config) + } +diff -ruN a/bridge/types.go b/bridge/types.go +--- a/bridge/types.go ++++ b/bridge/types.go +@@ -21,6 +21,7 @@ + AppName string `json:"appName"` + AppVersion string `json:"appVersion"` + BasePath string `json:"basePath"` ++ ConfigPath string `json:"configPath"` + OS string `json:"os"` + ARCH string `json:"arch"` + IsPrivileged bool `json:"isPrivileged"` +diff -ruN a/bridge/utils.go b/bridge/utils.go +--- a/bridge/utils.go ++++ b/bridge/utils.go +@@ -13,7 +13,29 @@ + "golang.org/x/text/encoding/simplifiedchinese" + ) + ++func GetConfigPath() string { ++ if Env.OS == "linux" { ++ if xdgConfigHome := os.Getenv("XDG_CONFIG_HOME"); xdgConfigHome != "" { ++ return filepath.Join(xdgConfigHome, "GUI.for.SingBox") ++ } ++ if userConfigDir, err := os.UserConfigDir(); err == nil { ++ return filepath.Join(userConfigDir, "GUI.for.SingBox") ++ } ++ } ++ ++ return Env.BasePath ++} ++ + func GetPath(path string) string { ++ if Env.OS == "linux" && !filepath.IsAbs(path) { ++ cleanPath := filepath.ToSlash(filepath.Clean(path)) ++ if cleanPath == "data" { ++ path = filepath.Join(GetConfigPath(), "data") ++ } else if strings.HasPrefix(cleanPath, "data/") { ++ path = filepath.Join(GetConfigPath(), cleanPath) ++ } ++ } ++ + if !filepath.IsAbs(path) { + path = filepath.Join(Env.BasePath, path) + } From 38a6fd89ca841dc8c479f1f93282abfa69dc025f Mon Sep 17 00:00:00 2001 From: Harinn Date: Sat, 9 May 2026 21:55:14 +0700 Subject: [PATCH 28/88] canaille: fix tests with authlib 1.7 --- pkgs/by-name/ca/canaille/package.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/by-name/ca/canaille/package.nix b/pkgs/by-name/ca/canaille/package.nix index 691f2b09065e..abd22b77ef5b 100644 --- a/pkgs/by-name/ca/canaille/package.nix +++ b/pkgs/by-name/ca/canaille/package.nix @@ -2,6 +2,7 @@ lib, python3, fetchFromGitLab, + fetchpatch2, openldap, nixosTests, postgresql, @@ -22,6 +23,20 @@ python.pkgs.buildPythonApplication rec { hash = "sha256-hreEjMrD6mRapgrSDPRWcmqfLxfsOpK7dC8lHJkAY7Y="; }; + patches = [ + # Backport authlib 1.7 compatibility. + (fetchpatch2 { + url = "https://gitlab.com/yaal/canaille/-/commit/b356baa82109a7fdf61a8258572d199ffd3c9604.patch"; + hash = "sha256-f5zJBtm9mJpWra5x4vr07eL9xe381lLFp3lfehc4Ypk="; + }) + # Update OIDC tests for authlib 1.7 behavior. + (fetchpatch2 { + url = "https://gitlab.com/yaal/canaille/-/commit/c1b6d103ebf374cd6a21d9af8376c910c2d0d5d9.patch"; + hash = "sha256-N9kxiKU6iwXq6cw6itZQHairSOgyDgwAVByj0NnxMqY="; + includes = [ "tests/oidc/*" ]; + }) + ]; + build-system = with python.pkgs; [ hatchling babel @@ -79,10 +94,18 @@ python.pkgs.buildPythonApplication rec { export SCHEMA="${openldap}/etc/schema" ''; + # Cap xdist workers; concurrent slapd fixtures race the 10s bind window. + dontUsePytestXdist = true; + pytestFlags = [ "--numprocesses=4" ]; + disabledTests = [ # Tries to use DNS resolution "test_send_new_email_error" "test_send_test_email_ssl" + # flaky: timing-sensitive intruder lockout retry window + "test_intruder_lockout_fail_second_attempt_then_succeed_in_third" + # requires external network for logo fetch + "test_mail_with_unreachable_external_logo" ]; optional-dependencies = with python.pkgs; { From f9be9e95fb727aee64abf98a328b2a0179fc6655 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 9 May 2026 22:54:09 +0200 Subject: [PATCH 29/88] testers.lycheeLinkCheck: use structuredAttrs Makes it easy to use arrays in next commits. --- pkgs/build-support/testers/lychee.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/build-support/testers/lychee.nix b/pkgs/build-support/testers/lychee.nix index bad1656cfc72..1976b6eb959f 100644 --- a/pkgs/build-support/testers/lychee.nix +++ b/pkgs/build-support/testers/lychee.nix @@ -40,6 +40,7 @@ let }: stdenv.mkDerivation (finalAttrs: { name = "lychee-link-check"; + __structuredAttrs = true; inherit site; nativeBuildInputs = [ finalAttrs.passthru.lychee From 71a39baee8b144ddbdf242a6c951c54ddbfa77dc Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 9 May 2026 22:55:43 +0200 Subject: [PATCH 30/88] testers.lycheeLinkCheck: add extraArgs --- doc/build-helpers/testers.chapter.md | 7 +++++++ pkgs/build-support/testers/lychee.nix | 6 ++++-- pkgs/by-name/ly/lychee/tests/network.nix | 21 ++++++++++++++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/doc/build-helpers/testers.chapter.md b/doc/build-helpers/testers.chapter.md index a7741e96562b..632b11ab12ea 100644 --- a/doc/build-helpers/testers.chapter.md +++ b/doc/build-helpers/testers.chapter.md @@ -129,6 +129,13 @@ It has two modes: Example: `{ "include_verbatim" = true; }` +`extraArgs` (list of strings, optional) {#tester-lycheeLinkCheck-param-extraArgs} + +: Extra command line arguments to pass to the `lychee` invocation. + These are passed in both the offline (build) and [`online`](#tester-lycheeLinkCheck-return) modes. + + Example: `[ "--format" "json" ]` + `lychee` (derivation, optional) {#tester-lycheeLinkCheck-param-lychee} : The `lychee` package to use. diff --git a/pkgs/build-support/testers/lychee.nix b/pkgs/build-support/testers/lychee.nix index 1976b6eb959f..493ef3e880f9 100644 --- a/pkgs/build-support/testers/lychee.nix +++ b/pkgs/build-support/testers/lychee.nix @@ -37,6 +37,7 @@ let remap ? { }, lychee ? deps.lychee, extraConfig ? { }, + extraArgs ? [ ], }: stdenv.mkDerivation (finalAttrs: { name = "lychee-link-check"; @@ -47,6 +48,7 @@ let cacert ]; configFile = (formats.toml { }).generate "lychee.toml" finalAttrs.passthru.config; + inherit extraArgs; # These can be overridden with overrideAttrs if needed. passthru = { @@ -69,13 +71,13 @@ let site=${finalAttrs.site} configFile=${finalAttrs.configFile} echo Checking links on $site - exec lychee --config $configFile $site "$@" + exec lychee --config $configFile ${lib.escapeShellArgs extraArgs} $site "$@" ''; }; }; buildCommand = '' echo Checking internal links on $site - lychee --offline --config $configFile $site + lychee --offline --config $configFile "''${extraArgs[@]}" $site touch $out ''; }); diff --git a/pkgs/by-name/ly/lychee/tests/network.nix b/pkgs/by-name/ly/lychee/tests/network.nix index dcaebe7450d5..80345dc840e1 100644 --- a/pkgs/by-name/ly/lychee/tests/network.nix +++ b/pkgs/by-name/ly/lychee/tests/network.nix @@ -14,10 +14,21 @@ let check = config.node.pkgs.testers.lycheeLinkCheck { site = sitePkg; }; + checkJson = config.node.pkgs.testers.lycheeLinkCheck { + site = sitePkg; + extraArgs = [ + "--format" + "json" + ]; + }; in { name = "testers-lychee-link-check-run"; - nodes.client = { ... }: { }; + nodes.client = + { pkgs, ... }: + { + environment.systemPackages = [ pkgs.jq ]; + }; nodes.example = { networking.firewall.allowedTCPPorts = [ 80 ]; services.nginx = { @@ -67,5 +78,13 @@ in client.succeed(""" ${lib.getExe check.online} """) + + # EXTRA ARGS CASE: verify extraArgs are passed through to online wrapper + + with subtest("extraArgs are passed to the online wrapper"): + client.succeed(""" + ${lib.getExe checkJson.online} --output /tmp/lychee.json + jq -e .total /tmp/lychee.json + """) ''; } From e6b8b50ab47213ab5ccb77d8c40a9085c080587a Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 9 May 2026 22:56:45 +0200 Subject: [PATCH 31/88] lychee.tests.fail-emptyDirectory: fix The textual output format changed in the last update, so let's switch this to JSON, so that it's less likely to be affected by similar kinds of changes going forward. --- .../ly/lychee/tests/fail-emptyDirectory.nix | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ly/lychee/tests/fail-emptyDirectory.nix b/pkgs/by-name/ly/lychee/tests/fail-emptyDirectory.nix index e59fc9852fa9..d375679d8bca 100644 --- a/pkgs/by-name/ly/lychee/tests/fail-emptyDirectory.nix +++ b/pkgs/by-name/ly/lychee/tests/fail-emptyDirectory.nix @@ -2,6 +2,7 @@ runCommand, testers, emptyDirectory, + jq, }: let sitePkg = runCommand "site" { } '' @@ -19,14 +20,30 @@ let # cannot check URI: InvalidUrlRemap("The remapping pattern must produce a valid URL, but it is not: /nix/store/4d0ix...empty-directory/foo "https://example.com" = emptyDirectory; }; + extraArgs = [ + "--format" + "json" + "--output" + "${placeholder "out"}" + ]; }; failure = testers.testBuildFailure check; in -runCommand "link-check-fail" { inherit failure; } '' - # The details of the message might change, but we have to make sure the - # correct error is reported, so that we know it's not something else that - # went wrong. - grep 'empty-directory/foo.*Cannot find file' $failure/testBuildFailure.log >/dev/null - touch $out -'' +runCommand "link-check-fail" + { + nativeBuildInputs = [ jq ]; + inherit failure; + } + '' + # The details of the message might change, but we have to make sure the + # correct error is reported, so that we know it's not something else that + # went wrong. + jq -e '.error_map | to_entries[] | .value[] | select(.url | test("empty-directory/foo")) | .status.text | test("File not found")' $failure/result > /dev/null || { + echo Lychee output: + jq . $failure/result + echo 'Did not find expected error in JSON output. Adjust test if behavior is acceptable. It should find the broken link to non-existent `foo`.' + exit 1 + } + touch $out + '' From d8e48b9c9d1bce8f075a372cc4fd7788fd05d842 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 9 May 2026 23:03:35 +0200 Subject: [PATCH 32/88] lychee.tests.network: use with subtest --- pkgs/by-name/ly/lychee/tests/network.nix | 42 +++++++++++------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/pkgs/by-name/ly/lychee/tests/network.nix b/pkgs/by-name/ly/lychee/tests/network.nix index 80345dc840e1..9ed8e4b8e260 100644 --- a/pkgs/by-name/ly/lychee/tests/network.nix +++ b/pkgs/by-name/ly/lychee/tests/network.nix @@ -55,31 +55,29 @@ in curl --fail -v http://example """) - # FAILURE CASE + # TEST CASES - client.succeed(""" - exec 1>&2 - r=0 - ${lib.getExe check.online} || { - r=$? - } - if [[ $r -ne 2 ]]; then - echo "lycheeLinkCheck unexpected exit code $r" - exit 1 - fi - """) + with subtest("online check detects broken links"): + client.succeed(""" + exec 1>&2 + r=0 + ${lib.getExe check.online} || { + r=$? + } + if [[ $r -ne 2 ]]; then + echo "lycheeLinkCheck unexpected exit code $r" + exit 1 + fi + """) - # SUCCESS CASE + with subtest("online check succeeds when links are fixed"): + example.succeed(""" + echo '

foo

' > /var/www/example/foo.html + """) - example.succeed(""" - echo '

foo

' > /var/www/example/foo.html - """) - - client.succeed(""" - ${lib.getExe check.online} - """) - - # EXTRA ARGS CASE: verify extraArgs are passed through to online wrapper + client.succeed(""" + ${lib.getExe check.online} + """) with subtest("extraArgs are passed to the online wrapper"): client.succeed(""" From 139990294c07817ca9d0ef43c82cf93a3d7edd50 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 9 May 2026 21:34:28 +0000 Subject: [PATCH 33/88] python3Packages.aiogram: 3.27.0 -> 3.28.0 --- pkgs/development/python-modules/aiogram/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiogram/default.nix b/pkgs/development/python-modules/aiogram/default.nix index 6202c02c770b..794258dc934a 100644 --- a/pkgs/development/python-modules/aiogram/default.nix +++ b/pkgs/development/python-modules/aiogram/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "aiogram"; - version = "3.27.0"; + version = "3.28.0"; pyproject = true; src = fetchFromGitHub { owner = "aiogram"; repo = "aiogram"; tag = "v${version}"; - hash = "sha256-asMTUfC2hRL8vSmv+q86kKzVNFrT5Nk9pGkSjrFsMuo="; + hash = "sha256-jy0OOeDiDh2ff3wIR6mYc8P8dOIgVeK0WVQYeug4yEI="; }; build-system = [ hatchling ]; From 9874480e5d2d0554a867cea9e0fd8206e4e9954e Mon Sep 17 00:00:00 2001 From: Jay Turner Date: Sun, 10 May 2026 00:04:10 +0100 Subject: [PATCH 34/88] maintainers: add TurnrDev --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 39d1168f859b..612ab115bd15 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -28271,6 +28271,12 @@ githubId = 303489; name = "Manuel BƤrenz"; }; + TurnrDev = { + email = "jaynicholasturner@gmail.com"; + github = "TurnrDev"; + githubId = 11667059; + name = "Jay Turner"; + }; tuxinaut = { email = "trash4you@tuxinaut.de"; github = "tuxinaut"; From 5b98244e9203a16ecef70ec4ff39f86e1acf877c Mon Sep 17 00:00:00 2001 From: Jay Turner Date: Sat, 9 May 2026 10:32:29 +0100 Subject: [PATCH 35/88] gitkraken: add TurnrDev to maintainers --- pkgs/by-name/gi/gitkraken/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/gi/gitkraken/package.nix b/pkgs/by-name/gi/gitkraken/package.nix index db7bd6b68f50..e52f42f0902d 100644 --- a/pkgs/by-name/gi/gitkraken/package.nix +++ b/pkgs/by-name/gi/gitkraken/package.nix @@ -88,6 +88,7 @@ let maintainers = with lib.maintainers; [ nicolas-goudry Rishik-Y + TurnrDev ]; mainProgram = "gitkraken"; }; From 0b6f5a83ce738247654ee04154ba1174acaae1c2 Mon Sep 17 00:00:00 2001 From: Harinn Date: Sun, 10 May 2026 15:31:22 +0700 Subject: [PATCH 36/88] python3Packages.python-redis-lock: 4.0.0 -> 4.0.1 --- .../python-redis-lock/default.nix | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/python-redis-lock/default.nix b/pkgs/development/python-modules/python-redis-lock/default.nix index 3e95435f23f2..8d0ac61711c4 100644 --- a/pkgs/development/python-modules/python-redis-lock/default.nix +++ b/pkgs/development/python-modules/python-redis-lock/default.nix @@ -4,8 +4,7 @@ buildPythonPackage, setuptools, eventlet, - fetchPypi, - fetchpatch, + fetchFromGitHub, gevent, pkgs, process-tests, @@ -16,13 +15,15 @@ buildPythonPackage rec { pname = "python-redis-lock"; - version = "4.0.0"; + version = "4.0.1"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-Sr0Lz0kTasrWZye/VIbdJJQHjKVeSe+mk/eUB3MZCRo="; + src = fetchFromGitHub { + owner = "ionelmc"; + repo = "python-redis-lock"; + tag = "v${version}"; + hash = "sha256-KlmVRglglvj3EuX1m2sLqd/yZeU7CjeRxSUJ/cT4ww4="; }; # Fix django tests @@ -32,11 +33,6 @@ buildPythonPackage rec { ''; patches = [ - # https://github.com/ionelmc/python-redis-lock/pull/119 - (fetchpatch { - url = "https://github.com/ionelmc/python-redis-lock/commit/ae404b7834990b833c1f0f703ec8fbcfecd201c2.patch"; - hash = "sha256-Fo43+pCtnrEMxMdEEdo0YfJGkBlhhH0GjYNgpZeHF3U="; - }) ./test_signal_expiration_increase_sleep.patch ]; From 9baff4c2e14dc66e913102c3345c4071662f7415 Mon Sep 17 00:00:00 2001 From: Harinn Date: Sun, 10 May 2026 16:41:49 +0700 Subject: [PATCH 37/88] python3Packages.pytest-asyncio-cooperative: skip tests broken by pytest 9 --- .../python-modules/pytest-asyncio-cooperative/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/pytest-asyncio-cooperative/default.nix b/pkgs/development/python-modules/pytest-asyncio-cooperative/default.nix index b77d0c6daf98..86ae99c77e9c 100644 --- a/pkgs/development/python-modules/pytest-asyncio-cooperative/default.nix +++ b/pkgs/development/python-modules/pytest-asyncio-cooperative/default.nix @@ -29,6 +29,9 @@ buildPythonPackage rec { "test_session_scope_gen" "test_session_scope_async_gen" "test_retry" + # pytester outcomes shift under pytest 9 (warning -> error) + "test_fixture_nested_exception" + "test_shared_fixture_caching" ]; pythonImportsCheck = [ "pytest_asyncio_cooperative" ]; From 57a5f071f168beec60bf8cb91e8e67134aec9b2d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 10:16:40 +0000 Subject: [PATCH 38/88] gdevelop: 5.6.266 -> 5.6.269 --- pkgs/by-name/gd/gdevelop/darwin.nix | 2 +- pkgs/by-name/gd/gdevelop/linux.nix | 2 +- pkgs/by-name/gd/gdevelop/package.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gd/gdevelop/darwin.nix b/pkgs/by-name/gd/gdevelop/darwin.nix index 0cbf9880c9e3..4b18cf7f7a38 100644 --- a/pkgs/by-name/gd/gdevelop/darwin.nix +++ b/pkgs/by-name/gd/gdevelop/darwin.nix @@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { src = fetchurl { url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip"; - hash = "sha256-vCbvFeSKDujyUwvgYr974OXWU7jKUHOukffBDurS1ik="; + hash = "sha256-B/QyB6ZdyjIBBOOZG1nnVcXyqbPGyf56AndELzi3IZY="; }; sourceRoot = "."; diff --git a/pkgs/by-name/gd/gdevelop/linux.nix b/pkgs/by-name/gd/gdevelop/linux.nix index f1f9929facc7..6cbce1c80e5d 100644 --- a/pkgs/by-name/gd/gdevelop/linux.nix +++ b/pkgs/by-name/gd/gdevelop/linux.nix @@ -13,7 +13,7 @@ let if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}.AppImage"; - hash = "sha256-SpX28ailaBpJ/ARyUVzzZ76Mf3GbTLvNpLiGHv17GQg="; + hash = "sha256-IRSg7/jj8QRvVYuHiYzci/mWrQ2lW6RJy9QdZs/guFI="; } else throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}"; diff --git a/pkgs/by-name/gd/gdevelop/package.nix b/pkgs/by-name/gd/gdevelop/package.nix index 518952b921a6..75cd81c69a39 100644 --- a/pkgs/by-name/gd/gdevelop/package.nix +++ b/pkgs/by-name/gd/gdevelop/package.nix @@ -4,7 +4,7 @@ callPackage, }: let - version = "5.6.266"; + version = "5.6.269"; pname = "gdevelop"; meta = { description = "Graphical Game Development Studio"; From dbd7dfe1e1f3ea473d379b094b4640ce2d3b1fc2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 11:41:10 +0000 Subject: [PATCH 39/88] html2pdf: 0.8.2 -> 0.8.3 --- pkgs/by-name/ht/html2pdf/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ht/html2pdf/package.nix b/pkgs/by-name/ht/html2pdf/package.nix index cc07d2c5fb53..f92ee0545bbd 100644 --- a/pkgs/by-name/ht/html2pdf/package.nix +++ b/pkgs/by-name/ht/html2pdf/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "html2pdf"; - version = "0.8.2"; + version = "0.8.3"; src = fetchFromGitHub { owner = "ilaborie"; repo = "html2pdf"; tag = "v${finalAttrs.version}"; - hash = "sha256-Z1fb7pDjawMIhJgl4ao2VoV6zpfcGy/48Dt7JtIxgJo="; + hash = "sha256-JtBgM95BvCJQwF89+PXkCEdrFDlD+hdceTtI5t6KnUQ="; }; - cargoHash = "sha256-T5A2b7Qcg8dQKndaD8P5RAutBZeINOqIBUHR2VDOeo0="; + cargoHash = "sha256-65do3FDEpGeNX/u9KS+F5yigwBfgVNUBhZImjbWFydU="; # Avoiding "rustfmt not found" error in auto_generate_cdp. # ref: https://github.com/mdrokz/auto_generate_cdp/pull/8 From 96a0a3427a35e6899391ad1fa305f6772defdb32 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 12:04:51 +0000 Subject: [PATCH 40/88] itgmaniaPackages.itg3encore: 0-unstable-2026-04-29 -> 0-unstable-2026-05-10 --- pkgs/by-name/it/itgmania/themes/itg3encore.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/it/itgmania/themes/itg3encore.nix b/pkgs/by-name/it/itgmania/themes/itg3encore.nix index 1056080e6860..836834e97366 100644 --- a/pkgs/by-name/it/itgmania/themes/itg3encore.nix +++ b/pkgs/by-name/it/itgmania/themes/itg3encore.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "itg3encore"; - version = "0-unstable-2026-04-29"; + version = "0-unstable-2026-05-10"; src = fetchFromGitHub { owner = "DarkBahamut162"; repo = "itg3encore"; - rev = "87ef7392f84acf3c05c03749714a8f9cd893a34e"; - hash = "sha256-4wHDin/Nphd/BLP4HYsRQDZDWYhMRddv1D44q6Yvhto="; + rev = "92fa3cb3234e466891606a047e4d2d104839581b"; + hash = "sha256-tnb9uGu4VaXlNh9QRbPtCKHS2GWmfFBOMe8/uW9hA0Q="; }; postInstall = '' From b12ba4c3363f2b28d201a6692ce5bd48a9a67adf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 12:05:08 +0000 Subject: [PATCH 41/88] itgmaniaPackages.digital-dance: 1.1.3-unstable-2026-04-29 -> 1.1.3-unstable-2026-05-09 --- pkgs/by-name/it/itgmania/themes/digital-dance.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/it/itgmania/themes/digital-dance.nix b/pkgs/by-name/it/itgmania/themes/digital-dance.nix index f0144e4acd46..b3046c29c44d 100644 --- a/pkgs/by-name/it/itgmania/themes/digital-dance.nix +++ b/pkgs/by-name/it/itgmania/themes/digital-dance.nix @@ -6,13 +6,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "digital-dance"; - version = "1.1.3-unstable-2026-04-29"; + version = "1.1.3-unstable-2026-05-09"; src = fetchFromCodeberg { owner = "JNero"; repo = "Digital-Dance-ITGMania"; - rev = "a26bc9f19be8b899ed5af35c01cdd21fe48ec94f"; - hash = "sha256-4A87hM+yG6mKfYdC2fZ5lhSDVVH4FPtXStkjC95CcLs="; + rev = "aca637dc8f2b47a254bead472da6129f28fa55fd"; + hash = "sha256-uKweTqF4q0YsOIOpEi5v+N60YvctDF9stcP+GYlUuO4="; }; postInstall = '' From d4114c7cf814840f921c4450bb429fb1c9bc29f7 Mon Sep 17 00:00:00 2001 From: Harinn Date: Sun, 10 May 2026 19:31:33 +0700 Subject: [PATCH 42/88] python3Packages.nodriver: fix non-utf-8 source byte for python 3.14 --- pkgs/development/python-modules/nodriver/default.nix | 5 +++++ .../nodriver/python-3.14-network-py-encoding.patch | 11 +++++++++++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/python-modules/nodriver/python-3.14-network-py-encoding.patch diff --git a/pkgs/development/python-modules/nodriver/default.nix b/pkgs/development/python-modules/nodriver/default.nix index fa728fcda1d2..8dd60efd35ce 100644 --- a/pkgs/development/python-modules/nodriver/default.nix +++ b/pkgs/development/python-modules/nodriver/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { hash = "sha256-SsjNiLavEzwm3BV/t49asXRipZtKDaMwTjrxK75LQ0M="; }; + patches = [ + # https://github.com/ultrafunkamsterdam/nodriver/pull/36 + ./python-3.14-network-py-encoding.patch + ]; + dependencies = [ deprecated mss diff --git a/pkgs/development/python-modules/nodriver/python-3.14-network-py-encoding.patch b/pkgs/development/python-modules/nodriver/python-3.14-network-py-encoding.patch new file mode 100644 index 000000000000..7c1d18787ab8 --- /dev/null +++ b/pkgs/development/python-modules/nodriver/python-3.14-network-py-encoding.patch @@ -0,0 +1,11 @@ +--- a/nodriver/cdp/network.py ++++ b/nodriver/cdp/network.py +@@ -1362,7 +1362,7 @@ + #: Cookie expiration date as the number of seconds since the UNIX epoch. + #: The value is set to -1 if the expiry date is not set. + #: The value can be null for values that cannot be represented in +- #: JSON (±Inf). ++ #: JSON (±Inf). + expires: typing.Optional[float] = None + + #: Cookie SameSite type. From cc086729383dd4020c0c23b2dcb08e695bbb7a7a Mon Sep 17 00:00:00 2001 From: Thomas Butter Date: Sat, 9 May 2026 13:26:05 +0000 Subject: [PATCH 43/88] evtx: 0.10.0 -> 0.11.2 --- pkgs/by-name/ev/evtx/package.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ev/evtx/package.nix b/pkgs/by-name/ev/evtx/package.nix index 2ba74c7b3462..d5c40c00a27e 100644 --- a/pkgs/by-name/ev/evtx/package.nix +++ b/pkgs/by-name/ev/evtx/package.nix @@ -6,22 +6,29 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "evtx"; - version = "0.10.0"; + version = "0.11.2"; src = fetchFromGitHub { owner = "omerbenamram"; repo = "evtx"; tag = "v${finalAttrs.version}"; - hash = "sha256-v57lo1ggElGJD618ojuADspmhlZAMgmzD5DxEdtp2Ak="; + hash = "sha256-LVGw/u5xq+m96zSMPbQDpMnfMHq7FyQnzkmGMUMVgwM="; }; - cargoHash = "sha256-qjlN10YS79S0JV2MPFB9SxPDUQnoVdqVf8kYpLt4w9g="; + cargoHash = "sha256-RnuWlfmzOZzOMfeKo8tv9I4elLQgpn9IbVa0EpYGnI0="; postPatch = '' # CLI tests will fail in the sandbox rm tests/test_cli_interactive.rs ''; + checkFlags = [ + "--skip=wevt_templates_research::wevt_dll_adtschema" + "--skip=wevt_templates_research::wevt_dll_lsasrv" + "--skip=wevt_templates_research::wevt_dll_services" + "--skip=wevt_templates_research::wevt_dll_wevtsvc" + ]; + meta = { description = "Parser for the Windows XML Event Log (EVTX) format"; homepage = "https://github.com/omerbenamram/evtx"; From 62215888bd2c130955a944bfcb1de63e7f976f13 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 14:24:17 +0000 Subject: [PATCH 44/88] zsh-completion-sync: 0.3.3 -> 0.4.0 --- pkgs/by-name/zs/zsh-completion-sync/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/zs/zsh-completion-sync/package.nix b/pkgs/by-name/zs/zsh-completion-sync/package.nix index 5d309f3cb4c0..fde4c3bb8522 100644 --- a/pkgs/by-name/zs/zsh-completion-sync/package.nix +++ b/pkgs/by-name/zs/zsh-completion-sync/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "zsh-completion-sync"; - version = "0.3.3"; + version = "0.4.0"; src = fetchFromGitHub { owner = "BronzeDeer"; repo = "zsh-completion-sync"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-GTW4nLVW1/09aXNnZJuKs12CoalzWGKB79VsQ2a2Av4="; + sha256 = "sha256-GMZ0W8d0Qd5EhrwA/SkeOqDzoUchxDermcTR0iKYP8M="; }; strictDeps = true; From 7afa8e7e0df6c726dd35f08750c0f7bb873a1bfd Mon Sep 17 00:00:00 2001 From: twoneis Date: Sun, 10 May 2026 19:03:04 +0200 Subject: [PATCH 45/88] osmium: fix update script --- pkgs/by-name/os/osmium/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/os/osmium/package.nix b/pkgs/by-name/os/osmium/package.nix index b36d9ad1aeff..f089ea9b23b8 100644 --- a/pkgs/by-name/os/osmium/package.nix +++ b/pkgs/by-name/os/osmium/package.nix @@ -112,7 +112,7 @@ stdenv.mkDerivation rec { ]; text = '' version="$(curl -s https://updater.osmium.chat/alpha-linux.yml | yq .version)" - update-source-version osmium "${version}" + update-source-version osmium "$version" ''; }); }; From 7724c0132f7fb7a79a7bbb6464dc3a7f26fb0741 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 18:58:56 +0000 Subject: [PATCH 46/88] ty: 0.0.34 -> 0.0.35 --- pkgs/by-name/ty/ty/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index ad3b51b0bb6a..0d9f6920c364 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -17,14 +17,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.34"; + version = "0.0.35"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-pLe25JRy6xrFVuNCQKwp9k3Mvc4pfYKF6Xi17yMgSzw="; + hash = "sha256-ce3v/ZUlMNMGlikWSriGybScUrRharFswq5Z47dTtKY="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -38,7 +38,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-A/oJeFIY/+Pu9jYp3hwGwkSAXfF0VLTHKGP48wsnheo="; + cargoHash = "sha256-9/4+cK7BdJbXQKK7xC9MMfqARlivbuyYZ8j02srakxU="; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ rust-jemalloc-sys ]; From a84c9a620e71f60c493a6b41d5738fa522231261 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 27 Apr 2026 19:41:27 +0000 Subject: [PATCH 47/88] python3Packages.pymupdf: disable broken Darwin tests --- .../python-modules/pymupdf/default.nix | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index 58f4da5afd4a..1235bdee274a 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -151,6 +151,71 @@ buildPythonPackage (finalAttrs: { # Trace/BPT trap: 5 when getting widget options "tests/test_4505.py" "tests/test_widgets.py" + # https://github.com/pymupdf/PyMuPDF/issues/4988 triggered by + # https://github.com/swig/swig/issues/3279 + "tests/test_font.py::test_load_system_font" + "tests/test_general.py::test_add_ink_annot" + "tests/test_general.py::test_2533" + "tests/test_general.py::test_2506" + "tests/test_general.py::test_2093" + "tests/test_general.py::test_2430" + "tests/test_general.py::test_2553" + "tests/test_general.py::test_2736" + "tests/test_general.py::test_subset_fonts" + "tests/test_general.py::test_2957_2" + "tests/test_general.py::test_707560" + "tests/test_general.py::test_3140" + "tests/test_general.py::test_3654" + "tests/test_general.py::test_3624" + "tests/test_general.py::test_4415" + "tests/test_general.py::test_4496" + "tests/test_general.py::test_4590" + "tests/test_general.py::test_4712" + "tests/test_general.py::test_4712m" + "tests/test_general.py::test_4902" + "tests/test_imagebbox.py::test_bboxlog" + "tests/test_imagebbox.py::test_image_bbox" + "tests/test_insertpdf.py::test_issue1417_insertpdf_in_loop" + "tests/test_mupdf_regressions.py::test_707673" + "tests/test_mupdf_regressions.py::test_3376" + "tests/test_nonpdf.py::test_pageids" + "tests/test_objectstreams.py::test_objectstream1" + "tests/test_objectstreams.py::test_objectstream2" + "tests/test_objectstreams.py::test_objectstream3" + "tests/test_pagedelete.py::test_3094" + "tests/test_pixmap.py::test_pdfpixmap" + "tests/test_pixmap.py::test_3854" + "tests/test_pixmap.py::test_4155" + "tests/test_pixmap.py::test_4699" + "tests/test_remove-rotation.py::test_remove_rotation" + "tests/test_spikes.py::test_spikes" + "tests/test_story.py::test_story" + "tests/test_story.py::test_2753" + "tests/test_story.py::test_fit_springer" + "tests/test_story.py::test_write_stabilized_with_links" + "tests/test_story.py::test_3813" + "tests/test_tables.py::test_2979" + "tests/test_tables.py::test_strict_lines" + "tests/test_tables.py::test_3148" + "tests/test_tables.py::test_battery_file" + "tests/test_tables.py::test_dotted_grid" + "tests/test_textbox.py::test_textbox4" + "tests/test_textbox.py::test_2637" + "tests/test_textbox.py::test_htmlbox1" + "tests/test_textbox.py::test_htmlbox2" + "tests/test_textbox.py::test_htmlbox3" + "tests/test_textbox.py::test_3559" + "tests/test_textbox.py::test_3916" + "tests/test_textbox.py::test_4613" + "tests/test_textextract.py::test_extract4" + "tests/test_textextract.py::test_3197" + "tests/test_textextract.py::test_3705" + "tests/test_textextract.py::test_4147" + "tests/test_textextract.py::test_4179" + "tests/test_textextract.py::test_extendable_textpage" + "tests/test_textextract.py::test_4503" + "tests/test_toc.py::test_simple_toc" + "tests/test_toc.py::test_3400" ]; pythonImportsCheck = [ From c9b93814ba5bc705a0fb80757de08be68ec4cf69 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Fri, 8 May 2026 11:01:24 -0700 Subject: [PATCH 48/88] python3Packages.pipcl: init at v4 --- .../python-modules/pipcl/default.nix | 34 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/development/python-modules/pipcl/default.nix diff --git a/pkgs/development/python-modules/pipcl/default.nix b/pkgs/development/python-modules/pipcl/default.nix new file mode 100644 index 000000000000..227a4eb5f5da --- /dev/null +++ b/pkgs/development/python-modules/pipcl/default.nix @@ -0,0 +1,34 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "pipcl"; + version = "4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ArtifexSoftware"; + repo = "pipcl"; + tag = "v${finalAttrs.version}"; + hash = "sha256-1dTjxMuOFWeK4L+m4dbllNVwV36MmhsICTplfEKIOxk="; + }; + + build-system = [ + setuptools + ]; + + pythonImportsCheck = [ + "pipcl" + ]; + + meta = { + description = "Python packaging operations for use by a `setup.py"; + homepage = "https://github.com/ArtifexSoftware/pipcl"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ sarahec ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fe78be8ca2ac..9b0abf51d79e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12590,6 +12590,8 @@ self: super: with self; { pip-tools = callPackage ../development/python-modules/pip-tools { }; + pipcl = callPackage ../development/python-modules/pipcl { }; + pipdate = callPackage ../development/python-modules/pipdate { }; pipdeptree = callPackage ../development/python-modules/pipdeptree { }; From 6db41eb77fdf241cffc189a7b348bcc91c231aa6 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Mon, 27 Apr 2026 19:41:27 +0000 Subject: [PATCH 49/88] python3Packages.pymupdf: 1.27.2.2 -> 1.27.2.3 --- pkgs/development/python-modules/pymupdf/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index 1235bdee274a..a087c6442d91 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -8,6 +8,7 @@ # build-system libclang, + pipcl, psutil, setuptools, swig, @@ -44,14 +45,14 @@ let in buildPythonPackage (finalAttrs: { pname = "pymupdf"; - version = "1.27.2.2"; + version = "1.27.2.3"; pyproject = true; src = fetchFromGitHub { owner = "pymupdf"; repo = "PyMuPDF"; tag = finalAttrs.version; - hash = "sha256-o70IMa64jjX+b83uW4gISOiNrWtefQ8nc8Z99DfqrQI="; + hash = "sha256-KeddkzRkJ/tcINftYrx/BY0Z3WUaTU9iBqL5UorvclU="; }; patches = [ @@ -75,6 +76,7 @@ buildPythonPackage (finalAttrs: { build-system = [ libclang + pipcl swig setuptools ]; @@ -151,6 +153,11 @@ buildPythonPackage (finalAttrs: { # Trace/BPT trap: 5 when getting widget options "tests/test_4505.py" "tests/test_widgets.py" + + # Tests memory usage which is machine-dependent + # AssertionError: r1=403619840 r2=382353408 r=0.947310736756647. + "tests/test_memory.py::test_4090" + # https://github.com/pymupdf/PyMuPDF/issues/4988 triggered by # https://github.com/swig/swig/issues/3279 "tests/test_font.py::test_load_system_font" From c17b83f36c7d55d452a97bcb18dd5750737036a9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 21:09:47 +0000 Subject: [PATCH 50/88] tigerbeetle: 0.17.2 -> 0.17.3 --- pkgs/by-name/ti/tigerbeetle/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ti/tigerbeetle/package.nix b/pkgs/by-name/ti/tigerbeetle/package.nix index 27e110de1cc1..f3dd3a8a1107 100644 --- a/pkgs/by-name/ti/tigerbeetle/package.nix +++ b/pkgs/by-name/ti/tigerbeetle/package.nix @@ -10,14 +10,14 @@ let platform = if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system; hash = builtins.getAttr platform { - "universal-macos" = "sha256-TkgrZQNlgB039sVlqOST0oEzwpk7d04ujrw5GM+Hemo="; - "x86_64-linux" = "sha256-tzN5BB1jNAuQi6cLEoRylflAJZgd7WhQ8QV+bx276jM="; - "aarch64-linux" = "sha256-Ny+N9k6J6++yhBGeMVbIG6Mh5H048Lf+2iCja/2pVOU="; + "universal-macos" = "sha256-1Zn/JeRCwLH1kC+sZGNdez2Um6VZgEvCf4BwbWTfMSs="; + "x86_64-linux" = "sha256-T2CjzbpxfOPYgJpAqOqcID1pvGW7FJFpRk6/hdgKiOk="; + "aarch64-linux" = "sha256-Y4UsPOno5bfWGHYh2BwV2L9xLiFjv/wuVAW+FSevuV8="; }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "tigerbeetle"; - version = "0.17.2"; + version = "0.17.3"; src = fetchzip { url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip"; From fd887e2f0117b599b57d6c0c0a07adab2f112ec7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 21:11:48 +0000 Subject: [PATCH 51/88] oci-cli: 3.81.0 -> 3.81.1 --- pkgs/by-name/oc/oci-cli/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/oc/oci-cli/package.nix b/pkgs/by-name/oc/oci-cli/package.nix index 220c7c292dbb..de12c9c98be7 100644 --- a/pkgs/by-name/oc/oci-cli/package.nix +++ b/pkgs/by-name/oc/oci-cli/package.nix @@ -26,14 +26,14 @@ in py.pkgs.buildPythonApplication (finalAttrs: { pname = "oci-cli"; - version = "3.81.0"; + version = "3.81.1"; pyproject = true; src = fetchFromGitHub { owner = "oracle"; repo = "oci-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-8fZxGvgk46BDeNraEfzA4V/Lptk4QpjlZ+2mvfsWMb0="; + hash = "sha256-c4aWIgJ3LJ2a+e6mXJif112oIhEmU//zPYQQguOmqhU="; }; nativeBuildInputs = [ installShellFiles ]; From 9f55833e4f630135779d0bd3a99007ed957be462 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 21:29:37 +0000 Subject: [PATCH 52/88] nerdctl: 2.2.2 -> 2.3.0 --- pkgs/by-name/ne/nerdctl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/nerdctl/package.nix b/pkgs/by-name/ne/nerdctl/package.nix index a006c0956b13..cc520bd2c1c8 100644 --- a/pkgs/by-name/ne/nerdctl/package.nix +++ b/pkgs/by-name/ne/nerdctl/package.nix @@ -14,16 +14,16 @@ buildGoModule (finalAttrs: { pname = "nerdctl"; - version = "2.2.2"; + version = "2.3.0"; src = fetchFromGitHub { owner = "containerd"; repo = "nerdctl"; tag = "v${finalAttrs.version}"; - hash = "sha256-Xf4Nit8egVYk5EhPrazgu/xC8LvKT5U2eLIwUjqvFEs="; + hash = "sha256-DCAgxqjJruoSTTZqWKOrz/6ZbOubGi4B7tdf2Kg/UGc="; }; - vendorHash = "sha256-f/fm4lrt4d1kjwHAyVwkyqalApozOAlAT8WQ/qMtGdI="; + vendorHash = "sha256-gOpzsPq0w+85KKa3QMKb+rWuRSfbCFECfHB3PadJNE8="; nativeBuildInputs = [ makeWrapper From 132f3d9fbc47a272c1eba8dc0c82b9bf9441d6f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 10 May 2026 14:37:56 -0700 Subject: [PATCH 53/88] diebahn: 2.9.4 -> 2.10.0 Diff: https://gitlab.com/schmiddi-on-mobile/railway/-/compare/2.9.4...2.10.0 Changelog: https://gitlab.com/schmiddi-on-mobile/railway/-/blob/2.10.0/CHANGELOG.md --- pkgs/by-name/di/diebahn/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/di/diebahn/package.nix b/pkgs/by-name/di/diebahn/package.nix index fcbc2bb435fd..f5be4e37152e 100644 --- a/pkgs/by-name/di/diebahn/package.nix +++ b/pkgs/by-name/di/diebahn/package.nix @@ -24,18 +24,18 @@ stdenv.mkDerivation rec { pname = "diebahn"; - version = "2.9.4"; + version = "2.10.0"; src = fetchFromGitLab { owner = "schmiddi-on-mobile"; repo = "railway"; tag = version; - hash = "sha256-eGXTBrzKd7dV74wAOzZV9UnIhuR/Xtb20fIWOjfPqtM="; + hash = "sha256-+HqCfuolnwQR/7yTITaQDoYcFQ8m82KA/uT+aubK/UM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-YSki/pKhaKnUqyEMibpg/j06zR6E003AzRTK795NFQo="; + hash = "sha256-38ON9KZbF8JHbel2zPlyPOCxgDiBxG1psQLtNib6uLM="; }; nativeBuildInputs = [ From 87283627ddf0fb42182be0f2ed271dd00e8709a6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 22:44:30 +0000 Subject: [PATCH 54/88] python3Packages.llama-index-vector-stores-qdrant: 0.10.0 -> 0.10.1 --- .../llama-index-vector-stores-qdrant/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix b/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix index 485bc8392781..ee42db423b63 100644 --- a/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix +++ b/pkgs/development/python-modules/llama-index-vector-stores-qdrant/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "llama-index-vector-stores-qdrant"; - version = "0.10.0"; + version = "0.10.1"; pyproject = true; src = fetchPypi { pname = "llama_index_vector_stores_qdrant"; inherit version; - hash = "sha256-FzhV/4L//t2lskwlYfim3NnaJDGBQxiN6FRw9mZ6hOo="; + hash = "sha256-/vTKhBHD4zY2qrz4g5Qf3nqdbeqkUlTugGJ/LQ/79VE="; }; build-system = [ hatchling ]; From b0a3afef76b8558dc9a0642f514ec37886e205d8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 10 May 2026 23:37:06 +0000 Subject: [PATCH 55/88] python3Packages.rstcheck-core: 1.2.2 -> 1.3.0 --- pkgs/development/python-modules/rstcheck-core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rstcheck-core/default.nix b/pkgs/development/python-modules/rstcheck-core/default.nix index 912d1b52c390..b883214e1efe 100644 --- a/pkgs/development/python-modules/rstcheck-core/default.nix +++ b/pkgs/development/python-modules/rstcheck-core/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "rstcheck-core"; - version = "1.2.2"; + version = "1.3.0"; pyproject = true; src = fetchFromGitHub { owner = "rstcheck"; repo = "rstcheck-core"; tag = "v${version}"; - hash = "sha256-D17I6pncTnrRjA/vt4lt/Bfkko3Lx58Xyti3sM0sC3s="; + hash = "sha256-ZQgbraIQgfhJM4JYfZjPZcMswOddGQb8pdHjTBo53jk="; }; build-system = [ From 48584f00e3ff96b4afa76c094bcf2ec3279decf4 Mon Sep 17 00:00:00 2001 From: Bilgi Lovelace Date: Mon, 11 May 2026 01:49:03 +0200 Subject: [PATCH 56/88] sone: 0.14.1 -> 0.15.0 --- pkgs/by-name/so/sone/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/so/sone/package.nix b/pkgs/by-name/so/sone/package.nix index f0b13accff4b..2ee76a73c3a6 100644 --- a/pkgs/by-name/so/sone/package.nix +++ b/pkgs/by-name/so/sone/package.nix @@ -22,21 +22,21 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "sone"; - version = "0.14.1"; + version = "0.15.0"; src = fetchFromGitHub { owner = "lullabyX"; repo = "sone"; tag = "v${finalAttrs.version}"; - hash = "sha256-8vdpEjo2UP3vh/PL8+lhLPDfuHeI9kI2/AQvVsWlR1w="; + hash = "sha256-QxA9ab/BVmYvsZb++ykWZ80TDpIMWQb5LJazdUab+pM="; }; - cargoHash = "sha256-zsEO/YnipPNm7TSWcM3tQ+oOF8M5VK5BiUMhsvPcGwQ="; + cargoHash = "sha256-zWW/x92/HAa6AsXe0fIQmQrGKtsR2sX/vyG7uwsl3Bc="; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-npm-deps-${finalAttrs.version}"; inherit (finalAttrs) src; - hash = "sha256-EOmoryKKWCttpOpIAOpdIz7yOA5hm/Hg1WFbcXWr5tc="; + hash = "sha256-MORNCIA/LC6DTNUqXvKk4hHnoKDZEC+poANcNOHQPyM="; }; nativeBuildInputs = [ From b795f8fd1d4975beabef76ef246340b17337b75c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 00:34:04 +0000 Subject: [PATCH 57/88] zlint: 3.6.8 -> 3.7.0 --- pkgs/by-name/zl/zlint/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zl/zlint/package.nix b/pkgs/by-name/zl/zlint/package.nix index ff92681b975e..b54b32677997 100644 --- a/pkgs/by-name/zl/zlint/package.nix +++ b/pkgs/by-name/zl/zlint/package.nix @@ -7,18 +7,18 @@ buildGoModule (finalAttrs: { pname = "zlint"; - version = "3.6.8"; + version = "3.7.0"; src = fetchFromGitHub { owner = "zmap"; repo = "zlint"; tag = "v${finalAttrs.version}"; - hash = "sha256-Mi7ySXVqnL/LVi4YS1r4hBcM/JrjThJEkw3+1k1vjRQ="; + hash = "sha256-e12GMbUsZFm0yPD4yh+kuK47YKvDC+VcSfth2radyUk="; }; modRoot = "v3"; - vendorHash = "sha256-AdJxcJ/qjY6lzoK4PGNjR+7lYAypgCOk6Nt5sqP+ayA="; + vendorHash = "sha256-7g/97DjtXOsWFguWeYi7jLe7xeW1sfY0BrQxYbtIZyM="; excludedPackages = [ "cmd/genTestCerts" From a0d7635ec45262bcf516d366d761f9c4578957e7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 00:58:18 +0000 Subject: [PATCH 58/88] wayscriber: 0.9.16 -> 0.9.17 --- pkgs/by-name/wa/wayscriber/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/wayscriber/package.nix b/pkgs/by-name/wa/wayscriber/package.nix index 60e0f17b276e..4ddfa8db0296 100644 --- a/pkgs/by-name/wa/wayscriber/package.nix +++ b/pkgs/by-name/wa/wayscriber/package.nix @@ -10,20 +10,20 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "wayscriber"; - version = "0.9.16"; + version = "0.9.17"; src = fetchFromGitHub { owner = "devmobasa"; repo = "wayscriber"; tag = "v${finalAttrs.version}"; - hash = "sha256-gfWvepANARgXXdpTRdAr9zZNfAxwi9icEbvP3AMFsUI="; + hash = "sha256-ylvZ+U8et9McvZrHsJFLoWWAtruQnKMk/5lg4uCw/rg="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ pango libxkbcommon ]; - cargoHash = "sha256-SqTWkbuW2Dy/e5oCr7G7m/T5/kLpf+ZPKxXKPDeRX9U="; + cargoHash = "sha256-/q4ux2MXDfrqbUfO1M2lykpDl03MTnVS4ottxSgDFEQ="; passthru.updateScript = nix-update-script { }; meta = { From 001bf5cc4b338466b72e23547045787ce46e8459 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 01:36:05 +0000 Subject: [PATCH 59/88] greenmask: 0.2.19 -> 0.2.20 --- pkgs/by-name/gr/greenmask/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gr/greenmask/package.nix b/pkgs/by-name/gr/greenmask/package.nix index 12cf377cd0d8..41c00d5de92b 100644 --- a/pkgs/by-name/gr/greenmask/package.nix +++ b/pkgs/by-name/gr/greenmask/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "greenmask"; - version = "0.2.19"; + version = "0.2.20"; src = fetchFromGitHub { owner = "GreenmaskIO"; repo = "greenmask"; tag = "v${finalAttrs.version}"; - hash = "sha256-X/TfcXhjpY+nd5ThjY7CitvbtZMq35uwZ2yjkVYXw1k="; + hash = "sha256-SnljUU0GDtTlHKjbMeD7yZYh+IZM2zWuMk0wck0zJb0="; }; vendorHash = "sha256-SB71/Tf9Bw8AlTYGXOaRR8sdiwx8l9wQba93p6vAbAk="; From 14a40db062dbcaf9df40825a348d91252e491f23 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 04:14:07 +0000 Subject: [PATCH 60/88] lix-diff: 1.5.0 -> 1.5.1 --- pkgs/by-name/li/lix-diff/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/lix-diff/package.nix b/pkgs/by-name/li/lix-diff/package.nix index 19ad58b5f7a1..e516e9462618 100644 --- a/pkgs/by-name/li/lix-diff/package.nix +++ b/pkgs/by-name/li/lix-diff/package.nix @@ -6,16 +6,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "lix-diff"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "tgirlcloud"; repo = "lix-diff"; tag = "v${finalAttrs.version}"; - hash = "sha256-x2Ec3Pm80IvTzl3gw0mwWRbW1nLZ2V70KegahSDNwH0="; + hash = "sha256-mURA7fZ9RAhVtOx+gnEeJI48tyvi+zbKE+xUs5UMPY4="; }; - cargoHash = "sha256-1HjmS5wvlX4gGf6AZQnN+37Y3Nf8HVSOHWG2kZCVg1Y="; + cargoHash = "sha256-yOVJjn/DaHDsBeSMKJ0bmav+I5JLa9HqII5RKFpc5Hw="; passthru.updateScript = nix-update-script { }; From daca58f63b1b002cd1f1583bf5134e0e6de6e5e6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 05:30:05 +0000 Subject: [PATCH 61/88] giada: 1.3.1 -> 1.4.1 --- pkgs/by-name/gi/giada/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gi/giada/package.nix b/pkgs/by-name/gi/giada/package.nix index 8f9e3f2db030..f33e389cf511 100644 --- a/pkgs/by-name/gi/giada/package.nix +++ b/pkgs/by-name/gi/giada/package.nix @@ -30,13 +30,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "giada"; - version = "1.3.1"; + version = "1.4.1"; src = fetchFromGitHub { owner = "monocasual"; repo = "giada"; tag = finalAttrs.version; - hash = "sha256-MIGDaZLSwSIIZ2vXYuhGur0Ya1HX2yhrhafAawqU/+A="; + hash = "sha256-/pcBQBu2/7fkXuu2N6aLokLXNzXQf7uZI6ePnHe1r2k="; fetchSubmodules = true; }; From d0cff59b62cd469ed857ee12bb69c2f889f64d8f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 06:35:23 +0000 Subject: [PATCH 62/88] libretro.flycast: 0-unstable-2026-05-01 -> 0-unstable-2026-05-10 --- pkgs/applications/emulators/libretro/cores/flycast.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/flycast.nix b/pkgs/applications/emulators/libretro/cores/flycast.nix index b921e6a2f7bb..0daaae4873d5 100644 --- a/pkgs/applications/emulators/libretro/cores/flycast.nix +++ b/pkgs/applications/emulators/libretro/cores/flycast.nix @@ -8,13 +8,13 @@ }: mkLibretroCore { core = "flycast"; - version = "0-unstable-2026-05-01"; + version = "0-unstable-2026-05-10"; src = fetchFromGitHub { owner = "flyinghead"; repo = "flycast"; - rev = "744e9e4aa560d785000a2653ee3d291716aa2c0a"; - hash = "sha256-gCFX8mWWWsSogaBDtbVx4hL/GiNk5YlsT2HP3LNY0zs="; + rev = "4be8a484665fb5684ccb780ed2165018a679c622"; + hash = "sha256-kjQcKdxUMdUc+70OPzEtDeSKy/m2e0FyPDa4XR3nHmM="; fetchSubmodules = true; }; From 7de97f9af3f58fffc063c7c9084154a8eae87158 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Mon, 11 May 2026 06:50:08 +0000 Subject: [PATCH 63/88] linux_testing: 7.1-rc2 -> 7.1-rc3 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 7ede2b1b8db3..be65c2b3f903 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,7 +1,7 @@ { "testing": { - "version": "7.1-rc2", - "hash": "sha256:10021wpq8pqss25d2y2rhxps88vf8akx8p4xgcx5s5xhk9bfabzw", + "version": "7.1-rc3", + "hash": "sha256:0gzk6hc880zzy63kpppqi2h347az671sg0wa0nlksyi8acg91wxm", "lts": false }, "6.1": { From cdfeb927c27f970928665b02d200884b05c9d18e Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Mon, 11 May 2026 06:50:11 +0000 Subject: [PATCH 64/88] linux_7_0: 7.0.5 -> 7.0.6 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index be65c2b3f903..2ab04f57def4 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -35,8 +35,8 @@ "lts": true }, "7.0": { - "version": "7.0.5", - "hash": "sha256:0g5c732144ig8rk2nrlsbwdh88q5ghi3n1n6c3y9jlv7q6hv0pwn", + "version": "7.0.6", + "hash": "sha256:08vm18wx6399phzgr3wz94yga3ab4fyca79445ygvbspm904996b", "lts": false } } From a83f13cdecb72b015fbed4aa988d302c315a70a1 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Mon, 11 May 2026 06:50:15 +0000 Subject: [PATCH 65/88] linux_6_18: 6.18.28 -> 6.18.29 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 2ab04f57def4..cc7186fb0960 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -30,8 +30,8 @@ "lts": true }, "6.18": { - "version": "6.18.28", - "hash": "sha256:0x3vsz25ci192zcv1vmi1lnbdmpafvzbzcja1fighv2qhfa7hq7k", + "version": "6.18.29", + "hash": "sha256:0g584ak8p9nqxysn8d1qzxbp1asfd39hqy9np35gri9v3xdsfgn3", "lts": true }, "7.0": { From 2c43a55a39c3a68849f052d2324018d4043697f9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 06:54:51 +0000 Subject: [PATCH 66/88] panache: 2.41.1 -> 2.45.0 --- pkgs/by-name/pa/panache/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pa/panache/package.nix b/pkgs/by-name/pa/panache/package.nix index 58a3ceb9c12b..92033048dfcf 100644 --- a/pkgs/by-name/pa/panache/package.nix +++ b/pkgs/by-name/pa/panache/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "panache"; - version = "2.41.1"; + version = "2.45.0"; src = fetchFromGitHub { owner = "jolars"; repo = "panache"; tag = "v${finalAttrs.version}"; - hash = "sha256-creORKgAByvWK6yH1WT/zRlFKStY85eUq8WJottaUCM="; + hash = "sha256-IBWZmDqbDt4zf2wL6hVhWGq+JAwte+NO90jUvVtr/YE="; }; - cargoHash = "sha256-xReCjJ1eLdzw/LyLVU62RKSyjBBrenCR4YTmt52C2ls="; + cargoHash = "sha256-vXSVNPc4h3yAAdWxVg9/7Fkxq6PXEjDcWGjFj6FREEI="; nativeBuildInputs = [ installShellFiles From 9ee892de3d6f37979e21a31cea38e364aa724ac3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 06:58:17 +0000 Subject: [PATCH 67/88] lux-cli: 0.28.6 -> 0.29.0 --- pkgs/by-name/lu/lux-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lu/lux-cli/package.nix b/pkgs/by-name/lu/lux-cli/package.nix index 488648849021..4bb85d741c10 100644 --- a/pkgs/by-name/lu/lux-cli/package.nix +++ b/pkgs/by-name/lu/lux-cli/package.nix @@ -18,18 +18,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "lux-cli"; - version = "0.28.6"; + version = "0.29.0"; src = fetchFromGitHub { owner = "lumen-oss"; repo = "lux"; tag = "v${finalAttrs.version}"; - hash = "sha256-AzERusMBjc1pQbG1Sbu9LijfVIaWhXetm0LbGTmDYx8="; + hash = "sha256-jQkqWngHLHf0myzy7PjiNQFEI0/cq9FZQNst3BzIexs="; }; buildAndTestSubdir = "lux-cli"; - cargoHash = "sha256-JbSTMFRbj4y3DeTF54eRXPTRQGOg2A8bK/coFEWbOgs="; + cargoHash = "sha256-+geQjo/hvx+ZtF2n2bWfQZMbAI6zPgbDAVH2TZbrKQc="; nativeInstallCheckInputs = [ versionCheckHook From 20fa2df902ecc5a63138dd43ee7a468104f51110 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 8 May 2026 23:11:50 +0000 Subject: [PATCH 68/88] zfs-replicate: 4.0.0 -> 4.1.0 Diff: https://github.com/alunduil/zfs-replicate/compare/v4.0.0...v4.1.0 Changelog: https://github.com/alunduil/zfs-replicate/blob/v4.1.0/CHANGELOG.md --- pkgs/by-name/zf/zfs-replicate/package.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/zf/zfs-replicate/package.nix b/pkgs/by-name/zf/zfs-replicate/package.nix index 132a668bf229..c0ee00252530 100644 --- a/pkgs/by-name/zf/zfs-replicate/package.nix +++ b/pkgs/by-name/zf/zfs-replicate/package.nix @@ -8,14 +8,15 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "zfs_replicate"; - version = "4.0.0"; + version = "4.1.0"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "alunduil"; repo = "zfs-replicate"; tag = "v${finalAttrs.version}"; - hash = "sha256-VajMSoFZ4SQXpuF1Lo6S9IhxvspCfUwpNw5zg16uA3M="; + hash = "sha256-7UoFx2XtadsQqavR5BTwbylaDksWSRxy5o+2hCOzfBw="; }; # For compression to work, both local and remote systems must have lz4 installed. @@ -42,8 +43,6 @@ python3Packages.buildPythonApplication (finalAttrs: { pytestCheckHook ]; - doCheck = true; - disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [ # AssertionError: Expected SystemExit or FileNotFoundError "zfs_test/replicate_test/cli_test/main_test.py" From c4bf4309e025c1709fabf7adbbc000460a909601 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 07:13:22 +0000 Subject: [PATCH 69/88] tfmigrate: 0.4.4 -> 0.4.5 --- pkgs/by-name/tf/tfmigrate/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/tf/tfmigrate/package.nix b/pkgs/by-name/tf/tfmigrate/package.nix index 33d7e793a7ef..c8c19af521eb 100644 --- a/pkgs/by-name/tf/tfmigrate/package.nix +++ b/pkgs/by-name/tf/tfmigrate/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "tfmigrate"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = "minamijoyo"; repo = "tfmigrate"; tag = "v${finalAttrs.version}"; - hash = "sha256-633b7VZ0/JNWuBh0C9CtbG5XdgTD2zLuotBbgv0a2e8="; + hash = "sha256-NXsAwJTIVlgSC+RdumXsfHIjXfNm37PjLrEWaf+85aM="; }; vendorHash = "sha256-TqZi5NZ+4eSzq98/ZM4Gab7Sud7bz1DNHrp5nGaGHDE="; From 947986d11cbe713589c638407f6c3effb0141973 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 03:45:14 +0000 Subject: [PATCH 70/88] tasks: 0.2.0 -> 0.2.4 --- pkgs/by-name/ta/tasks/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ta/tasks/package.nix b/pkgs/by-name/ta/tasks/package.nix index 9605b7ad2df6..110552f449e8 100644 --- a/pkgs/by-name/ta/tasks/package.nix +++ b/pkgs/by-name/ta/tasks/package.nix @@ -13,16 +13,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tasks"; - version = "0.2.0"; + version = "0.2.4"; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "cosmic-utils"; repo = "tasks"; tag = finalAttrs.version; - hash = "sha256-R8wXIw9Gn4uyLoXxyjp/bcK8vK7NkG/chcHe8LtTvo8="; + hash = "sha256-u8TYKXFbrF2fseMNGNOBAkgCA53af5gi1PDKS2FIE5I="; }; - cargoHash = "sha256-iJutA18TvsWJceacfhzfEQa5zaQBMVC7fmtF1uPN3sQ="; + cargoHash = "sha256-96uk8tQgvDbgZTC0ypzWRmWNToCUGnVefPyhI69nxxs="; nativeBuildInputs = [ libcosmicAppHook From 291fa8534db43855a7d932554f93735f7a3232ff Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 07:31:48 +0000 Subject: [PATCH 71/88] go-exploitdb: 0.7.0 -> 0.7.2 --- pkgs/by-name/go/go-exploitdb/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/go-exploitdb/package.nix b/pkgs/by-name/go/go-exploitdb/package.nix index 973ad80e3898..c78fe12d0673 100644 --- a/pkgs/by-name/go/go-exploitdb/package.nix +++ b/pkgs/by-name/go/go-exploitdb/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "go-exploitdb"; - version = "0.7.0"; + version = "0.7.2"; src = fetchFromGitHub { owner = "vulsio"; repo = "go-exploitdb"; tag = "v${finalAttrs.version}"; - hash = "sha256-sPBFFhQ9z5ecJMnys9U7QDaBVSEKm9V8jka19d1Eafg="; + hash = "sha256-xL31IvWzIaYAaHw6h8bkuLOMSWC4ogszLfHSNmYvnX0="; }; - vendorHash = "sha256-qWo2PfrvO/eWIf7DjTmbi0qETOg/6jrHZ3BdfugLyGc="; + vendorHash = "sha256-n6vUjcU8RxNOPzZaIOXy0CZZzJjwoWxdFlE9I0TNQ6s="; ldflags = [ "-s" From b8de0a6869453030fa084e26dc18fce32db3920b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 07:43:09 +0000 Subject: [PATCH 72/88] nqptp: 1.2.6 -> 1.2.7 --- pkgs/by-name/nq/nqptp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nq/nqptp/package.nix b/pkgs/by-name/nq/nqptp/package.nix index 7f72e76c1885..932300f87e46 100644 --- a/pkgs/by-name/nq/nqptp/package.nix +++ b/pkgs/by-name/nq/nqptp/package.nix @@ -8,14 +8,14 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "1.2.6"; + version = "1.2.7"; pname = "nqptp"; src = fetchFromGitHub { owner = "mikebrady"; repo = "nqptp"; tag = finalAttrs.version; - hash = "sha256-bU7eTNnPhBA+XTW0SCps/iUCGuxObnv72/Lm+yKEgao="; + hash = "sha256-A87sIwn8NgfUGiCsCq/iiwcqnkfZtLbE9LrjLiWiiWc="; }; nativeBuildInputs = [ From 88dd3d716ab541518d7c0451b6ea0bd38edfe538 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 08:03:40 +0000 Subject: [PATCH 73/88] renode-dts2repl: 0-unstable-2026-04-30 -> 0-unstable-2026-05-05 --- pkgs/by-name/re/renode-dts2repl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix index 965e88e98b92..ddf0fb45e802 100644 --- a/pkgs/by-name/re/renode-dts2repl/package.nix +++ b/pkgs/by-name/re/renode-dts2repl/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication { pname = "renode-dts2repl"; - version = "0-unstable-2026-04-30"; + version = "0-unstable-2026-05-05"; pyproject = true; src = fetchFromGitHub { owner = "antmicro"; repo = "dts2repl"; - rev = "6a1339b59a0ba5823c812f96d8fcc44c7691660f"; - hash = "sha256-bMPdMJbxzk+/DYgU4lminLjuWEB5nhvxFU9FlO3UcqE="; + rev = "3137db4ec2c85749cfc57bf05b460529d4e52a94"; + hash = "sha256-PHtt31DGvOWgutgqbBcOr2vjdvnjaJmCTpRbHtx8MJw="; }; nativeBuildInputs = [ From bba5588bde359785b839225ce40ccc65ace9849f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 08:05:28 +0000 Subject: [PATCH 74/88] terraform-providers.baidubce_baiducloud: 1.23.0 -> 1.23.1 --- .../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 00287307e73d..2da3681e8e5c 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -101,11 +101,11 @@ "vendorHash": "sha256-quoFrJbB1vjz+MdV+jnr7FPACHuUe5Gx9POLubD2IaM=" }, "baidubce_baiducloud": { - "hash": "sha256-Pdtt5XY0XbnEP8qmq0Y2xDS++IGFLBYmfR/BlUDOCbU=", + "hash": "sha256-MsnOxJ9FlX+rh7BGL1FkOVDfdPqwPZFDc4YeU33mqCE=", "homepage": "https://registry.terraform.io/providers/baidubce/baiducloud", "owner": "baidubce", "repo": "terraform-provider-baiducloud", - "rev": "v1.23.0", + "rev": "v1.23.1", "spdx": "MPL-2.0", "vendorHash": null }, From 460e7105cd2b7c35d66c1794e9281743e955166a Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 10 Apr 2026 07:55:09 +0000 Subject: [PATCH 75/88] python3Packages.transformer-engine: 2.12 -> 2.14 Diff: https://github.com/NVIDIA/TransformerEngine/compare/v2.12...v2.14 Changelog: https://github.com/NVIDIA/TransformerEngine/releases/tag/v2.14 --- .../transformer-engine/cuda-libs-paths.patch | 16 +++++++++------- .../transformer-engine/default.nix | 13 +++++++------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/transformer-engine/cuda-libs-paths.patch b/pkgs/development/python-modules/transformer-engine/cuda-libs-paths.patch index bdf80680acbb..49ddd0553f49 100644 --- a/pkgs/development/python-modules/transformer-engine/cuda-libs-paths.patch +++ b/pkgs/development/python-modules/transformer-engine/cuda-libs-paths.patch @@ -1,8 +1,8 @@ diff --git a/transformer_engine/common/__init__.py b/transformer_engine/common/__init__.py -index 02388d2e..f2eb337c 100644 +index 40933f17..f2eb337c 100644 --- a/transformer_engine/common/__init__.py +++ b/transformer_engine/common/__init__.py -@@ -239,117 +239,7 @@ def _get_sys_extension() -> str: +@@ -239,119 +239,7 @@ def _get_sys_extension() -> str: def _nvidia_cudart_include_dir() -> str: """Returns the include directory for cuda_runtime.h if exists in python environment.""" @@ -12,11 +12,13 @@ index 02388d2e..f2eb337c 100644 - return "" - - # Installing some nvidia-* packages, like nvshmem, create nvidia name, so "import nvidia" -- # above doesn't through. However, they don't set "__file__" attribute. -- if nvidia.__file__ is None: -- return "" +- # above doesn't throw. However, they don't set "__file__" attribute. +- if nvidia.__file__ is not None: +- nvidia_root = Path(nvidia.__file__).parent +- else: +- nvidia_root = Path(nvidia.__path__[0]) # namespace package - -- include_dir = Path(nvidia.__file__).parent / "cuda_runtime" +- include_dir = nvidia_root / "cuda_runtime" - return str(include_dir) if include_dir.exists() else "" - - @@ -121,7 +123,7 @@ index 02388d2e..f2eb337c 100644 @functools.lru_cache(maxsize=None) -@@ -364,18 +254,9 @@ if "NVTE_PROJECT_BUILDING" not in os.environ or bool(int(os.getenv("NVTE_RELEASE +@@ -366,18 +254,9 @@ if "NVTE_PROJECT_BUILDING" not in os.environ or bool(int(os.getenv("NVTE_RELEASE # `_load_cuda_library` is used for packages that must be loaded # during runtime. Both system and pypi packages are searched # and an error is thrown if not found. diff --git a/pkgs/development/python-modules/transformer-engine/default.nix b/pkgs/development/python-modules/transformer-engine/default.nix index 9a29b6b75e4b..0e9fb9c59588 100644 --- a/pkgs/development/python-modules/transformer-engine/default.nix +++ b/pkgs/development/python-modules/transformer-engine/default.nix @@ -77,8 +77,9 @@ let in buildPythonPackage.override { stdenv = backendStdenv; } (finalAttrs: { pname = "transformer-engine"; - version = "2.12"; + version = "2.14"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "NVIDIA"; @@ -86,7 +87,7 @@ buildPythonPackage.override { stdenv = backendStdenv; } (finalAttrs: { tag = "v${finalAttrs.version}"; # Their CMakeLists.txt does not easily let us inject dependencies fetchSubmodules = true; - hash = "sha256-/e11kacSYPKdjVEKAo3x/CarzKhO3tiTsMjYWLzHbls="; + hash = "sha256-yxcUn75blB5ssEqGXZFDUrBv2/WM8yzumJCt5olV5Po="; }; patches = @@ -102,8 +103,8 @@ buildPythonPackage.override { stdenv = backendStdenv; } (finalAttrs: { # https://github.com/NVIDIA/TransformerEngine/pull/2832 (fetchpatch { name = "fix-cuda-arch-cmake-logic"; - url = "https://github.com/GaetanLepage/TransformerEngine/commit/a3cf63e0d03dd9af1d494854949387f1ae677bf0.patch"; - hash = "sha256-g2aIF0fROsExEjuNiyI62/rrCOXYyOjyQIOn6rCrUyI="; + url = "https://github.com/NVIDIA/TransformerEngine/commit/fca261ecd09c318d22e7eeebda79632eed8cb9e4.patch"; + hash = "sha256-nph01cIfmjN7RUFZif5ORoz29CEHWwetiHMEZVnnOyY="; }) ] ++ optionals withNvshmem [ @@ -118,8 +119,8 @@ buildPythonPackage.override { stdenv = backendStdenv; } (finalAttrs: { # https://github.com/NVIDIA/TransformerEngine/pull/2835 (fetchpatch { name = "fix-jax-extension-build-with-mpi"; - url = "https://github.com/GaetanLepage/TransformerEngine/commit/f68cd3cab34972a899ad0069e2c4ee806e8bc6fb.patch"; - hash = "sha256-u0ljg1FwY0QjR+ETswpzWV+Sbv00JHI5CSrNQ/9zsuA="; + url = "https://github.com/NVIDIA/TransformerEngine/commit/2dd31bb849e83cce51c7d169db883862063d3a95.patch"; + hash = "sha256-QSRMetseYPGGZCgGkS9rIj9nJdazCD4hv2IgPc+ClSM="; }) ]; From 241dae8022c1e34432588e8d0f620beaa1b16c56 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 08:09:17 +0000 Subject: [PATCH 76/88] misconfig-mapper: 1.15.5 -> 1.16.0 --- pkgs/by-name/mi/misconfig-mapper/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mi/misconfig-mapper/package.nix b/pkgs/by-name/mi/misconfig-mapper/package.nix index 0e5ba9973406..41ab919dcb3f 100644 --- a/pkgs/by-name/mi/misconfig-mapper/package.nix +++ b/pkgs/by-name/mi/misconfig-mapper/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "misconfig-mapper"; - version = "1.15.5"; + version = "1.16.0"; src = fetchFromGitHub { owner = "intigriti"; repo = "misconfig-mapper"; tag = "v${finalAttrs.version}"; - hash = "sha256-FZN/FGp2hQWaO0OnRzSmHx10Wb2rvhC6MpX/q97N/uQ="; + hash = "sha256-WHVNUdzYDC3vV1UDYSAHkwWUlfBvMg1OCh/BwE7shWE="; }; - vendorHash = "sha256-eQetkCrVlYtiXezFzj35TnYAt6tntzUuJHqRvWEkuC4="; + vendorHash = "sha256-jM+td4OUDK7Z4zZy/w0foupQMYpFhOTIefSUoovgEeE="; ldflags = [ "-s" From 46a944aa712d1d289e94469d5155e825a0c8e2e6 Mon Sep 17 00:00:00 2001 From: yaya Date: Mon, 11 May 2026 10:38:21 +0200 Subject: [PATCH 77/88] release-notes: init for 26.11 --- doc/release-notes/rl-2611.section.md | 38 +++++++++++++++++++ .../manual/release-notes/rl-2611.section.md | 25 ++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 doc/release-notes/rl-2611.section.md create mode 100644 nixos/doc/manual/release-notes/rl-2611.section.md diff --git a/doc/release-notes/rl-2611.section.md b/doc/release-notes/rl-2611.section.md new file mode 100644 index 000000000000..6f2246688d21 --- /dev/null +++ b/doc/release-notes/rl-2611.section.md @@ -0,0 +1,38 @@ +# Nixpkgs 26.11 (2026.11/??) {#sec-nixpkgs-release-26.11} + +## Highlights {#sec-nixpkgs-release-26.11-highlights} + + + +- Create the first release note entry in this section! + +## Backward Incompatibilities {#sec-nixpkgs-release-26.11-incompatibilities} + + + +- Create the first release note entry in this section! + +## Other Notable Changes {#sec-nixpkgs-release-26.11-notable-changes} + + + +- Create the first release note entry in this section! + +## Nixpkgs Library {#sec-nixpkgs-release-26.11-lib} + + + +### Breaking changes {#sec-nixpkgs-release-26.11-lib-breaking} + +- Create the first release note entry in this section! + + +### Deprecations {#sec-nixpkgs-release-26.11-lib-deprecations} + +- Create the first release note entry in this section! + + +### Additions and Improvements {#sec-nixpkgs-release-26.11-lib-additions-improvements} + +- Create the first release note entry in this section! + diff --git a/nixos/doc/manual/release-notes/rl-2611.section.md b/nixos/doc/manual/release-notes/rl-2611.section.md new file mode 100644 index 000000000000..c017279d73b5 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-2611.section.md @@ -0,0 +1,25 @@ +# Release 26.11 (2026.11/??) {#sec-release-26.11} + +## Highlights {#sec-release-26.11-highlights} + + + +- Create the first release note entry in this section! + +## New Modules {#sec-release-26.11-new-modules} + + + +- Create the first release note entry in this section! + +## Backward Incompatibilities {#sec-release-26.11-incompatibilities} + + + +- Create the first release note entry in this section! + +## Other Notable Changes {#sec-release-26.11-notable-changes} + + + +- Create the first release note entry in this section! From 0613730f2f34aa22b28fc29588cba6550412ccc5 Mon Sep 17 00:00:00 2001 From: isabel Date: Wed, 4 Jun 2025 17:41:29 +0100 Subject: [PATCH 78/88] doc: style important admonishments --- doc/style.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/style.css b/doc/style.css index 7549ee2e1145..96b6979474db 100644 --- a/doc/style.css +++ b/doc/style.css @@ -325,8 +325,10 @@ div.appendix .important > :last-child { div.book .note, div.book .tip, +div.book .important, div.appendix .note, -div.appendix .tip { +div.appendix .tip, +div.appendix .important { color: var(--note-text-color); background: var(--note-background); } From d6dbfa193f93d9046eb6710a18a2b9ffedfe0d46 Mon Sep 17 00:00:00 2001 From: yaya Date: Mon, 11 May 2026 10:49:35 +0200 Subject: [PATCH 79/88] workflows/periodic-merges: integrate with staging-26.05 For now this uses `master` as root before branch-off. --- .github/workflows/periodic-merge-24h.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml index c80f3212ed21..696089df9bc2 100644 --- a/.github/workflows/periodic-merge-24h.yml +++ b/.github/workflows/periodic-merge-24h.yml @@ -35,6 +35,10 @@ jobs: into: staging-next-25.11 - from: staging-next-25.11 into: staging-25.11 + - from: master + into: staging-next-26.05 + - from: staging-next-26.05 + into: staging-26.05 - name: merge-base(master,staging) → haskell-updates from: master staging into: haskell-updates From 310603b0fb78c3275517009806160672a15002be Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 08:54:47 +0000 Subject: [PATCH 80/88] stackit-cli: 0.61.0 -> 0.62.0 --- pkgs/by-name/st/stackit-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/stackit-cli/package.nix b/pkgs/by-name/st/stackit-cli/package.nix index beee09671db1..19aaa773b7a3 100644 --- a/pkgs/by-name/st/stackit-cli/package.nix +++ b/pkgs/by-name/st/stackit-cli/package.nix @@ -12,16 +12,16 @@ buildGoModule (finalAttrs: { pname = "stackit-cli"; - version = "0.61.0"; + version = "0.62.0"; src = fetchFromGitHub { owner = "stackitcloud"; repo = "stackit-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-kuo0Fj/LgkbTLp+F6xvPUOS5vabjigwX4fVWLQVwO2I="; + hash = "sha256-vgG2F2fI8whwAoHKU5f+LEeI+mmJ2oPzObwtmKSrsoo="; }; - vendorHash = "sha256-NYvqQVDqSV5wyQGEkoAHnT0i+iNF6DKIYIwyiYY5G6M="; + vendorHash = "sha256-7Zxxom+RJJ4cjQ8Knl/96MUMRrQp3P4wQjSNUccLTYw="; subPackages = [ "." ]; From 00139410bb23580312bf5b308fb716911708235c Mon Sep 17 00:00:00 2001 From: Xiangyan Sun Date: Mon, 11 May 2026 01:58:21 -0700 Subject: [PATCH 81/88] cpu-x: remove unused pcre dependency --- pkgs/by-name/cp/cpu-x/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/cp/cpu-x/package.nix b/pkgs/by-name/cp/cpu-x/package.nix index dc2f55303da9..70889d8a0758 100644 --- a/pkgs/by-name/cp/cpu-x/package.nix +++ b/pkgs/by-name/cp/cpu-x/package.nix @@ -18,7 +18,6 @@ vulkan-loader, glfw, libxdmcp, - pcre, util-linux, libselinux, libsepol, @@ -70,7 +69,6 @@ stdenv.mkDerivation (finalAttrs: { opencl-headers ocl-icd libxdmcp - pcre util-linux libselinux libsepol From e8f2ca5ff281037a013493c6e77d0ed92392a58c Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Mon, 11 May 2026 10:38:20 +0200 Subject: [PATCH 82/88] tinymist: 0.14.16 -> 0.14.18 Changelog: https://github.com/Myriad-Dreamin/tinymist/releases/tag/v0.14.18 Diff: https://github.com/Myriad-Dreamin/tinymist/compare/v0.14.16...v0.14.18 --- .../vscode/extensions/myriad-dreamin.tinymist/default.nix | 7 +++++-- pkgs/by-name/ti/tinymist/package.nix | 8 +++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix index d5229a8796b3..77324b96a488 100644 --- a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix +++ b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix @@ -10,10 +10,13 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "tinymist"; publisher = "myriad-dreamin"; - version = "0.14.16"; - hash = "sha256-R4tlQgtQaXIT6qiBg1RqQB0Usnsj0Ijs2Bhn2J1CQq4="; + inherit (tinymist) version; + hash = "sha256-EgLt/bF0pdWyfSxwTGSv2Z0GxCZ2cJ9+n3UnTWdD1LE="; }; + __structuredAttrs = true; + strictDeps = true; + nativeBuildInputs = [ jq moreutils diff --git a/pkgs/by-name/ti/tinymist/package.nix b/pkgs/by-name/ti/tinymist/package.nix index 188e1f452d63..f02221ed9ea8 100644 --- a/pkgs/by-name/ti/tinymist/package.nix +++ b/pkgs/by-name/ti/tinymist/package.nix @@ -15,16 +15,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "tinymist"; # Please update the corresponding vscode extension when updating # this derivation. - version = "0.14.16"; + version = "0.14.18"; + + __structuredAttrs = true; src = fetchFromGitHub { owner = "Myriad-Dreamin"; repo = "tinymist"; tag = "v${finalAttrs.version}"; - hash = "sha256-Lcv/yAH+4LlzaFhTk5GA3WHxm8gHWO+7560zolTCIIM="; + hash = "sha256-udA5W6AhK11zuFmfedDueRY01Rr2ZXmbN5DrIcuvbVo="; }; - cargoHash = "sha256-D9G08K2rp0uBFz+1LktdH8thGNpzaTD2QCCV2P3Hl9M="; + cargoHash = "sha256-L+U47ZYtU51wRjDD1lMyxoYaKZIUnyuZ0C885YnBauA="; nativeBuildInputs = [ installShellFiles From a5abc637e791e6fb0c1e385b9251d48e32539495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 11 May 2026 11:29:05 +0200 Subject: [PATCH 83/88] kdePackages.extra-cmake-modules: support all platforms ECM is a pure CMake macro collection. The KF5-era package had platforms.all; restore it so non-KDE consumers like turbo-unwrapped keep evaluating on Darwin. --- pkgs/kde/frameworks/extra-cmake-modules/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/kde/frameworks/extra-cmake-modules/default.nix b/pkgs/kde/frameworks/extra-cmake-modules/default.nix index 573c3be94233..e76bd3a6958a 100644 --- a/pkgs/kde/frameworks/extra-cmake-modules/default.nix +++ b/pkgs/kde/frameworks/extra-cmake-modules/default.nix @@ -1,4 +1,5 @@ { + lib, mkKdeDerivation, python3, }: @@ -18,4 +19,7 @@ mkKdeDerivation { ]; setupHook = ./ecm-hook.sh; + + # Pure CMake macros, also used by non-KDE packages on all platforms. + meta.platforms = lib.platforms.all; } From c3e6608673b2ab1d7962557865996839a913f563 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 11 May 2026 10:04:09 +0000 Subject: [PATCH 84/88] csharp-ls: fix changelog Tracking: https://github.com/NixOS/nixpkgs/issues/514132 --- pkgs/by-name/cs/csharp-ls/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/cs/csharp-ls/package.nix b/pkgs/by-name/cs/csharp-ls/package.nix index 681092b9628d..e93012514bf2 100644 --- a/pkgs/by-name/cs/csharp-ls/package.nix +++ b/pkgs/by-name/cs/csharp-ls/package.nix @@ -29,7 +29,7 @@ buildDotnetGlobalTool (finalAttrs: { description = "Roslyn-based LSP language server for C#"; mainProgram = "csharp-ls"; homepage = "https://github.com/razzmatazz/csharp-language-server"; - changelog = "https://github.com/razzmatazz/csharp-language-server/releases/tag/v${finalAttrs.version}"; + changelog = "https://github.com/razzmatazz/csharp-language-server/releases/tag/${finalAttrs.version}"; license = lib.licenses.mit; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ GaetanLepage ]; From db64a522e070877f4ae4d99bd1885236ca118c13 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 11 May 2026 10:31:38 +0000 Subject: [PATCH 85/88] home-assistant-custom-components.battery_notes: 3.4.5 -> 3.4.6 --- .../custom-components/battery_notes/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix b/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix index 387e6e24dfda..900324fc1c0e 100644 --- a/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix +++ b/pkgs/servers/home-assistant/custom-components/battery_notes/package.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "andrew-codechimp"; domain = "battery_notes"; - version = "3.4.5"; + version = "3.4.6"; src = fetchFromGitHub { inherit owner; repo = "HA-Battery-Notes"; tag = version; - hash = "sha256-amMrXBTkDZAeMjGScdXMyTZFm90o5jN3VbR2PTydgZA="; + hash = "sha256-KcMQLwIm0rr5cEAKLXte/F/Iar3qnznDv76S+bsX9Ok="; }; # has no tests From 8c677afa8874287bf9a494aea0dccc492cb4e99d Mon Sep 17 00:00:00 2001 From: Marc Jakobi Date: Sun, 10 May 2026 21:07:28 +0200 Subject: [PATCH 86/88] emmylua-{ls,check,doc-cli}: enable `__structuredAttrs` and `strictDeps` --- pkgs/by-name/em/emmylua-check/package.nix | 3 +++ pkgs/by-name/em/emmylua-doc-cli/package.nix | 3 +++ pkgs/by-name/em/emmylua-ls/package.nix | 3 +++ 3 files changed, 9 insertions(+) diff --git a/pkgs/by-name/em/emmylua-check/package.nix b/pkgs/by-name/em/emmylua-check/package.nix index 7cb9f6c45f8d..a9158839db4a 100644 --- a/pkgs/by-name/em/emmylua-check/package.nix +++ b/pkgs/by-name/em/emmylua-check/package.nix @@ -11,6 +11,9 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "emmylua_check"; inherit (emmylua-ls) version src cargoHash; + __structuredAttrs = true; + strictDeps = true; + nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/em/emmylua-doc-cli/package.nix b/pkgs/by-name/em/emmylua-doc-cli/package.nix index 6d5fb6330410..434a6e6e84fd 100644 --- a/pkgs/by-name/em/emmylua-doc-cli/package.nix +++ b/pkgs/by-name/em/emmylua-doc-cli/package.nix @@ -8,6 +8,9 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "emmylua_doc_cli"; inherit (emmylua-ls) version src cargoHash; + __structuredAttrs = true; + strictDeps = true; + buildAndTestSubdir = "crates/emmylua_doc_cli"; nativeInstallCheckInputs = [ diff --git a/pkgs/by-name/em/emmylua-ls/package.nix b/pkgs/by-name/em/emmylua-ls/package.nix index 5131d9a50c54..fcd013c859a5 100644 --- a/pkgs/by-name/em/emmylua-ls/package.nix +++ b/pkgs/by-name/em/emmylua-ls/package.nix @@ -18,6 +18,9 @@ rustPlatform.buildRustPackage (finalAttrs: { hash = "sha256-Zj5nLeTH/4sVElYP+erg6bSTX8jFqF7sqiXfaMam8pE="; }; + __structuredAttrs = true; + strictDeps = true; + nativeBuildInputs = [ pkg-config ]; From a82f2e32150ab323014fd3371234a8d514154e77 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 11 May 2026 13:47:43 +0200 Subject: [PATCH 87/88] python3Packages.esp-idf-size: 2.2.0 -> 2.2.1 https://github.com/espressif/esp-idf-size/blob/v2.2.1/CHANGELOG.md --- pkgs/development/python-modules/esp-idf-size/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/esp-idf-size/default.nix b/pkgs/development/python-modules/esp-idf-size/default.nix index 4484902d066a..12e8bf409b04 100644 --- a/pkgs/development/python-modules/esp-idf-size/default.nix +++ b/pkgs/development/python-modules/esp-idf-size/default.nix @@ -19,14 +19,14 @@ buildPythonPackage rec { pname = "esp-idf-size"; - version = "2.2.0"; + version = "2.2.1"; pyproject = true; src = fetchFromGitHub { owner = "espressif"; repo = "esp-idf-size"; tag = "v${version}"; - hash = "sha256-tiNk1yh8FPwLEKAw+h+Lp5n0aY/FpTwqZjtAQtZK6eY="; + hash = "sha256-kjGO9uLj7/k8WCH6mARFOI4r8IhH/urGKR/23waaOFo="; }; patches = [ From 37a9427fd325fd4f815f4717a6280a7b076a173f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 11 May 2026 13:53:21 +0200 Subject: [PATCH 88/88] groff: only apply the latest patch on linux for now CI says: Rebuild: linux 27127, darwin 15709 which isn't trivial even though we only have around 25% built. --- pkgs/by-name/gr/groff/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gr/groff/package.nix b/pkgs/by-name/gr/groff/package.nix index 19a99dead88e..984c2e1b50ba 100644 --- a/pkgs/by-name/gr/groff/package.nix +++ b/pkgs/by-name/gr/groff/package.nix @@ -44,7 +44,8 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-dOKBl5W2r/QxrqyYPWOpyJaO6roqLrp9+LpMe0Hnz9g="; }; - patches = [ + patches = lib.optionals stdenv.isLinux [ + # TODO: apply everywhere on rebuild # This revert a upstream refactor in continuous rendering mode, but this # causes a big performance regression for big manpages like # `man 5 configuration.nix`.