From 1a105443c9324aa9f7ed81b0456b64c242110e31 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 22 Jan 2026 22:22:03 +0100 Subject: [PATCH 001/109] config: add recursionMode This makes it possible to change the recursion of attrsets depending on if we are evaling for search, hydra or eval --- pkgs/top-level/all-packages.nix | 48 ++++++++++++++++++++++++++++++ pkgs/top-level/config.nix | 15 ++++++++++ pkgs/top-level/packages-config.nix | 1 + pkgs/top-level/release.nix | 1 + 4 files changed, 65 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2a4cf1f5871..cf1c5c8ea614 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -108,6 +108,54 @@ with pkgs; gccStdenvNoLibs = mkStdenvNoLibs gccStdenv; clangStdenvNoLibs = mkStdenvNoLibs clangStdenv; + /** + Recurse into an attribute set depending on which `config.recursionMode` is set. + + This function only affects a single attribute set; + it does not apply itself recursively for nested attribute sets. + + # Inputs + `modes` + : An attribute set containg keys from `config.recursionMode` defaulting to true. + `attrs` + : An attribute set to scan for derivations. + + # Type + ``` + recurseIntoAttrsWith :: AttrSet -> AttrSet -> AttrSet + ``` + + # Examples + :::{.example} + ## `pkgs.recurseIntoAttrsWith` usage example + ```nix + { pkgs ? import {} }: + { + myTools = pkgs.recurseIntoAttrsWith { } { + inherit (pkgs) hello figlet; + }; + } + ``` + ::: + */ + recurseIntoAttrsWith = + { + hydra ? true, + eval ? true, + search ? true, + }: + attrs: + attrs + // { + recurseForDerivations = + let + modes = { + inherit hydra eval search; + }; + in + modes.${config.recursionMode}; + }; + ### Evaluating the entire Nixpkgs naively will likely fail, make failure fast AAAAAASomeThingsFailToEvaluate = throw '' This pseudo-package is likely not the only part of Nixpkgs that fails to evaluate. diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix index 757274fd1dc7..eac1c9bac3e7 100644 --- a/pkgs/top-level/config.nix +++ b/pkgs/top-level/config.nix @@ -369,6 +369,21 @@ let ''; }; + recursionMode = mkOption { + type = types.uniq ( + types.enum [ + "hydra" + "eval" + "search" + ] + ); + default = "eval"; + description = '' + In which way to recurse through Nixpkgs. In most cases you want keep this as the default. + You can use this to emulate how `hydra` and `search` are going through Nixpkgs. + ''; + }; + hashedMirrors = mkOption { type = types.listOf types.str; default = [ "https://tarballs.nixos.org" ]; diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index f35ec01ceb09..4f18dee51d75 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -3,6 +3,7 @@ # Ensures no aliases are in the results. allowAliases = false; allowVariants = false; + recursionMode = "search"; # Enable recursion into attribute sets that nix-env normally doesn't look into # so that we can get a more complete picture of the available packages for the diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 2ff584588835..7b152393ae88 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -40,6 +40,7 @@ allowAliases = false; allowUnfree = false; inHydra = true; + recursionMode = "hydra"; # Exceptional unsafe packages that we still build and distribute, # so users choosing to allow don't have to rebuild them every time. permittedInsecurePackages = [ From 1e1115a8c78d2a3e4f92277aebcbaadb281b9d3b Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 22 Jan 2026 22:30:07 +0100 Subject: [PATCH 002/109] tests: make use of recurseIntoAttrsWith --- pkgs/top-level/all-packages.nix | 3 ++- pkgs/top-level/packages-config.nix | 3 --- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cf1c5c8ea614..2b2c0cae9d32 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -162,7 +162,8 @@ with pkgs; You should not evaluate entire Nixpkgs without measures to handle failing packages. ''; - tests = recurseIntoAttrs (callPackages ../test { }); + # Tests should not appear in search results + tests = recurseIntoAttrsWith { search = false; } (callPackages ../test { }); defaultPkgConfigPackages = # We don't want nix-env -q to enter this, because all of these are aliases. diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index 4f18dee51d75..aea086786a44 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -25,8 +25,5 @@ # show up in search results or repository tracking services that consume our # packages.json https://github.com/NixOS/nixpkgs/issues/244966 minimal-bootstrap = { }; - - # This makes it so that tests are not appering on search.nixos.org - tests = { }; }; } From b5cec4415b610261186edf546d71f9ebdb4c1338 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 22 Jan 2026 22:32:56 +0100 Subject: [PATCH 003/109] minimal-bootstrap: make use of recurseIntoAttrsWith --- pkgs/top-level/all-packages.nix | 7 ++++++- pkgs/top-level/packages-config.nix | 6 ------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2b2c0cae9d32..a0bd7dff116a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9532,7 +9532,12 @@ with pkgs; }; mdadm = mdadm4; - minimal-bootstrap = recurseIntoAttrs ( + + # minimal-bootstrap packages aren't used for anything but bootstrapping our + # stdenv. They should not be used for any other purpose and therefore not + # show up in search results or repository tracking services that consume our + # packages.json https://github.com/NixOS/nixpkgs/issues/244966 + minimal-bootstrap = recurseIntoAttrsWith { search = false; } ( import ../os-specific/linux/minimal-bootstrap { inherit (stdenv) buildPlatform hostPlatform; inherit lib config; diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index aea086786a44..519c2e87a42f 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -19,11 +19,5 @@ # emacsPackages is an alias for emacs.pkgs # Re-introduce emacsPackages here so that emacs.pkgs can be searched. emacsPackages = emacs.pkgs; - - # minimal-bootstrap packages aren't used for anything but bootstrapping our - # stdenv. They should not be used for any other purpose and therefore not - # show up in search results or repository tracking services that consume our - # packages.json https://github.com/NixOS/nixpkgs/issues/244966 - minimal-bootstrap = { }; }; } From 9dc126bc2460619d39645c76e59570d31d03b209 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 22 Jan 2026 22:36:29 +0100 Subject: [PATCH 004/109] emacsPackages: make use of recurseIntoAttrsWith --- pkgs/top-level/all-packages.nix | 8 +++++--- pkgs/top-level/packages-config.nix | 4 ---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a0bd7dff116a..342dabdd6615 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10305,9 +10305,11 @@ with pkgs; pkgs' = pkgs; # default pkgs used for bootstrapping the emacs package set }; - # emacsPackages is exposed on search.nixos.org. - # Also see pkgs/top-level/packages-config.nix - emacsPackages = dontRecurseIntoAttrs emacs.pkgs; + # We want emacsPackages to be visible in search but not be build on hydra + emacsPackages = recurseIntoAttrsWith { + hydra = false; + eval = false; + } emacs.pkgs; espeak-classic = callPackage ../applications/audio/espeak { }; diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index 519c2e87a42f..094e7e50658e 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -15,9 +15,5 @@ inherit (super) rPackages ; - - # emacsPackages is an alias for emacs.pkgs - # Re-introduce emacsPackages here so that emacs.pkgs can be searched. - emacsPackages = emacs.pkgs; }; } From 9f1ea8601a3d908ade1c40538204de39a80a5293 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Thu, 22 Jan 2026 22:41:50 +0100 Subject: [PATCH 005/109] rPackages: make use of recurseIntoAttrsWith --- pkgs/top-level/all-packages.nix | 16 +++++++++++----- pkgs/top-level/packages-config.nix | 12 ------------ 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 342dabdd6615..326ec908bc36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8542,11 +8542,17 @@ with pkgs; rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; }; - rPackages = dontRecurseIntoAttrs ( - callPackage ../development/r-modules { - overrides = (config.rPackageOverrides or (_: { })) pkgs; - } - ); + rPackages = + recurseIntoAttrsWith + { + hydra = false; + eval = false; + } + ( + callPackage ../development/r-modules { + overrides = (config.rPackageOverrides or (_: { })) pkgs; + } + ); ### SERVERS diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix index 094e7e50658e..0137e02abfb0 100644 --- a/pkgs/top-level/packages-config.nix +++ b/pkgs/top-level/packages-config.nix @@ -4,16 +4,4 @@ allowAliases = false; allowVariants = false; recursionMode = "search"; - - # Enable recursion into attribute sets that nix-env normally doesn't look into - # so that we can get a more complete picture of the available packages for the - # purposes of the index. - packageOverrides = - super: - with super; - lib.mapAttrs (_: set: lib.recurseIntoAttrs set) { - inherit (super) - rPackages - ; - }; } From ca83a8ced9c26b3f9f727eb802806901f364a16b Mon Sep 17 00:00:00 2001 From: SchweGELBin Date: Mon, 16 Feb 2026 21:30:50 +0100 Subject: [PATCH 006/109] mautrix-discord: 0.7.5 -> 0.7.6 --- pkgs/by-name/ma/mautrix-discord/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ma/mautrix-discord/package.nix b/pkgs/by-name/ma/mautrix-discord/package.nix index c6d5939c2221..1b1704a13209 100644 --- a/pkgs/by-name/ma/mautrix-discord/package.nix +++ b/pkgs/by-name/ma/mautrix-discord/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "mautrix-discord"; - version = "0.7.5"; + version = "0.7.6"; src = fetchFromGitHub { owner = "mautrix"; repo = "discord"; rev = "v${version}"; - hash = "sha256-puYPsHahXdKYR16hPnvYCrSGqnWc7sZ8HmmPlkysvs0="; + hash = "sha256-qpyySoYX+JMEKDf7Iv5WSZFOxkrmd3ihAaAXAKcZs9Q="; }; - vendorHash = "sha256-ffdR5OymFO7di4eOmL3zn6BvHgaLFBsmBkC4LKnw8Qg="; + vendorHash = "sha256-ZjY2+1M1LP/zBVG5+zfX4T8Lyjx/tpDwSxLlpsBG3iA="; ldflags = [ "-s" From 7a5dabd9c8f9bd6748a6356f4c76a8f43f0b8aee Mon Sep 17 00:00:00 2001 From: Matthias Ahouansou Date: Fri, 27 Feb 2026 14:55:52 +0000 Subject: [PATCH 007/109] listenbrainz-mpd: add Kladki as maintainer --- pkgs/by-name/li/listenbrainz-mpd/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/listenbrainz-mpd/package.nix b/pkgs/by-name/li/listenbrainz-mpd/package.nix index 53a3e91947be..5dcab5b52be9 100644 --- a/pkgs/by-name/li/listenbrainz-mpd/package.nix +++ b/pkgs/by-name/li/listenbrainz-mpd/package.nix @@ -66,7 +66,10 @@ rustPlatform.buildRustPackage (finalAttrs: { changelog = "https://codeberg.org/elomatreb/listenbrainz-mpd/src/tag/v${finalAttrs.version}/CHANGELOG.md"; description = "ListenBrainz submission client for MPD"; license = lib.licenses.agpl3Only; - maintainers = with lib.maintainers; [ DeeUnderscore ]; + maintainers = with lib.maintainers; [ + DeeUnderscore + Kladki + ]; mainProgram = "listenbrainz-mpd"; }; }) From 220d68729d426309b96932caa40d8ea036b89bd0 Mon Sep 17 00:00:00 2001 From: Matthias Ahouansou Date: Fri, 27 Feb 2026 14:56:18 +0000 Subject: [PATCH 008/109] listenbrainz-mpd: add updateScript --- pkgs/by-name/li/listenbrainz-mpd/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/li/listenbrainz-mpd/package.nix b/pkgs/by-name/li/listenbrainz-mpd/package.nix index 5dcab5b52be9..d2eca95e2eb8 100644 --- a/pkgs/by-name/li/listenbrainz-mpd/package.nix +++ b/pkgs/by-name/li/listenbrainz-mpd/package.nix @@ -9,6 +9,7 @@ sqlite, installShellFiles, asciidoctor, + nix-update-script, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -61,6 +62,8 @@ rustPlatform.buildRustPackage (finalAttrs: { installManPage listenbrainz-mpd.1 ''; + passthru.updateScript = nix-update-script { }; + meta = { homepage = "https://codeberg.org/elomatreb/listenbrainz-mpd"; changelog = "https://codeberg.org/elomatreb/listenbrainz-mpd/src/tag/v${finalAttrs.version}/CHANGELOG.md"; From 9efdfbcd7630f24f433f7059502c5d6beb01b493 Mon Sep 17 00:00:00 2001 From: linsui <36977733+linsui@users.noreply.github.com> Date: Tue, 3 Mar 2026 15:04:02 +0800 Subject: [PATCH 009/109] i2p: 2.10.0 -> 2.11.0 --- pkgs/by-name/i2/i2p/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/i2/i2p/package.nix b/pkgs/by-name/i2/i2p/package.nix index 86adad7c1306..08966315466b 100644 --- a/pkgs/by-name/i2/i2p/package.nix +++ b/pkgs/by-name/i2/i2p/package.nix @@ -26,12 +26,13 @@ let "java.security.jgss" "java.sql" "java.xml" + "jdk.zipfs" ]; }; in stdenv.mkDerivation (finalAttrs: { pname = "i2p"; - version = "2.10.0"; + version = "2.11.0"; src = fetchzip { urls = [ @@ -42,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { "https://files.i2p-projekt.de/" "https://download.i2p2.no/releases/" ]); - hash = "sha256-Ogok7s5sawG27ucstG+NYiIAF66Pb3ExOYsL8mfNav8="; + hash = "sha256-NDiE3HhY18zZKLu1zkp3omwf8zmTJ9JPRIq34rDdpGc="; }; strictDeps = true; From 05a2c0ef9caa0f959cbe1b43c1f8d895fb991097 Mon Sep 17 00:00:00 2001 From: whispers Date: Sun, 15 Mar 2026 12:51:35 -0400 Subject: [PATCH 010/109] rustup: 1.28.2 -> 1.29.0 Release announcement: https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/ Changelog: https://github.com/rust-lang/rustup/blob/1.29.0/CHANGELOG.md We also switch from `export NIX_BUILD_CORES=1` in `preCheck` to `dontUseCargoParallelTests`, to make compiling test crates slightly faster while still running them serially to avoid the failures that parallel tests originally caused. --- .../0001-dynamically-patchelf-binaries.patch | 16 ++++++++-------- pkgs/development/tools/rust/rustup/default.nix | 15 ++++++++------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch index 59fcf039795c..edb83da77139 100644 --- a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch +++ b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch @@ -1,16 +1,16 @@ diff --git a/src/dist/component/package.rs b/src/dist/component/package.rs -index dfccc661..85233f3b 100644 +index dc545d4b62..4dd8ade86e 100644 --- a/src/dist/component/package.rs +++ b/src/dist/component/package.rs -@@ -113,6 +113,7 @@ impl Package for DirectoryPackage { +@@ -130,6 +130,7 @@ } else { builder.move_file(path.clone(), &src_path)? } + nix_patchelf_if_needed(&target.prefix().path().join(path.clone())) } - "dir" => { + ComponentPartKind::Dir => { if self.copy { -@@ -135,6 +136,176 @@ impl Package for DirectoryPackage { +@@ -152,6 +153,176 @@ } } @@ -31,7 +31,7 @@ index dfccc661..85233f3b 100644 + .parent() + .ok_or(anyhow!("failed to get parent directory"))? + .with_file_name("nix-support"); -+ let mut file = std::fs::File::create(dest_lld_path)?; ++ let mut file = fs::File::create(dest_lld_path)?; + ld_wrapper_path.push("ld-wrapper.sh"); + + let wrapped_script = format!( @@ -184,6 +184,6 @@ index dfccc661..85233f3b 100644 + } +} + - #[derive(Debug)] - pub(crate) struct TarPackage<'a>(DirectoryPackage, temp::Dir<'a>); - + /// Handle the async result of io operations + /// Replaces op.result with Ok(()) + fn filter_result(op: &mut CompletedIo) -> io::Result<()> { diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix index 43d1860bb03b..e191a9b2e151 100644 --- a/pkgs/development/tools/rust/rustup/default.nix +++ b/pkgs/development/tools/rust/rustup/default.nix @@ -25,16 +25,16 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "rustup"; - version = "1.28.2"; + version = "1.29.0"; src = fetchFromGitHub { owner = "rust-lang"; repo = "rustup"; tag = finalAttrs.version; - hash = "sha256-iX5hEaQwCW9MuyafjXml8jV3EDnxRNUlOoy3Cur/Iyw="; + hash = "sha256-jbB0nmXtc95Ac+YfmyELh6n5OTRMmeDPT4OFIlJNrZc="; }; - cargoHash = "sha256-KljaAzYHbny7KHOO51MotdmNpHCKWdt6kc/FIpFN6c0="; + cargoHash = "sha256-m/KoXNJh00zYKZo7MIJsBvo4zldfKdofrUh8AItJqXI="; nativeBuildInputs = [ makeBinaryWrapper @@ -78,9 +78,7 @@ rustPlatform.buildRustPackage (finalAttrs: { # TODO: Investigate this. doCheck = !stdenv.hostPlatform.isDarwin; # Random failures when running tests in parallel. - preCheck = '' - export NIX_BUILD_CORES=1 - ''; + dontUseCargoParallelTests = true; # skip failing tests checkFlags = [ @@ -89,7 +87,10 @@ rustPlatform.buildRustPackage (finalAttrs: { "--skip=suite::cli_exact::check_updates_some" "--skip=suite::cli_exact::check_updates_with_update" # rustup-init is not used in nix rustup - "--skip=suite::cli_ui::rustup_init_ui_doc_text_tests" + "--skip=suite::cli_rustup_init_ui" + # reaches out to the network to test TLS roots, which can't be done in the + # build sandbox + "--skip=suite::static_roots::store_static_roots" ]; postInstall = '' From bd4d6368fc7c2a164486396cb57ebbe496400693 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 17 Mar 2026 15:20:33 +0000 Subject: [PATCH 011/109] openrazer-daemon: 3.11.0 -> 3.12.0 --- pkgs/development/python-modules/openrazer/common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/openrazer/common.nix b/pkgs/development/python-modules/openrazer/common.nix index a2ab448303e8..cb93df1f0d69 100644 --- a/pkgs/development/python-modules/openrazer/common.nix +++ b/pkgs/development/python-modules/openrazer/common.nix @@ -1,13 +1,13 @@ { lib, fetchFromGitHub }: rec { - version = "3.11.0"; + version = "3.12.0"; pyproject = true; src = fetchFromGitHub { owner = "openrazer"; repo = "openrazer"; tag = "v${version}"; - hash = "sha256-pk3nghd16jhdf7zokwMzBGwGtBU7ta4nSHsOoGxjD4w="; + hash = "sha256-Sgn+7DABsTnRTx/lh/++JPmfsQ7dM6frkyzG0F5k2gA="; }; meta = { From 524ca256cfa83a85bbdc61ba404552a9f254bbf7 Mon Sep 17 00:00:00 2001 From: kilyanni Date: Wed, 11 Mar 2026 07:30:24 +0100 Subject: [PATCH 012/109] burn-central-cli: init at 0.4.0 --- pkgs/by-name/bu/burn-central-cli/package.nix | 54 ++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 pkgs/by-name/bu/burn-central-cli/package.nix diff --git a/pkgs/by-name/bu/burn-central-cli/package.nix b/pkgs/by-name/bu/burn-central-cli/package.nix new file mode 100644 index 000000000000..f4a9270dbc68 --- /dev/null +++ b/pkgs/by-name/bu/burn-central-cli/package.nix @@ -0,0 +1,54 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, + zlib, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "burn-central-cli"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "tracel-ai"; + repo = "burn-central-cli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-gZ92DFZPox6s4+EKPQ/uxWNV5+F7kYhSnv/Mtpur3Vo="; + }; + + buildAndTestSubdir = "crates/burn-central-cli"; + + cargoHash = "sha256-kUCjkkIog+xXFMTw8LAoHE/D6aBPR6S7Mtqg/Hjuw+o="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + # Pulled in by flate2 + zlib + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Command-line tool for interacting with Burn Central"; + longDescription = '' + The Burn Central CLI (burn) is the command-line tool for interacting + with Burn Central, the centralized platform for experiment tracking, + model sharing, and deployment for Burn users. + ''; + homepage = "https://github.com/tracel-ai/burn-central-cli"; + changelog = "https://github.com/tracel-ai/burn-central-cli/releases/tag/v${finalAttrs.version}"; + license = with lib.licenses; [ + mit + asl20 + ]; + maintainers = with lib.maintainers; [ kilyanni ]; + mainProgram = "burn"; + }; +}) From 37245a63b555a01579d0555710f4694886f0ca12 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Thu, 19 Mar 2026 13:18:00 -0400 Subject: [PATCH 013/109] uppaal: fix blank window on Wayland --- pkgs/by-name/up/uppaal/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/up/uppaal/package.nix b/pkgs/by-name/up/uppaal/package.nix index a2ef8f764987..ad8f57da5c36 100644 --- a/pkgs/by-name/up/uppaal/package.nix +++ b/pkgs/by-name/up/uppaal/package.nix @@ -64,7 +64,8 @@ stdenvNoCC.mkDerivation rec { makeWrapper $out/lib/uppaal/uppaal $out/bin/uppaal \ --set JAVA_HOME ${jdk17} \ --set PATH $out/lib/uppaal:$PATH \ - --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" + --prefix _JAVA_OPTIONS " " "-Dawt.useSystemAAFontSettings=gasp" \ + --set _JAVA_AWT_WM_NONREPARENTING 1 # Java Swing renders a blank window on Wayland without this runHook postInstall ''; From b6d5bd536ed3a874b231974db7cf1375d168aad3 Mon Sep 17 00:00:00 2001 From: Darren Rambaud <225436867+debtquity@users.noreply.github.com> Date: Fri, 20 Mar 2026 13:51:15 -0500 Subject: [PATCH 014/109] ory-hydra: 25.4.0 -> 26.2.0 * changelog: https://github.com/ory/hydra/releases/tag/v26.2.0 * diff: https://github.com/ory/hydra/compare/v25.4.0...v26.2.0 --- pkgs/by-name/or/ory-hydra/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/or/ory-hydra/package.nix b/pkgs/by-name/or/ory-hydra/package.nix index 97b54a394e3d..14ab16c90129 100644 --- a/pkgs/by-name/or/ory-hydra/package.nix +++ b/pkgs/by-name/or/ory-hydra/package.nix @@ -6,16 +6,16 @@ }: buildGoModule (finalAttrs: { pname = "hydra"; - version = "25.4.0"; + version = "26.2.0"; src = fetchFromGitHub { owner = "ory"; repo = "hydra"; tag = "v${finalAttrs.version}"; - hash = "sha256-vcbJiwWoq7WA7K5WpD68za1VecNwdzqfyXuPfUpa1QU="; + hash = "sha256-LnF1k/C9uPRY4xXeBCJPSQ8gxwwZx0N1e1s+Rhop5ic="; }; - vendorHash = "sha256-ADS1kBqSJXDwmCS4CCfiMvmlzzL39E0G4J2UEKXy2Qs="; + vendorHash = "sha256-KVCoDATyt5Qp0r3vGwdXqkjh0FEdNyKi6mXk99D6HD8="; # `json1` not needed (see: https://github.com/ory/hydra/commit/93edc9ad894771c67f46ae2c57ee7e50382d73cd) # `sqlite_omit_load_extension` consistency with upstream (see: https://github.com/ory/hydra/blob/master/.docker/Dockerfile-local-build#L20C58-L20C84). Will disable sqlite runtime extension loading (see: https://sqlite.org/loadext.html) From a07a83a6e57de3c62be84f192d82552ec86a74a5 Mon Sep 17 00:00:00 2001 From: Darren Rambaud <225436867+debtquity@users.noreply.github.com> Date: Fri, 20 Mar 2026 13:59:06 -0500 Subject: [PATCH 015/109] kratos: 25.4.0 -> 26.2.0 * changelog: https://github.com/ory/kratos/releases/tag/v26.2.0 * diff: https://github.com/ory/kratos/compare/v25.4.0...v26.2.0 --- pkgs/by-name/kr/kratos/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/kr/kratos/package.nix b/pkgs/by-name/kr/kratos/package.nix index 12b444b5c5f5..02b095a09925 100644 --- a/pkgs/by-name/kr/kratos/package.nix +++ b/pkgs/by-name/kr/kratos/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "kratos"; - version = "25.4.0"; + version = "26.2.0"; src = fetchFromGitHub { owner = "ory"; repo = "kratos"; rev = "v${finalAttrs.version}"; - hash = "sha256-f/K86B5h7xM7Zsbr5w2rZgsyNlCSemrBkqtMRQq/Xws="; + hash = "sha256-u298vFFD/zc7ScdQ5rmvcHqkMMenMVIRC9GChfukml8="; }; - vendorHash = "sha256-ayL3V8TQ+9Tk2Wkhvn+Tft9AqxiFegznKXD0eBkFbhs="; + vendorHash = "sha256-qnG8hdWazKlIFfNPz2z5F7hhgZaTTttUBbg59T+N5OI="; subPackages = [ "." ]; From 47f346ef6fe6dd58d8f825a899b77584c6682ac2 Mon Sep 17 00:00:00 2001 From: Darren Rambaud <225436867+debtquity@users.noreply.github.com> Date: Fri, 20 Mar 2026 14:03:10 -0500 Subject: [PATCH 016/109] kratos: add debtquity to maintainers * add self as maintainer --- pkgs/by-name/kr/kratos/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/kr/kratos/package.nix b/pkgs/by-name/kr/kratos/package.nix index 02b095a09925..9680d6b3989a 100644 --- a/pkgs/by-name/kr/kratos/package.nix +++ b/pkgs/by-name/kr/kratos/package.nix @@ -48,6 +48,9 @@ buildGoModule (finalAttrs: { description = "API-first Identity and User Management system that is built according to cloud architecture best practices"; homepage = "https://www.ory.sh/kratos/"; license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ mrmebelman ]; + maintainers = with lib.maintainers; [ + mrmebelman + debtquity + ]; }; }) From 690e0232535c2acc25d58688b06154833b625e5b Mon Sep 17 00:00:00 2001 From: Darren Rambaud <225436867+debtquity@users.noreply.github.com> Date: Fri, 20 Mar 2026 14:07:54 -0500 Subject: [PATCH 017/109] keto: 25.4.0 -> 26.2.0 * changelog: https://github.com/ory/keto/releases/tag/v26.2.0 * diff: https://github.com/ory/keto/compare/v25.4.0...v26.2.0 --- pkgs/by-name/ke/keto/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ke/keto/package.nix b/pkgs/by-name/ke/keto/package.nix index 582bae643c67..2c65e602a957 100644 --- a/pkgs/by-name/ke/keto/package.nix +++ b/pkgs/by-name/ke/keto/package.nix @@ -5,8 +5,8 @@ }: let pname = "keto"; - version = "25.4.0"; - commit = "f5635433a56324f266ea414727bf7395bb2da429"; + version = "26.2.0"; + commit = "e4393662cd2e744deeb79de77669e07b6ccf51f3"; in buildGoModule { inherit pname version commit; @@ -15,10 +15,10 @@ buildGoModule { owner = "ory"; repo = "keto"; rev = "v${version}"; - hash = "sha256-2DktCLYOj2azYBAhMVuqfU7QQ+eC3qDLtcp+fPljFAg="; + hash = "sha256-wRtz4RvJ7LxVnSLmXVZFGa9QXjcPnDNJxHKosbyTed0="; }; - vendorHash = "sha256-+zHvIf3CBMMqKVmQYzMRGQg9iGf9Khnhpgt95lA0BBA="; + vendorHash = "sha256-B27aC4yXS36eOoq53+RWp0vq1Oqw2aR+gOjv0m+b/I4="; tags = [ "sqlite" From 148bd87563903dad18e994e341a459e6e3512275 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 21 Mar 2026 13:03:06 +0100 Subject: [PATCH 018/109] openexr_2: Replace meta.insecure with meta.knownVulnerabilities The former never did anything to warn users about this package being insecure. --- pkgs/development/libraries/openexr/2.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/openexr/2.nix b/pkgs/development/libraries/openexr/2.nix index f17381c9c9b1..aca401ee32c9 100644 --- a/pkgs/development/libraries/openexr/2.nix +++ b/pkgs/development/libraries/openexr/2.nix @@ -75,6 +75,20 @@ stdenv.mkDerivation rec { homepage = "https://www.openexr.com/"; license = lib.licenses.bsd3; platforms = lib.platforms.all; - insecure = true; + knownVulnerabilities = [ + "CVE-2021-3598: ImfDeepScanLineInputFile Out-of-Bounds Read" + "CVE-2021-3605: rleUncompress Out-of-Bounds Read" + "CVE-2021-3933: Integer Overflow Vulnerability in File Processing on 32-bit Systems" + "CVE-2021-23169: copyIntoFrameBuffer Heap Buffer Overflow Leading to Arbitrary Code Execution" + "CVE-2021-23215: DwaCompressor Integer Overflow Leads to Heap Buffer Overflow" + "CVE-2021-26260: DwaCompressor Integer Overflow Leading to Heap Buffer Overflow" + "CVE-2021-26945: Integer Overflow Leading to Heap Buffer Overflow" + "CVE-2023-5841: Heap Overflow in Scanline Deep Data Parsing" + "CVE-2024-31047: convert Function Denial of Service" + "CVE-2025-12495: EXR File Parsing Heap-based Buffer Overflow Remote Code Execution" + "CVE-2025-12839: EXR File Parsing Heap-based Buffer Overflow Remote Code Execution" + "CVE-2025-12840: EXR File Parsing Heap-based Buffer Overflow Remote Code Execution" + "CVE-2026-27622: CompositeDeepScanLine integer-overflow leads to heap OOB write" + ]; }; } From db9e17da82c3f7d7c1a47c989c36844ab6eac518 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 21 Mar 2026 13:06:42 +0100 Subject: [PATCH 019/109] ilmbase: Repalce meta.insecure with meta.knownVulnerabilities The former never did anything to warn users about this package being insecure. Uses openexr_2's src, so I assume there may be shared vulnerabilities. --- pkgs/by-name/il/ilmbase/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/il/ilmbase/package.nix b/pkgs/by-name/il/ilmbase/package.nix index 465bd610b3a8..82f387fb0ec1 100644 --- a/pkgs/by-name/il/ilmbase/package.nix +++ b/pkgs/by-name/il/ilmbase/package.nix @@ -38,6 +38,6 @@ stdenv.mkDerivation { homepage = "https://www.openexr.com/"; license = lib.licenses.bsd3; platforms = lib.platforms.all; - insecure = true; + inherit (openexr_2.meta) knownVulnerabilities; }; } From 4b7353eeb5bb6d456a862d01105b66a419f8d0b2 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 21 Mar 2026 13:07:38 +0100 Subject: [PATCH 020/109] gegl: Switch to openexr v3 openexr v2 has been known-insecure for years. --- pkgs/by-name/ge/gegl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ge/gegl/package.nix b/pkgs/by-name/ge/gegl/package.nix index a59ce0cf13d6..d1da3ad9284f 100644 --- a/pkgs/by-name/ge/gegl/package.nix +++ b/pkgs/by-name/ge/gegl/package.nix @@ -29,7 +29,7 @@ gexiv2, libwebp, luajit, - openexr_2, + openexr, suitesparse, withLuaJIT ? lib.meta.availableOn stdenv.hostPlatform luajit, gimp, @@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: { libraw libwebp gexiv2 - openexr_2 + openexr suitesparse ] ++ lib.optionals stdenv.cc.isClang [ From 07199b02834e4be583cc47ea857f0b19a5d11b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Pitucha?= Date: Wed, 25 Mar 2026 22:56:39 +1100 Subject: [PATCH 021/109] re-plistbuddy: init at 1.1.0 --- pkgs/by-name/re/re-plistbuddy/package.nix | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 pkgs/by-name/re/re-plistbuddy/package.nix diff --git a/pkgs/by-name/re/re-plistbuddy/package.nix b/pkgs/by-name/re/re-plistbuddy/package.nix new file mode 100644 index 000000000000..8e51a23b8378 --- /dev/null +++ b/pkgs/by-name/re/re-plistbuddy/package.nix @@ -0,0 +1,26 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, +}: +rustPlatform.buildRustPackage rec { + pname = "re-plistbuddy"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "viraptor"; + repo = "re-plistbuddy"; + tag = version; + hash = "sha256-Iumrj0JLpdrS3cg3jAj/Wrbx7PthlCnTuRMYsYdywyw="; + }; + + cargoHash = "sha256-RyHM6CMxdhDJrg6mGt8jQCDLVjt0BiLYswelOHoellw="; + + meta = { + description = "Open reimplementation of Apple's PlistBuddy and plutil"; + homepage = "https://github.com/viraptor/re-plistbuddy"; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ viraptor ]; + platforms = lib.platforms.darwin; + }; +} From d9f25fb687190f933af0af4e5c2939044a605e21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Pitucha?= Date: Wed, 25 Mar 2026 22:58:45 +1100 Subject: [PATCH 022/109] betterdisplay,cyberduck,enpass-mac: use re-plistbuddy instead of xcbuild --- pkgs/by-name/be/betterdisplay/package.nix | 4 ++-- pkgs/by-name/cy/cyberduck/package.nix | 7 +++---- pkgs/by-name/en/enpass-mac/package.nix | 7 +++---- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/be/betterdisplay/package.nix b/pkgs/by-name/be/betterdisplay/package.nix index fa2c511d2b8c..275f7652af3c 100644 --- a/pkgs/by-name/be/betterdisplay/package.nix +++ b/pkgs/by-name/be/betterdisplay/package.nix @@ -6,7 +6,7 @@ nix-update-script, versionCheckHook, writeShellScript, - xcbuild, + re-plistbuddy, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -37,7 +37,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgram = writeShellScript "version-check" '' - ${xcbuild}/bin/PlistBuddy -c "Print :CFBundleShortVersionString" "$1" + ${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleShortVersionString" "$1" ''; versionCheckProgramArg = [ "${placeholder "out"}/Applications/BetterDisplay.app/Contents/Info.plist" diff --git a/pkgs/by-name/cy/cyberduck/package.nix b/pkgs/by-name/cy/cyberduck/package.nix index 8ec704005524..fb23195c4578 100644 --- a/pkgs/by-name/cy/cyberduck/package.nix +++ b/pkgs/by-name/cy/cyberduck/package.nix @@ -6,8 +6,7 @@ makeBinaryWrapper, versionCheckHook, writeShellScript, - coreutils, - xcbuild, + re-plistbuddy, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "cyberduck"; @@ -36,8 +35,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgram = writeShellScript "version-check" '' - marketing_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleShortVersionString" "$1" | ${coreutils}/bin/tr -d '"') - build_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleVersion" "$1") + marketing_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleShortVersionString" "$1") + build_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleVersion" "$1") echo $marketing_version.$build_version ''; diff --git a/pkgs/by-name/en/enpass-mac/package.nix b/pkgs/by-name/en/enpass-mac/package.nix index ecc81914c6a7..b1ee0150ace4 100644 --- a/pkgs/by-name/en/enpass-mac/package.nix +++ b/pkgs/by-name/en/enpass-mac/package.nix @@ -12,8 +12,7 @@ common-updater-scripts, versionCheckHook, writeShellScript, - coreutils, - xcbuild, + re-plistbuddy, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -71,8 +70,8 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgram = writeShellScript "version-check" '' - marketing_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleShortVersionString" "$1" | ${coreutils}/bin/tr -d '"') - build_version=$(${xcbuild}/bin/PlistBuddy -c "Print :CFBundleVersion" "$1") + marketing_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleShortVersionString" "$1") + build_version=$(${lib.getExe' re-plistbuddy "PlistBuddy"} -c "Print :CFBundleVersion" "$1") echo $marketing_version.$build_version ''; From a94383053c4a1b7e70973178acf5fa82e51acf32 Mon Sep 17 00:00:00 2001 From: April John Date: Wed, 25 Mar 2026 14:09:00 +0100 Subject: [PATCH 023/109] ffmpreg: init at 0.1.2-unstable-2026-03-25 --- pkgs/by-name/ff/ffmpreg/package.nix | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 pkgs/by-name/ff/ffmpreg/package.nix diff --git a/pkgs/by-name/ff/ffmpreg/package.nix b/pkgs/by-name/ff/ffmpreg/package.nix new file mode 100644 index 000000000000..6d2161b71e7a --- /dev/null +++ b/pkgs/by-name/ff/ffmpreg/package.nix @@ -0,0 +1,27 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: + +rustPlatform.buildRustPackage { + pname = "ffmpreg"; + version = "0.1.2-unstable-2026-03-25"; + + src = fetchFromGitHub { + owner = "yazaldefilimone"; + repo = "ffmpreg"; + rev = "a6fca970b98357ccd275acd797673ef7cf4ca02f"; + hash = "sha256-p2dtNmJ7fXFzgsfg32Tmr6xr1wuZAHziNgMeUOfyjgw="; + }; + + cargoHash = "sha256-GxUBhFWoAq6zCDHWTiZ/pC6BWu4JcW71Sh9Du2H36wg="; + + meta = { + description = "Experimental safe Rust-native multimedia toolkit for decoding, transforming, and encoding audio and video"; + homepage = "https://github.com/yazaldefilimone/ffmpreg"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ aprl ]; + mainProgram = "ffmpreg"; + }; +} From 9f86c9e8cf9435a32567ce32ab8ef17d6248eed3 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Thu, 26 Mar 2026 16:46:43 +0100 Subject: [PATCH 024/109] nextcloudPackages: update --- pkgs/servers/nextcloud/packages/32.json | 24 ++++++++++++------------ pkgs/servers/nextcloud/packages/33.json | 24 ++++++++++++------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pkgs/servers/nextcloud/packages/32.json b/pkgs/servers/nextcloud/packages/32.json index 153d6547356a..50e5aa83d923 100644 --- a/pkgs/servers/nextcloud/packages/32.json +++ b/pkgs/servers/nextcloud/packages/32.json @@ -30,9 +30,9 @@ ] }, "collectives": { - "hash": "sha256-BYgY9kC91ftpw/eXlFT5ryNhjz138pzPoIh89k46GZ8=", - "url": "https://github.com/nextcloud/collectives/releases/download/v4.1.0/collectives-4.1.0.tar.gz", - "version": "4.1.0", + "hash": "sha256-h6Krtrm9YLZ0TEfsInN2bmY+/2v4Gyef5x0TIo9n/Ns=", + "url": "https://github.com/nextcloud/collectives/releases/download/v4.2.0/collectives-4.2.0.tar.gz", + "version": "4.2.0", "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.", "homepage": "https://github.com/nextcloud/collectives", "licenses": [ @@ -420,9 +420,9 @@ ] }, "twofactor_admin": { - "hash": "sha256-tZG2NCd4WxnPwf1KJq5mBX7Zfy0rDjigJGOw2qypUlU=", - "url": "https://github.com/nextcloud-releases/twofactor_admin/releases/download/v4.11.0/twofactor_admin-v4.11.0.tar.gz", - "version": "4.11.0", + "hash": "sha256-dx8bEsC/rSAKN9rwP2hf3d8G3f3J1RzCrSqU6BbcvRY=", + "url": "https://github.com/nextcloud-releases/twofactor_admin/releases/download/v4.11.1/twofactor_admin-v4.11.1.tar.gz", + "version": "4.11.1", "description": "This two-factor auth (2FA) provider for Nextcloud allows admins to generate a one-time\n\t\tcode for users to log into a 2FA protected account. This is helpful in situations where\n\t\tusers have lost access to their other 2FA methods or mandatory 2FA without any previously\n\t\tenabled 2FA provider.", "homepage": "", "licenses": [ @@ -460,9 +460,9 @@ ] }, "user_oidc": { - "hash": "sha256-Xl35Ss/P6PvK6pvm7i/J+0EHJaLPbOCffR8ZT5c3XA4=", - "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v8.6.1/user_oidc-v8.6.1.tar.gz", - "version": "8.6.1", + "hash": "sha256-wAAooaPTsCjCS6UCzUuFeSJ6EUnXPYo3TK6jXLs/Lfk=", + "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v8.7.0/user_oidc-v8.7.0.tar.gz", + "version": "8.7.0", "description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.", "homepage": "https://github.com/nextcloud/user_oidc", "licenses": [ @@ -470,9 +470,9 @@ ] }, "user_saml": { - "hash": "sha256-oezyc/YXOG1vlw8kNLfVkhA7/WVWfTnL/hb1KSY78ho=", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v7.1.3/user_saml-v7.1.3.tar.gz", - "version": "7.1.3", + "hash": "sha256-A4e4LYCcrt+LcyrSK9vQoNGG/a+bZU6K4umajrgDBIM=", + "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v7.1.4/user_saml-v7.1.4.tar.gz", + "version": "7.1.4", "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", "homepage": "https://github.com/nextcloud/user_saml", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/33.json b/pkgs/servers/nextcloud/packages/33.json index 593f7afdd3ad..3e1d2e1abfb6 100644 --- a/pkgs/servers/nextcloud/packages/33.json +++ b/pkgs/servers/nextcloud/packages/33.json @@ -30,9 +30,9 @@ ] }, "collectives": { - "hash": "sha256-BYgY9kC91ftpw/eXlFT5ryNhjz138pzPoIh89k46GZ8=", - "url": "https://github.com/nextcloud/collectives/releases/download/v4.1.0/collectives-4.1.0.tar.gz", - "version": "4.1.0", + "hash": "sha256-h6Krtrm9YLZ0TEfsInN2bmY+/2v4Gyef5x0TIo9n/Ns=", + "url": "https://github.com/nextcloud/collectives/releases/download/v4.2.0/collectives-4.2.0.tar.gz", + "version": "4.2.0", "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.", "homepage": "https://github.com/nextcloud/collectives", "licenses": [ @@ -420,9 +420,9 @@ ] }, "twofactor_admin": { - "hash": "sha256-tZG2NCd4WxnPwf1KJq5mBX7Zfy0rDjigJGOw2qypUlU=", - "url": "https://github.com/nextcloud-releases/twofactor_admin/releases/download/v4.11.0/twofactor_admin-v4.11.0.tar.gz", - "version": "4.11.0", + "hash": "sha256-dx8bEsC/rSAKN9rwP2hf3d8G3f3J1RzCrSqU6BbcvRY=", + "url": "https://github.com/nextcloud-releases/twofactor_admin/releases/download/v4.11.1/twofactor_admin-v4.11.1.tar.gz", + "version": "4.11.1", "description": "This two-factor auth (2FA) provider for Nextcloud allows admins to generate a one-time\n\t\tcode for users to log into a 2FA protected account. This is helpful in situations where\n\t\tusers have lost access to their other 2FA methods or mandatory 2FA without any previously\n\t\tenabled 2FA provider.", "homepage": "", "licenses": [ @@ -460,9 +460,9 @@ ] }, "user_oidc": { - "hash": "sha256-Xl35Ss/P6PvK6pvm7i/J+0EHJaLPbOCffR8ZT5c3XA4=", - "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v8.6.1/user_oidc-v8.6.1.tar.gz", - "version": "8.6.1", + "hash": "sha256-wAAooaPTsCjCS6UCzUuFeSJ6EUnXPYo3TK6jXLs/Lfk=", + "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v8.7.0/user_oidc-v8.7.0.tar.gz", + "version": "8.7.0", "description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.", "homepage": "https://github.com/nextcloud/user_oidc", "licenses": [ @@ -470,9 +470,9 @@ ] }, "user_saml": { - "hash": "sha256-oezyc/YXOG1vlw8kNLfVkhA7/WVWfTnL/hb1KSY78ho=", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v7.1.3/user_saml-v7.1.3.tar.gz", - "version": "7.1.3", + "hash": "sha256-A4e4LYCcrt+LcyrSK9vQoNGG/a+bZU6K4umajrgDBIM=", + "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v7.1.4/user_saml-v7.1.4.tar.gz", + "version": "7.1.4", "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", "homepage": "https://github.com/nextcloud/user_saml", "licenses": [ From e47d43c4c1c137ad8d107b42bc5087d9b773f322 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Thu, 26 Mar 2026 17:28:20 +0100 Subject: [PATCH 025/109] nextcloud32: 32.0.6 -> 32.0.7 --- pkgs/servers/nextcloud/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 6b21667d761d..9147cec754b5 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -53,8 +53,8 @@ let in { nextcloud32 = generic { - version = "32.0.6"; - hash = "sha256-RLwz/A4xplC7UguxI8CqplGbf3uThhM9Vhred+U/cTA="; + version = "32.0.7"; + hash = "sha256-RQtPKybIO+TXuGgiKafYaOKAL9VK6PPuY2dhiZVjenY="; packages = nextcloud32Packages; }; From f4e5d5bb8297ad50417534b3122a125ae2d43e48 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Thu, 26 Mar 2026 17:28:34 +0100 Subject: [PATCH 026/109] nextcloud33: 33.0.0 -> 33.0.1 --- pkgs/servers/nextcloud/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 9147cec754b5..73408318ef7d 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -59,8 +59,8 @@ in }; nextcloud33 = generic { - version = "33.0.0"; - hash = "sha256-b3cwkCJpyHn58q1KoKInyxa1QI7kbwk/aL0yYz90Gr8="; + version = "33.0.1"; + hash = "sha256-0D8V3p36Zq1zjjfFDnek8BfCaAzcuYQlwg2rQwjQ+Ms="; packages = nextcloud33Packages; }; From 261719a2d4a2899b17bd035ba9ec80da8d04cce0 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 10 Mar 2026 17:59:37 +0100 Subject: [PATCH 027/109] {libsForQt5.libqtdbustest,libsForQt5.libqtdbusmock}: Rename from {libqtdbustest,libqtdbusmock} For future Qt6 builds of these, to be used in Qt6 Lomiri builds. --- pkgs/by-name/ay/ayatana-indicator-display/package.nix | 6 ++---- pkgs/by-name/ay/ayatana-indicator-sound/package.nix | 6 ++---- pkgs/top-level/aliases.nix | 2 ++ pkgs/top-level/all-packages.nix | 8 -------- pkgs/top-level/qt5-packages.nix | 8 ++++++++ 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/pkgs/by-name/ay/ayatana-indicator-display/package.nix b/pkgs/by-name/ay/ayatana-indicator-display/package.nix index 83adddf1ae61..c13451700809 100644 --- a/pkgs/by-name/ay/ayatana-indicator-display/package.nix +++ b/pkgs/by-name/ay/ayatana-indicator-display/package.nix @@ -15,8 +15,6 @@ intltool, libayatana-common, libgudev, - libqtdbusmock, - libqtdbustest, librda, libsForQt5, lomiri, @@ -91,8 +89,8 @@ stdenv.mkDerivation (finalAttrs: { checkInputs = [ gtest - libqtdbusmock - libqtdbustest + libsForQt5.libqtdbusmock + libsForQt5.libqtdbustest properties-cpp ]; diff --git a/pkgs/by-name/ay/ayatana-indicator-sound/package.nix b/pkgs/by-name/ay/ayatana-indicator-sound/package.nix index 142aefe75ad6..623925635e97 100644 --- a/pkgs/by-name/ay/ayatana-indicator-sound/package.nix +++ b/pkgs/by-name/ay/ayatana-indicator-sound/package.nix @@ -16,8 +16,6 @@ libgee, libnotify, libpulseaudio, - libqtdbusmock, - libqtdbustest, libsForQt5, libxml2, lomiri, @@ -99,8 +97,8 @@ stdenv.mkDerivation (finalAttrs: { dbus-test-runner gtest libsForQt5.qtbase - libqtdbusmock - libqtdbustest + libsForQt5.libqtdbusmock + libsForQt5.libqtdbustest lomiri.gmenuharness ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9718610bf171..9690224d617f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1066,6 +1066,8 @@ mapAliases { libpthreadstubs = libpthread-stubs; # Added 2025-02-04 libpulseaudio-vanilla = throw "'libpulseaudio-vanilla' has been renamed to/replaced by 'libpulseaudio'"; # Converted to throw 2025-10-27 libqt5pas = throw "'libqt5pas' has been renamed to/replaced by 'libsForQt5.libqtpas'"; # Converted to throw 2025-10-27 + libqtdbusmock = warnAlias "'libqtdbusmock' has been renamed to 'libsForQt5.libqtdbusmock'"; # Added 2026-03-10 + libqtdbustest = warnAlias "'libqtdbustest' has been renamed to 'libsForQt5.libqtdbustest'"; # Added 2026-03-10 libquotient = throw "'libquotient' for qt5 was removed as upstream removed qt5 support. Consider explicitly upgrading to qt6 'libquotient'"; # Converted to throw 2025-07-04 LibreArp = throw "'LibreArp' has been renamed to/replaced by 'librearp'"; # Converted to throw 2025-10-27 LibreArp-lv2 = throw "'LibreArp-lv2' has been renamed to/replaced by 'librearp-lv2'"; # Converted to throw 2025-10-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 75de0d300208..00d5c1f4f8a1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6724,14 +6724,6 @@ with pkgs; inherit (callPackage ../development/libraries/libliftoff { }) libliftoff_0_4 libliftoff_0_5; libliftoff = libliftoff_0_5; - libqtdbusmock = libsForQt5.callPackage ../development/libraries/libqtdbusmock { - inherit (lomiri) cmake-extras; - }; - - libqtdbustest = libsForQt5.callPackage ../development/libraries/libqtdbustest { - inherit (lomiri) cmake-extras; - }; - libretranslate = with python3.pkgs; toPythonApplication libretranslate; librsb = callPackage ../development/libraries/librsb { diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index 58c73a157878..570f96850641 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -116,6 +116,14 @@ makeScopeWithSplicing' { libqofono = callPackage ../development/libraries/libqofono { }; + libqtdbusmock = callPackage ../development/libraries/libqtdbusmock { + inherit (pkgs.lomiri) cmake-extras; + }; + + libqtdbustest = callPackage ../development/libraries/libqtdbustest { + inherit (pkgs.lomiri) cmake-extras; + }; + libqtpas = callPackage ../development/compilers/fpc/libqtpas.nix { }; libqaccessibilityclient = callPackage ../development/libraries/libqaccessibilityclient { }; From 5c1a7e1ad207a1a373e6dd4e5e937b51db80fef9 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Thu, 26 Mar 2026 13:50:17 +0100 Subject: [PATCH 028/109] libsForQt5.qmenumodel: Rename from qmenumodel For future Qt6 build of this, to be used in Qt6 Lomiri packages. --- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 4 ---- pkgs/top-level/qt5-packages.nix | 4 ++++ 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9690224d617f..eeb1064b9fd3 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1681,6 +1681,7 @@ mapAliases { qflipper = throw "'qflipper' has been renamed to/replaced by 'qFlipper'"; # Converted to throw 2025-10-27 qMasterPassword = warnAlias "'qMasterPassword' has been renamed to/replaced by 'qmasterpassword'" qmasterpassword; # Added 2026-02-01 qMasterPassword-wayland = warnAlias "'qMasterPassword-wayland' has been renamed to/replaced by 'qmasterpassword-wayland'" qmasterpassword-wayland; # Added 2026-02-01 + qmenumodel = warnAlias "'qmenumodel' has been renamed to 'libsForQt5.qmenumodel'"; # Added 2026-03-26 qnial = throw "'qnial' has been removed due to failing to build and being unmaintained"; # Added 2025-06-26 qrscan = throw "qrscan has been removed, as it does not build with supported LLVM versions"; # Added 2025-08-19 qscintilla = throw "'qscintilla' has been renamed to/replaced by 'libsForQt5.qscintilla'"; # Converted to throw 2025-10-27 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 00d5c1f4f8a1..09f968c47c25 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7280,10 +7280,6 @@ with pkgs; qdjango = libsForQt5.callPackage ../development/libraries/qdjango { }; - qmenumodel = libsForQt5.callPackage ../development/libraries/qmenumodel { - inherit (lomiri) cmake-extras; - }; - quarto = callPackage ../development/libraries/quarto { }; quartoMinimal = callPackage ../development/libraries/quarto { diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index 570f96850641..0daf7f661e54 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -169,6 +169,10 @@ makeScopeWithSplicing' { qjson = callPackage ../development/libraries/qjson { }; + qmenumodel = callPackage ../development/libraries/qmenumodel { + inherit (pkgs.lomiri) cmake-extras; + }; + qmltermwidget = callPackage ../development/libraries/qmltermwidget { }; qoauth = callPackage ../development/libraries/qoauth { }; From eeffabacd0ac09ab0c91eee859b13306576d5782 Mon Sep 17 00:00:00 2001 From: Mistyttm Date: Sun, 1 Mar 2026 18:02:54 +1000 Subject: [PATCH 029/109] tdarr: fix update script to handle non-ASCII zip entries nix-prefetch-url --unpack uses libarchive which fails on zip files containing non-ASCII filenames. Replace with curl + unzip + nix hash path to avoid the locale issue. --- pkgs/tools/misc/tdarr/update-hashes.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/misc/tdarr/update-hashes.sh b/pkgs/tools/misc/tdarr/update-hashes.sh index 822ff243d9ca..9e50086ca940 100755 --- a/pkgs/tools/misc/tdarr/update-hashes.sh +++ b/pkgs/tools/misc/tdarr/update-hashes.sh @@ -1,4 +1,5 @@ -#!/usr/bin/env bash +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq unzip set -euo pipefail # Updates tdarr packages to the latest version @@ -20,11 +21,12 @@ fi echo "Latest version: $LATEST_VERSION" >&2 -# Check current version in common.nix -CURRENT_VERSION=$(grep -oP '(?<=version = ")[^"]+' "$COMMON_FILE" 2>/dev/null) +# Use the current version injected by update.nix, falling back to grepping common.nix for standalone use +CURRENT_VERSION="${UPDATE_NIX_OLD_VERSION:-$(grep -oP '(?<=version = ")[^"]+' "$COMMON_FILE")}" if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then echo "Tdarr packages are already on the latest version ($LATEST_VERSION)" >&2 + echo "[]" exit 0 fi @@ -32,7 +34,14 @@ echo "Updating from $CURRENT_VERSION to $LATEST_VERSION..." >&2 fetch_and_convert() { local url=$1 - nix-prefetch-url --unpack "$url" 2>/dev/null | xargs nix hash convert --hash-algo sha256 --to sri + local tmpdir + tmpdir=$(mktemp -d) + # Clean up temp directory on return + trap "rm -rf '$tmpdir'" RETURN + + curl -sSL -o "$tmpdir/archive.zip" "$url" || { echo "Error: failed to download $url" >&2; return 1; } + unzip -q "$tmpdir/archive.zip" -d "$tmpdir/unpacked" || { echo "Error: failed to unzip $url" >&2; return 1; } + nix hash path "$tmpdir/unpacked" } # Fetch all hashes for both server and node From 860da1ba421e76681fa8fdd986912c610ba8d55d Mon Sep 17 00:00:00 2001 From: Mistyttm Date: Sun, 1 Mar 2026 18:04:12 +1000 Subject: [PATCH 030/109] tdarr: 2.58.02 -> 2.66.01 --- pkgs/tools/misc/tdarr/common.nix | 7 ++----- pkgs/tools/misc/tdarr/node.nix | 8 ++++---- pkgs/tools/misc/tdarr/server.nix | 8 ++++---- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/pkgs/tools/misc/tdarr/common.nix b/pkgs/tools/misc/tdarr/common.nix index dd08fb81adde..6ef7469c2308 100644 --- a/pkgs/tools/misc/tdarr/common.nix +++ b/pkgs/tools/misc/tdarr/common.nix @@ -100,7 +100,7 @@ let in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "2.58.02"; + version = "2.66.01"; src = fetchzip { url = "https://storage.tdarr.io/versions/${finalAttrs.version}/${platform}/${componentName}.zip"; @@ -160,9 +160,6 @@ stdenv.mkDerivation (finalAttrs: { postInstall = '' makeWrapper $out/share/${pname}/${componentName} $out/bin/${pname} ${commonWrapperArgs} - '' - # TODO: Check on each update to see if the Tdarr_Node_tray gets re-added to the aarch64-linux build. Reach out to upstream? - + lib.optionalString (stdenv.hostPlatform.system != "aarch64-linux") '' makeWrapper $out/share/${pname}/${componentTrayName} $out/bin/${pname}-tray ${commonWrapperArgs} '' + lib.optionalString installIcons '' @@ -177,7 +174,7 @@ stdenv.mkDerivation (finalAttrs: { '' + ""; - desktopItems = lib.optionals (stdenv.isLinux && stdenv.hostPlatform.system != "aarch64-linux") [ + desktopItems = lib.optionals stdenv.isLinux [ (makeDesktopItem { desktopName = "Tdarr ${componentUpper} Tray"; name = "Tdarr ${componentUpper} Tray"; diff --git a/pkgs/tools/misc/tdarr/node.nix b/pkgs/tools/misc/tdarr/node.nix index 45c910ba00e4..869ac289ce23 100644 --- a/pkgs/tools/misc/tdarr/node.nix +++ b/pkgs/tools/misc/tdarr/node.nix @@ -5,9 +5,9 @@ callPackage ./common.nix { } { component = "node"; hashes = { - linux_x64 = "sha256-+vD5oaoYh/bOCuk/Bxc8Fsm9UnFICownSKvg9i726nk="; - linux_arm64 = "sha256-2uPtEno0dSdVBg5hCiUuvBCB5tuTOcpeU2BuXPiqdUU="; - darwin_x64 = "sha256-8O5J1qFpQxD6fzojxjWnbkS4XQoCZauxCtbl/drplfI="; - darwin_arm64 = "sha256-oA+nTkO4LDAX5/cGkjNOLnPu0Rss9el+4JF8PBEfsPQ="; + linux_x64 = "sha256-3dd8ouRfThm481rDJDnxxUuSkqNlFR+2aywPzyy7xrw="; + linux_arm64 = "sha256-LD/cQECal9dLZY/FQSFztOVzd7MaeHL1rdbMUJ2DPNY="; + darwin_x64 = "sha256-icgzoHqZ+P6gXJ8jQTau3O2D6uRvET4MtNoWJI/JnvM="; + darwin_arm64 = "sha256-Rw478IpDLLe+Ek3Jt5Duaq1sHL1D3pE0HkVqk+v1ECE="; }; } diff --git a/pkgs/tools/misc/tdarr/server.nix b/pkgs/tools/misc/tdarr/server.nix index 96e40e403508..65c17f87598b 100644 --- a/pkgs/tools/misc/tdarr/server.nix +++ b/pkgs/tools/misc/tdarr/server.nix @@ -5,10 +5,10 @@ callPackage ./common.nix { } { component = "server"; hashes = { - linux_x64 = "sha256-+nxwSGAkA+BPf481N6KHW7s0iJzoGFPWp0XCbsVEwrI="; - linux_arm64 = "sha256-tA5VX27XmH3C4Bkll2mJlr1BYz5V7PPvzbJeaDht7uI="; - darwin_x64 = "sha256-jgHEezqtzUWTIvmxsmV1VgaXY9wHePkg6bQO16eSSGI="; - darwin_arm64 = "sha256-pcPpqFbqYsXf5Og9uC+eF/1kOQ1ZiletDzkk3qavPS0="; + linux_x64 = "sha256-YbEFgvOEAY5HGyTZw9vr4SC85zLQHUQKq++Qbsg1+5A="; + linux_arm64 = "sha256-PGguxjOGVUPV5CW3iAtoehnxqGkTe9UA6Vu+7bf6DlQ="; + darwin_x64 = "sha256-Gya1DmrLM5UCChwocEwdjYxSWECOl5Ew/e8LpmPQB7M="; + darwin_arm64 = "sha256-RJYQZ4L49WTwgMj+vZYFd5Kl3gX1DrkR+fF5E7L9fVs="; }; includeInPath = [ ccextractor ]; From ad63ee173cc16ff7e334fb90ea6a83a25723955c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 29 Mar 2026 07:22:56 +0000 Subject: [PATCH 031/109] gelly: 0.19.0 -> 1.0.0 --- pkgs/by-name/ge/gelly/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ge/gelly/package.nix b/pkgs/by-name/ge/gelly/package.nix index d42e743c8517..472bd8dd2bc5 100644 --- a/pkgs/by-name/ge/gelly/package.nix +++ b/pkgs/by-name/ge/gelly/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gelly"; - version = "0.19.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "Fingel"; repo = "gelly"; tag = "v${finalAttrs.version}"; - hash = "sha256-pxyO5CVNfLHMrTKamyEBUj8QTg2bPTfS5FZ3YTmkkQk="; + hash = "sha256-ZmtofGQYC32pz9WWTvENTU1qSVOXDu+CneyX/YelvZU="; }; - cargoHash = "sha256-ZKeVAgQsBOhhNbqdHYRTtpq6+z+xa1Be4eFnrY71f+s="; + cargoHash = "sha256-dlMC+nUStrrjYlwxG+NVoqFOuTMcdaUL5a20dN3G5HQ="; nativeBuildInputs = [ pkg-config From 7352614f89412140f31a27ab35c84c53112fdb28 Mon Sep 17 00:00:00 2001 From: Cheng Shao Date: Sun, 29 Mar 2026 10:55:19 +0200 Subject: [PATCH 032/109] hentai-at-home: 1.6.4 -> 1.6.5 --- pkgs/by-name/he/hentai-at-home/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/he/hentai-at-home/package.nix b/pkgs/by-name/he/hentai-at-home/package.nix index b94b3f0eeba5..7dfb5ac2f0db 100644 --- a/pkgs/by-name/he/hentai-at-home/package.nix +++ b/pkgs/by-name/he/hentai-at-home/package.nix @@ -9,11 +9,11 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "hentai-at-home"; - version = "1.6.4"; + version = "1.6.5"; src = fetchzip { url = "https://repo.e-hentai.org/hath/HentaiAtHome_${finalAttrs.version}_src.zip"; - hash = "sha512-dcHWZiU0ySLlEhZeK1n2T/dyO6Wk9eS7CpZRSfzY3KvHrPBthQnaFrarSopPXJan1+zWROu1pEff1WSr5+HO4Q=="; + hash = "sha512-oKyvzHZTPwSTcjsNOQ0LIl6rV+b7JDnuWbYKFogWWkyKcR/xDcNPNhUrKv8QLH6a1AQ2T8DYkxcJYnjhgsaovA=="; stripRoot = false; }; From 2905b200ffaf116d0be3ab39630635289866080e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 29 Mar 2026 22:44:16 +0200 Subject: [PATCH 033/109] devenv: fix version mismatch (2.0.7 reported instead of 2.0.6) Upstream tagged v2.0.6 with the workspace Cargo.toml already bumped to 2.0.7, causing the binary to report the wrong version. This also breaks devenv.lock version checks for users. Fixes https://github.com/cachix/devenv/issues/2682 Co-Authored-By: Claude Opus 4.6 (1M context) --- pkgs/by-name/de/devenv/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/de/devenv/package.nix b/pkgs/by-name/de/devenv/package.nix index 15bde47de803..170f35405d86 100644 --- a/pkgs/by-name/de/devenv/package.nix +++ b/pkgs/by-name/de/devenv/package.nix @@ -53,6 +53,11 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-p5kI7HlG6RVxCCEb/J0L2gh36jkm/atAV98ny3h4vqo="; + # Upstream tagged v2.0.6 with Cargo.toml already bumped to 2.0.7 + postPatch = '' + substituteInPlace Cargo.toml --replace-fail 'version = "2.0.7"' 'version = "${version}"' + ''; + env = { RUSTFLAGS = "--cfg tracing_unstable"; LIBSQLITE3_SYS_USE_PKG_CONFIG = "1"; From f8fedea71baaec4e0092655c190ea138fd583315 Mon Sep 17 00:00:00 2001 From: albe2669 Date: Mon, 30 Mar 2026 10:28:15 +0200 Subject: [PATCH 034/109] goland: 2025.3.4 -> 2026.1 --- .../editors/jetbrains/ides/goland.nix | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/ides/goland.nix b/pkgs/applications/editors/jetbrains/ides/goland.nix index 5797ad63fce4..a058837e8e65 100644 --- a/pkgs/applications/editors/jetbrains/ides/goland.nix +++ b/pkgs/applications/editors/jetbrains/ides/goland.nix @@ -12,20 +12,20 @@ let # update-script-start: urls urls = { x86_64-linux = { - url = "https://download.jetbrains.com/go/goland-2025.3.4.tar.gz"; - hash = "sha256-S8IRWe+viRxtLrnCgQPR0J8QrOSr5yvtcOpwsjkq9DY="; + url = "https://download.jetbrains.com/go/goland-2026.1.tar.gz"; + hash = "sha256-+TORnDso307j+WwFspoQRZ8IN2TFyy5uUvLyjiNhHiY="; }; aarch64-linux = { - url = "https://download.jetbrains.com/go/goland-2025.3.4-aarch64.tar.gz"; - hash = "sha256-yUI3hURv5jdQ2CrALp7wLShL7pGFa2d7BUSstwFd2mo="; + url = "https://download.jetbrains.com/go/goland-2026.1-aarch64.tar.gz"; + hash = "sha256-inAjJw9xzpGjdo4pgoqQwM+ZyEnvLQZggPt4S/LGFxg="; }; x86_64-darwin = { - url = "https://download.jetbrains.com/go/goland-2025.3.4.dmg"; - hash = "sha256-e9CC9bZ02mxHr788w9SKB6VvhMJ02UbZn0K4IDLTgjw="; + url = "https://download.jetbrains.com/go/goland-2026.1.dmg"; + hash = "sha256-zFAjXSdOaf3C2zQDDriOK9F2xOxGTrAyacVHUh0Sqck="; }; aarch64-darwin = { - url = "https://download.jetbrains.com/go/goland-2025.3.4-aarch64.dmg"; - hash = "sha256-9XW909OrBLhWuMX/doFFxychU97vP5uAC3bgTs2FaLg="; + url = "https://download.jetbrains.com/go/goland-2026.1-aarch64.dmg"; + hash = "sha256-Zo48RMtVUweV541ImYxtQTBp4L4ZhyTDxFFwK+YyrZk="; }; }; # update-script-end: urls @@ -39,8 +39,8 @@ in product = "Goland"; # update-script-start: version - version = "2025.3.4"; - buildNumber = "253.32098.60"; + version = "2026.1"; + buildNumber = "261.22158.291"; # update-script-end: version src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}")); From cb77c4fa57cc416a1a775e7ee99852816189e7db Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 30 Mar 2026 08:41:08 +0000 Subject: [PATCH 035/109] goreleaser: 2.14.3 -> 2.15.0 --- pkgs/by-name/go/goreleaser/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/goreleaser/package.nix b/pkgs/by-name/go/goreleaser/package.nix index c290c94dad01..20de5b683a4a 100644 --- a/pkgs/by-name/go/goreleaser/package.nix +++ b/pkgs/by-name/go/goreleaser/package.nix @@ -10,16 +10,16 @@ }: buildGo126Module (finalAttrs: { pname = "goreleaser"; - version = "2.14.3"; + version = "2.15.0"; src = fetchFromGitHub { owner = "goreleaser"; repo = "goreleaser"; rev = "v${finalAttrs.version}"; - hash = "sha256-2zG7B6d+NZ1XJrObCfgBZyin5JDv6hKlvZ8C4ckAJ8Q="; + hash = "sha256-IoNa4D3OM0B+/6KNS/n0T1uQwDK34aFE/I6tsavKhVQ="; }; - vendorHash = "sha256-ImjoPvxkg35Fn4XdhTFLT2o4cDCjuyEOn1mDkMTjksk="; + vendorHash = "sha256-Yx0K3/6WuWRpP3sLoo+xnMDoJN+OtVZGtBbNaroMRy8="; ldflags = [ "-s" From 9295301922179f2527518e8ecfe609936e94a211 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Mon, 30 Mar 2026 14:51:48 +0200 Subject: [PATCH 036/109] lomiri.lomiri-ui-toolkit: 1.3.5903 -> 1.3.5904 --- pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix index 36aac994b024..e359a9f87689 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix @@ -45,13 +45,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-ui-toolkit"; - version = "1.3.5903"; + version = "1.3.5904"; src = fetchFromGitLab { owner = "ubports"; repo = "development/core/lomiri-ui-toolkit"; rev = finalAttrs.version; - hash = "sha256-NdEYXv1LVblUgOu/P8z+vYnd/jNDS+/LFsh63ojJ2KA="; + hash = "sha256-lrytLk7+RpD3V4g9m7JruqOfLggJO9sGLzt5UrGbs/Q="; }; outputs = [ From 51d71a622f9dd0fcc471f49b31b2b181887d7cd8 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 14:14:33 +0100 Subject: [PATCH 037/109] lomiri-qt6: init --- pkgs/desktops/lomiri/default.nix | 9 +++++++-- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index fda0ef24c3f6..740e21bb7f4a 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -3,16 +3,21 @@ lib, pkgs, ayatana-indicator-datetime, + useQt6 ? false, libsForQt5, + qt6Packages, }: let + qtPackages = if useQt6 then qt6Packages else libsForQt5; packages = self: let inherit (self) callPackage; in { + } + // lib.optionalAttrs (!useQt6) { #### Core Apps lomiri = callPackage ./applications/lomiri { }; lomiri-calculator-app = callPackage ./applications/lomiri-calculator-app { }; @@ -74,8 +79,8 @@ let mediascanner2 = callPackage ./services/mediascanner2 { }; }; in -lib.makeScope libsForQt5.newScope packages -// lib.optionalAttrs config.allowAliases { +lib.makeScope qtPackages.newScope packages +// lib.optionalAttrs (config.allowAliases && !useQt6) { content-hub = lib.warnOnInstantiate "`content-hub` was renamed to `lomiri-content-hub`." pkgs.lomiri.lomiri-content-hub; # Added on 2024-09-11 history-service = lib.warnOnInstantiate "`history-service` was renamed to `lomiri-history-service`." pkgs.lomiri.lomiri-history-service; # Added on 2024-11-11 lomiri-system-settings-security-privacy = lib.warnOnInstantiate "`lomiri-system-settings-security-privacy` upstream was merged into `lomiri-system-settings`. Please use `pkgs.lomiri.lomiri-system-settings-unwrapped` if you need to directly access the plugins that belonged to this project." pkgs.lomiri.lomiri-system-settings-unwrapped; # Added on 2024-08-08 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09f968c47c25..cc34036fb119 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11434,6 +11434,7 @@ with pkgs; gnome-session-ctl = callPackage ../by-name/gn/gnome-session/ctl.nix { }; lomiri = recurseIntoAttrs (callPackage ../desktops/lomiri { }); + lomiri-qt6 = recurseIntoAttrs (callPackage ../desktops/lomiri { useQt6 = true; }); lumina = recurseIntoAttrs (callPackage ../desktops/lumina { }); From 061dd162bd8cb9941c510c26603e566c95659b1e Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 14:16:50 +0100 Subject: [PATCH 038/109] lomiri-qt6.cmake-extras: init at 1.9 --- pkgs/desktops/lomiri/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 740e21bb7f4a..2610b67bc14e 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -16,6 +16,8 @@ let inherit (self) callPackage; in { + #### Development tools / libraries + cmake-extras = callPackage ./development/cmake-extras { }; } // lib.optionalAttrs (!useQt6) { #### Core Apps @@ -43,7 +45,6 @@ let suru-icon-theme = callPackage ./data/suru-icon-theme { }; #### Development tools / libraries - cmake-extras = callPackage ./development/cmake-extras { }; deviceinfo = callPackage ./development/deviceinfo { }; geonames = callPackage ./development/geonames { }; gmenuharness = callPackage ./development/gmenuharness { }; From 2c6c5230d5a1cc75ed7c077e3d7e5caf241807ab Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 10 Mar 2026 18:05:18 +0100 Subject: [PATCH 039/109] qt6Packages.libqtdbustest: init at 0.4.0 --- pkgs/development/libraries/libqtdbustest/default.nix | 9 ++++++++- pkgs/top-level/qt6-packages.nix | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libqtdbustest/default.nix b/pkgs/development/libraries/libqtdbustest/default.nix index 67535a59c0a3..dd40f9066d4a 100644 --- a/pkgs/development/libraries/libqtdbustest/default.nix +++ b/pkgs/development/libraries/libqtdbustest/default.nix @@ -16,6 +16,9 @@ qtbase, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "libqtdbustest"; version = "0.4.0"; @@ -79,6 +82,10 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; + cmakeFlags = [ + (lib.cmakeBool "ENABLE_QT6" withQt6) + ]; + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; enableParallelChecking = false; @@ -104,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: { teams = [ lib.teams.lomiri ]; mainProgram = "qdbus-simple-test-runner"; pkgConfigModules = [ - "libqtdbustest-1" + "libqtdbustest-${if withQt6 then "qt6" else "1"}" ]; }; }) diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix index 42d87e0f4d62..1e5f1c312dde 100644 --- a/pkgs/top-level/qt6-packages.nix +++ b/pkgs/top-level/qt6-packages.nix @@ -75,6 +75,10 @@ makeScopeWithSplicing' { libqtpas = callPackage ../development/compilers/fpc/libqtpas.nix { }; + libqtdbustest = callPackage ../development/libraries/libqtdbustest { + inherit (pkgs.lomiri-qt6) cmake-extras; + }; + libquotient = callPackage ../development/libraries/libquotient { }; mlt = pkgs.mlt.override { qt = qt6; From ea83efa04ea96dc3c7ee6c41cb3b389dfa3cc5cd Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 10 Mar 2026 18:08:32 +0100 Subject: [PATCH 040/109] qt6Packages.libqtdbusmock: init at 0.10.0 --- pkgs/development/libraries/libqtdbusmock/default.nix | 7 +++++-- pkgs/top-level/qt6-packages.nix | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libqtdbusmock/default.nix b/pkgs/development/libraries/libqtdbusmock/default.nix index 6beeda70e863..f78387b40594 100644 --- a/pkgs/development/libraries/libqtdbusmock/default.nix +++ b/pkgs/development/libraries/libqtdbusmock/default.nix @@ -16,6 +16,9 @@ qtbase, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "libqtdbusmock"; version = "0.10.0"; @@ -68,7 +71,7 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; cmakeFlags = [ - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; @@ -95,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.unix; teams = [ lib.teams.lomiri ]; pkgConfigModules = [ - "libqtdbusmock-1" + "libqtdbusmock${lib.optionalString withQt6 "-qt6"}-1" ]; }; }) diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix index 1e5f1c312dde..d424a7168b75 100644 --- a/pkgs/top-level/qt6-packages.nix +++ b/pkgs/top-level/qt6-packages.nix @@ -75,6 +75,10 @@ makeScopeWithSplicing' { libqtpas = callPackage ../development/compilers/fpc/libqtpas.nix { }; + libqtdbusmock = callPackage ../development/libraries/libqtdbusmock { + inherit (pkgs.lomiri-qt6) cmake-extras; + }; + libqtdbustest = callPackage ../development/libraries/libqtdbustest { inherit (pkgs.lomiri-qt6) cmake-extras; }; From a3425454edd5853733ea4bef670f3d4239dcd699 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 14:18:16 +0100 Subject: [PATCH 041/109] lomiri-qt6.deviceinfo: init at 0.2.4 --- pkgs/desktops/lomiri/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 2610b67bc14e..4be80a170bbb 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -18,6 +18,7 @@ let { #### Development tools / libraries cmake-extras = callPackage ./development/cmake-extras { }; + deviceinfo = callPackage ./development/deviceinfo { }; } // lib.optionalAttrs (!useQt6) { #### Core Apps @@ -45,7 +46,6 @@ let suru-icon-theme = callPackage ./data/suru-icon-theme { }; #### Development tools / libraries - deviceinfo = callPackage ./development/deviceinfo { }; geonames = callPackage ./development/geonames { }; gmenuharness = callPackage ./development/gmenuharness { }; gsettings-qt = callPackage ./development/gsettings-qt { }; From 1313995f1cf0f40663d86d90969107bfc19f5329 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 14:19:39 +0100 Subject: [PATCH 042/109] lomiri-qt6.lomiri-schemas: init at 0.1.10 --- pkgs/desktops/lomiri/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 4be80a170bbb..d9ae6ddc1277 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -16,6 +16,9 @@ let inherit (self) callPackage; in { + #### Data + lomiri-schemas = callPackage ./data/lomiri-schemas { }; + #### Development tools / libraries cmake-extras = callPackage ./development/cmake-extras { }; deviceinfo = callPackage ./development/deviceinfo { }; @@ -39,7 +42,6 @@ let teleports = callPackage ./applications/teleports { }; #### Data - lomiri-schemas = callPackage ./data/lomiri-schemas { }; lomiri-session = callPackage ./data/lomiri-session { }; lomiri-sounds = callPackage ./data/lomiri-sounds { }; lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { }; From a2155efca1e93d3297c598964369270fb57c5e05 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 14:20:28 +0100 Subject: [PATCH 043/109] lomiri-qt6.suru-icon-theme: init at 2025.05.0 --- pkgs/desktops/lomiri/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index d9ae6ddc1277..d74ae15b9e94 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -18,6 +18,7 @@ let { #### Data lomiri-schemas = callPackage ./data/lomiri-schemas { }; + suru-icon-theme = callPackage ./data/suru-icon-theme { }; #### Development tools / libraries cmake-extras = callPackage ./development/cmake-extras { }; @@ -45,7 +46,6 @@ let lomiri-session = callPackage ./data/lomiri-session { }; lomiri-sounds = callPackage ./data/lomiri-sounds { }; lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { }; - suru-icon-theme = callPackage ./data/suru-icon-theme { }; #### Development tools / libraries geonames = callPackage ./development/geonames { }; From c26bb58fe8ae3f03013ae4e75879cf67433c94e0 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 14:21:05 +0100 Subject: [PATCH 044/109] lomiri-qt6.lomiri-sounds: init at 25.01 --- pkgs/desktops/lomiri/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index d74ae15b9e94..478391dd883b 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -18,6 +18,7 @@ let { #### Data lomiri-schemas = callPackage ./data/lomiri-schemas { }; + lomiri-sounds = callPackage ./data/lomiri-sounds { }; suru-icon-theme = callPackage ./data/suru-icon-theme { }; #### Development tools / libraries @@ -44,7 +45,6 @@ let #### Data lomiri-session = callPackage ./data/lomiri-session { }; - lomiri-sounds = callPackage ./data/lomiri-sounds { }; lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { }; #### Development tools / libraries From 3114c8400248edc3b56c8ea9979688daff660c4a Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 14:21:31 +0100 Subject: [PATCH 045/109] lomiri-qt6.lomiri-wallpapers: init at 20.04.0 --- pkgs/desktops/lomiri/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 478391dd883b..8b5b2933b22d 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -19,6 +19,7 @@ let #### Data lomiri-schemas = callPackage ./data/lomiri-schemas { }; lomiri-sounds = callPackage ./data/lomiri-sounds { }; + lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { }; suru-icon-theme = callPackage ./data/suru-icon-theme { }; #### Development tools / libraries @@ -45,7 +46,6 @@ let #### Data lomiri-session = callPackage ./data/lomiri-session { }; - lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { }; #### Development tools / libraries geonames = callPackage ./development/geonames { }; From 9e988b6cf1d8977178bf0b18bfb3083d10e19148 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 16:38:18 +0100 Subject: [PATCH 046/109] lomiri-qt6.lomiri-ui-toolkit: init at 1.3.5904 --- pkgs/desktops/lomiri/default.nix | 4 +- .../2002-Nixpkgs-versioned-QML-path.patch.in | 25 +-- .../lomiri/qml/lomiri-ui-toolkit/default.nix | 170 ++++++++++++------ 3 files changed, 126 insertions(+), 73 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 8b5b2933b22d..eb79ed55135c 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -25,6 +25,9 @@ let #### Development tools / libraries cmake-extras = callPackage ./development/cmake-extras { }; deviceinfo = callPackage ./development/deviceinfo { }; + + #### QML / QML-related + lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; } // lib.optionalAttrs (!useQt6) { #### Core Apps @@ -64,7 +67,6 @@ let lomiri-push-qml = callPackage ./qml/lomiri-push-qml { }; lomiri-settings-components = callPackage ./qml/lomiri-settings-components { }; lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { }; - lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; qqc2-suru-style = callPackage ./qml/qqc2-suru-style { }; #### Services diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in index d2e83baf98ae..065b670f4b46 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in +++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/2002-Nixpkgs-versioned-QML-path.patch.in @@ -1,29 +1,20 @@ -From ca4c52a80532732243067eb00ec12b4ef84010a6 Mon Sep 17 00:00:00 2001 -From: OPNA2608 -Date: Tue, 30 Jan 2024 19:46:09 +0100 -Subject: [PATCH] Nixpkgs versioned QML path - ---- - src/LomiriToolkit/uctheme.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/LomiriToolkit/uctheme.cpp b/src/LomiriToolkit/uctheme.cpp -index a10c89344..4b0653589 100644 ---- a/src/LomiriToolkit/uctheme.cpp -+++ b/src/LomiriToolkit/uctheme.cpp -@@ -180,6 +180,12 @@ QStringList themeSearchPath() +diff '--color=auto' -ruN a/src/LomiriToolkit/uctheme.cpp b/src/LomiriToolkit/uctheme.cpp +--- a/src/LomiriToolkit/uctheme.cpp 2025-12-04 00:43:06.543074583 +0100 ++++ b/src/LomiriToolkit/uctheme.cpp 2025-12-04 00:45:35.424986792 +0100 +@@ -192,6 +192,16 @@ pathList << QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); } + // append versioned QML import path from Nixpkgs + const QString nixpkgsQmlImportPath = QString::fromLocal8Bit(getenv("NIXPKGS_QT@qtVersion@_QML_IMPORT_PATH")); + if (!nixpkgsQmlImportPath.isEmpty()) { ++#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) + pathList << nixpkgsQmlImportPath.split(':', QString::SkipEmptyParts); ++#else ++ pathList << nixpkgsQmlImportPath.split(':', Qt::SkipEmptyParts); ++#endif + } + // append QML import path(s); we must explicitly support env override here const QString qml2ImportPath = QString::fromLocal8Bit(getenv("QML2_IMPORT_PATH")); if (!qml2ImportPath.isEmpty()) { --- -2.42.0 - diff --git a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix index e359a9f87689..6593044e6e60 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix @@ -5,10 +5,14 @@ gitUpdater, replaceVars, testers, + bluez, + cmake, dbus-test-runner, dpkg, gdb, glib, + kdePackages, + libevdev, lttng-ust, mesa, perl, @@ -17,13 +21,15 @@ qmake, qtbase, qtdeclarative, - qtfeedback, - qtgraphicaleffects, - qtpim, - qtquickcontrols2, + qtfeedback ? null, + qtgraphicaleffects ? null, + qtpim ? null, + qtquickcontrols2 ? null, qtsvg, - qtsystems, + qtsystems ? null, qttools, + qt5compat ? null, + spirv-tools, suru-icon-theme, validatePkgConfig, wrapQtAppsHook, @@ -31,17 +37,30 @@ }: let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix; - qtPluginPaths = listToQtVar qtbase.qtPluginPrefix [ - qtbase - qtpim - qtsvg - ]; - qtQmlPaths = listToQtVar qtbase.qtQmlPrefix [ - qtdeclarative - qtfeedback - qtgraphicaleffects - ]; + qtPluginPaths = listToQtVar qtbase.qtPluginPrefix ( + [ + qtbase + qtsvg + ] + ++ lib.optionals (!withQt6) [ + # Will prolly want this in the future, but needs porting to Qt6 + qtpim + ] + ); + qtQmlPaths = listToQtVar qtbase.qtQmlPrefix ( + [ + qtdeclarative + ] + ++ lib.optionals (!withQt6) [ + # Deprecated in Qt6 + qtgraphicaleffects + + # Will prolly want this in the future, but needs porting to Qt6 + qtfeedback + ] + ); in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-ui-toolkit"; @@ -57,6 +76,8 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" "dev" + ] + ++ lib.optionals (!withQt6) [ "doc" ]; @@ -71,23 +92,6 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' patchShebangs documentation/docs.sh tests/ - for subproject in po app-launch-profiler lomiri-ui-toolkit-launcher; do - substituteInPlace $subproject/$subproject.pro \ - --replace-fail "\''$\''$[QT_INSTALL_PREFIX]" "$out" \ - --replace-warn "\''$\''$[QT_INSTALL_LIBS]" "$out/lib" - done - - # Install apicheck tool into bin - substituteInPlace apicheck/apicheck.pro \ - --replace-fail "\''$\''$[QT_INSTALL_LIBS]/lomiri-ui-toolkit" "$out/bin" - - substituteInPlace documentation/documentation.pro \ - --replace-fail '/usr/share/doc' '$$PREFIX/share/doc' \ - --replace-fail '$$[QT_INSTALL_DOCS]' '$$PREFIX/share/doc/lomiri-ui-toolkit' - - # Causes redefinition error with our own fortify hardening - sed -i '/DEFINES += _FORTIFY_SOURCE/d' features/lomiri_common.prf - # Reverse dependencies (and their reverse dependencies too) access the function patched here to register their gettext catalogues, # so hardcoding any prefix here will make only catalogues in that prefix work. APP_DIR envvar will override this, but with domains from multiple derivations being # used in a single application (lomiri-system-settings), that's of not much use either. @@ -113,19 +117,50 @@ stdenv.mkDerivation (finalAttrs: { tests/unit/visual/tst_icon.{11,13}.qml \ tests/unit/visual/tst_imageprovider.11.qml \ --replace-fail '/usr/share' '${suru-icon-theme}/share' + '' + + lib.optionalString (!withQt6) '' + for subproject in po app-launch-profiler lomiri-ui-toolkit-launcher; do + substituteInPlace $subproject/$subproject.pro \ + --replace-fail "\''$\''$[QT_INSTALL_PREFIX]" "$out" \ + --replace-warn "\''$\''$[QT_INSTALL_LIBS]" "$out/lib" + done + + # Install apicheck tool into bin + substituteInPlace apicheck/apicheck.pro \ + --replace-fail "\''$\''$[QT_INSTALL_LIBS]/lomiri-ui-toolkit" "$out/bin" + + substituteInPlace documentation/documentation.pro \ + --replace-fail '/usr/share/doc' '$$PREFIX/share/doc' \ + --replace-fail '$$[QT_INSTALL_DOCS]' '$$PREFIX/share/doc/lomiri-ui-toolkit' + + # Causes redefinition error with our own fortify hardening + sed -i '/DEFINES += _FORTIFY_SOURCE/d' features/lomiri_common.prf + '' + + lib.optionalString withQt6 '' + substituteInPlace CMakeLists.txt \ + --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt\''${QT_VERSION_MAJOR}/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" \ + --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt\''${QT_VERSION_MAJOR}/plugins" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtPluginPrefix}" ''; - # With strictDeps, QMake only picks up Qt dependencies from nativeBuildInputs + # With strictDeps + # - QMake only picks up Qt dependencies from nativeBuildInputs + # - Qt6's CMake module seems to struggle with picking up other Qt modules from buildInputs strictDeps = false; nativeBuildInputs = [ perl pkg-config python3 - qmake qttools # qdoc, qhelpgenerator validatePkgConfig wrapQtAppsHook + ] + ++ lib.optionals withQt6 [ + cmake + spirv-tools + ] + ++ lib.optionals (!withQt6) [ + qmake ]; buildInputs = [ @@ -133,15 +168,34 @@ stdenv.mkDerivation (finalAttrs: { lttng-ust qtbase qtdeclarative - qtpim + ] + ++ lib.optionals (!withQt6) [ + # Folded into qtdeclarative in Qt6 qtquickcontrols2 + + # Will prolly want this in the future, but needs porting to Qt6 + qtpim qtsystems + ] + ++ lib.optionals withQt6 [ + bluez + kdePackages.extra-cmake-modules + libevdev ]; propagatedBuildInputs = [ - qtfeedback - qtgraphicaleffects qtsvg + ] + ++ lib.optionals withQt6 [ + # Qt5Compat.GraphicalEffects + qt5compat + ] + ++ lib.optionals (!withQt6) [ + # Deprecated in Qt6 + qtgraphicaleffects + + # Will prolly want this in the future, but needs porting to Qt6 + qtfeedback ]; nativeCheckInputs = [ @@ -152,7 +206,7 @@ stdenv.mkDerivation (finalAttrs: { xvfb-run ]; - qmakeFlags = [ + qmakeFlags = lib.optionals (!withQt6) [ # Ubuntu UITK compatibility, for older / not-yet-migrated applications "CONFIG+=ubuntu-uitk-compat" "QMAKE_PKGCONFIG_PREFIX=${placeholder "out"}" @@ -180,12 +234,14 @@ stdenv.mkDerivation (finalAttrs: { export UITK_BUILD_ROOT=$PWD - tests/xvfb.sh make check ''${enableParallelChecking:+-j''${NIX_BUILD_CORES}} + ${lib.optionalString withQt6 "../"}tests/xvfb.sh make ${ + if withQt6 then "test" else "check" + } ''${enableParallelChecking:+-j''${NIX_BUILD_CORES}} runHook postCheck ''; - preInstall = '' + preInstall = lib.optionalString (!withQt6) '' # wrapper script calls qmlplugindump, crashes due to lack of minimal platform plugin # Could not find the Qt platform plugin "minimal" in "" # Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx. @@ -198,20 +254,24 @@ stdenv.mkDerivation (finalAttrs: { done ''; - postInstall = '' - # Code loads Qt's qt_module.prf, which force-overrides all QMAKE_PKGCONFIG_* variables except PREFIX for QMake-generated pkg-config files - for pcFile in Lomiri{Gestures,Metrics,Toolkit}.pc; do - substituteInPlace $out/lib/pkgconfig/$pcFile \ - --replace-fail "${lib.getLib qtbase}/lib" "\''${prefix}/lib" \ - --replace-fail "${lib.getDev qtbase}/include" "\''${prefix}/include" - done - - # These are all dev-related tools, but declaring a bin output also moves around the QML modules - moveToOutput "bin" "$dev" - ''; + postInstall = + lib.optionalString (!withQt6) '' + # Code loads Qt's qt_module.prf, which force-overrides all QMAKE_PKGCONFIG_* variables except PREFIX for QMake-generated pkg-config files + for pcFile in Lomiri{Gestures,Metrics,Toolkit}${lib.optionalString withQt6 "-Qt6"}.pc; do + substituteInPlace $out/lib/pkgconfig/$pcFile \ + --replace-fail "${lib.getLib qtbase}/lib" "\''${prefix}/lib" \ + --replace-fail "${lib.getDev qtbase}/include" "\''${prefix}/include" + done + '' + + '' + # These are all dev-related tools, but declaring a bin output also moves around the QML modules + moveToOutput "bin" "$dev" + ''; postFixup = '' - for qtBin in $dev/bin/{apicheck,lomiri-ui-toolkit-launcher}; do + for qtBin in ${ + if withQt6 then "$out/libexec/lomiri-ui-toolkit/qt6" else "$dev/bin" + }/apicheck $dev/bin/lomiri-ui-toolkit-launcher${lib.optionalString withQt6 "-qt6"}; do wrapQtApp $qtBin done ''; @@ -246,9 +306,9 @@ stdenv.mkDerivation (finalAttrs: { teams = [ lib.teams.lomiri ]; platforms = lib.platforms.linux; pkgConfigModules = [ - "LomiriGestures" - "LomiriMetrics" - "LomiriToolkit" + "LomiriGestures${lib.optionalString withQt6 "-Qt6"}" + "LomiriMetrics${lib.optionalString withQt6 "-Qt6"}" + "LomiriToolkit${lib.optionalString withQt6 "-Qt6"}" ]; }; }) From bb733fc0ad9343eb6a4d2fa204c4e6d17fbb489d Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 16:37:46 +0100 Subject: [PATCH 047/109] lomiri-qt6.lomiri-ui-extras: init at 0.8.0 --- pkgs/desktops/lomiri/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index eb79ed55135c..693fa37f758b 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -27,6 +27,7 @@ let deviceinfo = callPackage ./development/deviceinfo { }; #### QML / QML-related + lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { }; lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; } // lib.optionalAttrs (!useQt6) { @@ -66,7 +67,6 @@ let lomiri-notifications = callPackage ./qml/lomiri-notifications { }; lomiri-push-qml = callPackage ./qml/lomiri-push-qml { }; lomiri-settings-components = callPackage ./qml/lomiri-settings-components { }; - lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { }; qqc2-suru-style = callPackage ./qml/qqc2-suru-style { }; #### Services From 7ac36d7200728c69dca55dc6d273edf1bb207ed6 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 15:58:41 +0100 Subject: [PATCH 048/109] lomiri-qt6.lomiri-api: init at 0.3.0 --- pkgs/desktops/lomiri/default.nix | 2 +- .../lomiri/development/lomiri-api/default.nix | 28 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 693fa37f758b..73a1559fbf32 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -25,6 +25,7 @@ let #### Development tools / libraries cmake-extras = callPackage ./development/cmake-extras { }; deviceinfo = callPackage ./development/deviceinfo { }; + lomiri-api = callPackage ./development/lomiri-api { }; #### QML / QML-related lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { }; @@ -56,7 +57,6 @@ let gmenuharness = callPackage ./development/gmenuharness { }; gsettings-qt = callPackage ./development/gsettings-qt { }; libusermetrics = callPackage ./development/libusermetrics { }; - lomiri-api = callPackage ./development/lomiri-api { }; lomiri-app-launch = callPackage ./development/lomiri-app-launch { }; qtmir = callPackage ./development/qtmir { }; trust-store = callPackage ./development/trust-store { }; diff --git a/pkgs/desktops/lomiri/development/lomiri-api/default.nix b/pkgs/desktops/lomiri/development/lomiri-api/default.nix index 903e8da48645..3fa57e8c820c 100644 --- a/pkgs/desktops/lomiri/development/lomiri-api/default.nix +++ b/pkgs/desktops/lomiri/development/lomiri-api/default.nix @@ -17,8 +17,12 @@ python3, qtbase, qtdeclarative, + withDocumentation ? true, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-api"; version = "0.3.0"; @@ -33,6 +37,8 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" "dev" + ] + ++ lib.optionals withDocumentation [ "doc" ]; @@ -53,10 +59,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake - doxygen - graphviz pkg-config qtdeclarative + ] + ++ lib.optionals withDocumentation [ + doxygen + graphviz ]; buildInputs = [ @@ -76,7 +84,8 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; cmakeFlags = [ - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) + (lib.cmakeBool "NO_TESTS" (!finalAttrs.finalPackage.doCheck)) ]; env.FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; }; @@ -95,7 +104,10 @@ stdenv.mkDerivation (finalAttrs: { ''; passthru = { - tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + # https://gitlab.com/ubports/development/core/lomiri-api/-/issues/5 + tests = lib.optionalAttrs (!withQt6) { + pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; updateScript = gitUpdater { }; }; @@ -113,10 +125,10 @@ stdenv.mkDerivation (finalAttrs: { platforms = lib.platforms.linux; pkgConfigModules = [ "liblomiri-api" - "lomiri-shell-api" - "lomiri-shell-application" - "lomiri-shell-launcher" - "lomiri-shell-notifications" + "lomiri-shell-api${lib.optionalString withQt6 "-qt6"}" + "lomiri-shell-application${lib.optionalString withQt6 "-qt6"}" + "lomiri-shell-launcher${lib.optionalString withQt6 "-qt6"}" + "lomiri-shell-notifications${lib.optionalString withQt6 "-qt6"}" ]; }; }) From db3a44c51fa22134a19f6b0735ddb9b752b2c980 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 19:34:31 +0100 Subject: [PATCH 049/109] lomiri-qt6.lomiri-action-api: init at 1.2.1 --- pkgs/desktops/lomiri/default.nix | 5 +++- .../lomiri/qml/lomiri-action-api/default.nix | 29 +++++++++++++++---- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 73a1559fbf32..b1ab1a8b68e5 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -28,6 +28,10 @@ let lomiri-api = callPackage ./development/lomiri-api { }; #### QML / QML-related + lomiri-action-api = callPackage ./qml/lomiri-action-api { + # The dependency target "qmldoc" of target "doc" does not exist. + withDocumentation = !useQt6; + }; lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { }; lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; } @@ -63,7 +67,6 @@ let u1db-qt = callPackage ./development/u1db-qt { }; #### QML / QML-related - lomiri-action-api = callPackage ./qml/lomiri-action-api { }; lomiri-notifications = callPackage ./qml/lomiri-notifications { }; lomiri-push-qml = callPackage ./qml/lomiri-push-qml { }; lomiri-settings-components = callPackage ./qml/lomiri-settings-components { }; diff --git a/pkgs/desktops/lomiri/qml/lomiri-action-api/default.nix b/pkgs/desktops/lomiri/qml/lomiri-action-api/default.nix index 97005ae77345..e327a297e33a 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-action-api/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-action-api/default.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchFromGitLab, + fetchpatch, gitUpdater, testers, cmake, @@ -13,8 +14,12 @@ qtdeclarative, qttools, validatePkgConfig, + withDocumentation ? true, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-action-api"; version = "1.2.1"; @@ -26,9 +31,19 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-pwHvbiUvkAi7/XgpNfgrqcp3znFKSXlAAacB2XsHQkg="; }; + patches = [ + (fetchpatch { + name = "0001-lomiri-action-api-fix-qt6-unit-tests.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-action-api/-/commit/8fadb3d75938403aca2dc0e9392370c0d9b45c3e.patch"; + hash = "sha256-qqgFgw2YY6cPEbzGKI7r4fk/CgR9NRe1ZY2HUsKLNlo="; + }) + ]; + outputs = [ "out" "dev" + ] + ++ lib.optionals withDocumentation [ "doc" ]; @@ -46,11 +61,13 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake - doxygen pkg-config qtdeclarative - qttools # qdoc validatePkgConfig + ] + ++ lib.optionals withDocumentation [ + doxygen + qttools # qdoc ]; buildInputs = [ @@ -64,9 +81,9 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) (lib.cmakeBool "ENABLE_TESTING" finalAttrs.finalPackage.doCheck) - (lib.cmakeBool "GENERATE_DOCUMENTATION" true) + (lib.cmakeBool "GENERATE_DOCUMENTATION" withDocumentation) # Use vendored libhud2, TODO package libhud2 separately? (lib.cmakeBool "use_libhud2" false) ]; @@ -92,6 +109,8 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.lgpl3Only; teams = [ lib.teams.lomiri ]; platforms = lib.platforms.linux; - pkgConfigModules = [ "lomiri-action-qt-1" ]; + pkgConfigModules = [ + "lomiri-action-qt${lib.optionalString withQt6 "6"}-1" + ]; }; }) From 5c123a480dacaa833ae777b17f5d3fdcd1d5438a Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 19:34:51 +0100 Subject: [PATCH 050/109] lomiri-qt6.lomiri-download-manager: init at 0.3.0 --- pkgs/desktops/lomiri/default.nix | 7 ++++++- .../services/lomiri-download-manager/default.nix | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index b1ab1a8b68e5..dc4950a8dd9e 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -34,6 +34,12 @@ let }; lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { }; lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; + + #### Services + lomiri-download-manager = callPackage ./services/lomiri-download-manager { + # Check for working qdoc: not found + withDocumentation = !useQt6; + }; } // lib.optionalAttrs (!useQt6) { #### Core Apps @@ -76,7 +82,6 @@ let biometryd = callPackage ./services/biometryd { }; lomiri-content-hub = callPackage ./services/lomiri-content-hub { }; hfd-service = callPackage ./services/hfd-service { }; - lomiri-download-manager = callPackage ./services/lomiri-download-manager { }; lomiri-history-service = callPackage ./services/lomiri-history-service { }; lomiri-indicator-datetime = ayatana-indicator-datetime.override { enableLomiriFeatures = true; }; lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { }; diff --git a/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix b/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix index cd2dc035498a..7d73afde6502 100644 --- a/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-download-manager/default.nix @@ -21,12 +21,16 @@ python3, qtbase, qtdeclarative, + qtscxml, qttools, validatePkgConfig, wrapQtAppsHook, xvfb-run, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-download-manager"; version = "0.3.0"; @@ -72,6 +76,9 @@ stdenv.mkDerivation (finalAttrs: { validatePkgConfig wrapQtAppsHook ] + ++ lib.optionals withQt6 [ + qtscxml + ] ++ lib.optionals withDocumentation [ doxygen graphviz @@ -98,9 +105,9 @@ stdenv.mkDerivation (finalAttrs: { checkInputs = [ gtest ]; cmakeFlags = [ - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) (lib.cmakeBool "ENABLE_DOC" withDocumentation) - (lib.cmakeBool "ENABLE_WERROR" true) + (lib.cmakeBool "ENABLE_WERROR" (!withQt6)) ]; makeTargets = [ "all" ] ++ lib.optionals withDocumentation [ "doc" ]; @@ -129,7 +136,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.lgpl3Only; teams = [ lib.teams.lomiri ]; platforms = lib.platforms.linux; - pkgConfigModules = [ + pkgConfigModules = map (pc: pc + lib.optionalString withQt6 "-qt6") [ "ldm-common" "lomiri-download-manager-client" "lomiri-download-manager-common" From 858ef0c2aec941b4a26f1f11e2638a1004b4960a Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 15:59:42 +0100 Subject: [PATCH 051/109] lomiri-qt6.gsettings-qt: init at 1.1.1 --- pkgs/desktops/lomiri/default.nix | 2 +- .../lomiri/development/gsettings-qt/default.nix | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index dc4950a8dd9e..592d91c03889 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -25,6 +25,7 @@ let #### Development tools / libraries cmake-extras = callPackage ./development/cmake-extras { }; deviceinfo = callPackage ./development/deviceinfo { }; + gsettings-qt = callPackage ./development/gsettings-qt { }; lomiri-api = callPackage ./development/lomiri-api { }; #### QML / QML-related @@ -65,7 +66,6 @@ let #### Development tools / libraries geonames = callPackage ./development/geonames { }; gmenuharness = callPackage ./development/gmenuharness { }; - gsettings-qt = callPackage ./development/gsettings-qt { }; libusermetrics = callPackage ./development/libusermetrics { }; lomiri-app-launch = callPackage ./development/lomiri-app-launch { }; qtmir = callPackage ./development/qtmir { }; diff --git a/pkgs/desktops/lomiri/development/gsettings-qt/default.nix b/pkgs/desktops/lomiri/development/gsettings-qt/default.nix index 285af24eedec..8a6f97977ff5 100644 --- a/pkgs/desktops/lomiri/development/gsettings-qt/default.nix +++ b/pkgs/desktops/lomiri/development/gsettings-qt/default.nix @@ -7,11 +7,15 @@ cmake, cmake-extras, glib, + libglvnd, pkg-config, qtbase, qtdeclarative, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "gsettings-qt"; version = "1.1.1"; @@ -39,6 +43,9 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ cmake-extras glib + ] + ++ lib.optionals withQt6 [ + libglvnd ]; # Library @@ -60,6 +67,11 @@ stdenv.mkDerivation (finalAttrs: { + '' substituteInPlace GSettings/CMakeLists.txt \ --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt\''${QT_VERSION_MAJOR}/qml" '${placeholder "out"}/${qtbase.qtQmlPrefix}' + '' + # Need QtQuick.Window in QML2_IMPORT_PATH + + '' + substituteInPlace tests/CMakeLists.txt \ + --replace-fail 'QML2_IMPORT_PATH=' 'QML2_IMPORT_PATH=${lib.getBin qtdeclarative}/${qtbase.qtQmlPrefix}:' ''; preBuild = @@ -69,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: { ''; cmakeFlags = [ - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) (lib.cmakeBool "ENABLE_WERROR" true) ]; @@ -96,7 +108,7 @@ stdenv.mkDerivation (finalAttrs: { teams = [ lib.teams.lomiri ]; platforms = lib.platforms.linux; pkgConfigModules = [ - "gsettings-qt" + "gsettings-qt${lib.optionalString withQt6 "6"}" ]; }; }) From 08dae344a14b52e607c553e55dd487543b27cca6 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 16:36:45 +0100 Subject: [PATCH 052/109] lomiri-qt6.lomiri-app-launch: init at 0.1.12 --- pkgs/desktops/lomiri/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 592d91c03889..b7b7c68807f7 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -27,6 +27,7 @@ let deviceinfo = callPackage ./development/deviceinfo { }; gsettings-qt = callPackage ./development/gsettings-qt { }; lomiri-api = callPackage ./development/lomiri-api { }; + lomiri-app-launch = callPackage ./development/lomiri-app-launch { }; #### QML / QML-related lomiri-action-api = callPackage ./qml/lomiri-action-api { @@ -67,7 +68,6 @@ let geonames = callPackage ./development/geonames { }; gmenuharness = callPackage ./development/gmenuharness { }; libusermetrics = callPackage ./development/libusermetrics { }; - lomiri-app-launch = callPackage ./development/lomiri-app-launch { }; qtmir = callPackage ./development/qtmir { }; trust-store = callPackage ./development/trust-store { }; u1db-qt = callPackage ./development/u1db-qt { }; From d7c18078839048f2db10f0efb8d0d3e8bbeb4381 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sun, 14 Dec 2025 16:33:49 +0100 Subject: [PATCH 053/109] lomiri-qt6.lomiri-content-hub: init at 2.2.2 --- pkgs/desktops/lomiri/default.nix | 5 +- .../services/lomiri-content-hub/default.nix | 61 ++++++++++++++----- 2 files changed, 49 insertions(+), 17 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index b7b7c68807f7..97614c9f68d5 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -38,6 +38,10 @@ let lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; #### Services + lomiri-content-hub = callPackage ./services/lomiri-content-hub { + # Check for working qdoc: not found + withDocumentation = !useQt6; + }; lomiri-download-manager = callPackage ./services/lomiri-download-manager { # Check for working qdoc: not found withDocumentation = !useQt6; @@ -80,7 +84,6 @@ let #### Services biometryd = callPackage ./services/biometryd { }; - lomiri-content-hub = callPackage ./services/lomiri-content-hub { }; hfd-service = callPackage ./services/hfd-service { }; lomiri-history-service = callPackage ./services/lomiri-history-service { }; lomiri-indicator-datetime = ayatana-indicator-datetime.override { enableLomiriFeatures = true; }; diff --git a/pkgs/desktops/lomiri/services/lomiri-content-hub/default.nix b/pkgs/desktops/lomiri/services/lomiri-content-hub/default.nix index 36194fe15587..d135f1380474 100644 --- a/pkgs/desktops/lomiri/services/lomiri-content-hub/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-content-hub/default.nix @@ -23,14 +23,18 @@ properties-cpp, qtbase, qtdeclarative, - qtfeedback, - qtgraphicaleffects, + qtfeedback ? null, + qtgraphicaleffects ? null, qttools, validatePkgConfig, wrapGAppsHook3, xvfb-run, + withDocumentation ? true, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-content-hub"; version = "2.2.2"; @@ -45,8 +49,10 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" "dev" - "doc" "examples" + ] + ++ lib.optionals withDocumentation [ + "doc" ]; patches = [ @@ -69,6 +75,11 @@ stdenv.mkDerivation (finalAttrs: { # Don't override default theme search path (which honours XDG_DATA_DIRS) with a FHS assumption substituteInPlace import/Lomiri/Content/contenthubplugin.cpp \ --replace-fail 'QIcon::setThemeSearchPaths(QStringList() << ("/usr/share/icons/"));' "" + '' + # Need QtQuick.Window on QML2_IMPORT_PATH + + '' + substituteInPlace tests/qml6-tests/CMakeLists.txt \ + --replace-fail 'QML2_IMPORT_PATH=' 'QML2_IMPORT_PATH=${lib.getBin qtdeclarative}/${qtbase.qtQmlPrefix}:' ''; strictDeps = true; @@ -78,9 +89,11 @@ stdenv.mkDerivation (finalAttrs: { gettext pkg-config qtdeclarative # qmlplugindump - qttools # qdoc validatePkgConfig wrapGAppsHook3 + ] + ++ lib.optionals withDocumentation [ + qttools # qdoc ]; buildInputs = [ @@ -96,8 +109,13 @@ stdenv.mkDerivation (finalAttrs: { properties-cpp qtbase qtdeclarative - qtfeedback + ] + ++ lib.optionals (!withQt6) [ + # Deprecated in Qt6 qtgraphicaleffects + + # Will prolly want this in the future, but needs porting to Qt6 + qtfeedback ]; nativeCheckInputs = [ @@ -112,11 +130,13 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "GSETTINGS_COMPILE" true) (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) - (lib.cmakeBool "ENABLE_DOC" true) - (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" true) # in case something still depends on it - (lib.cmakeBool "ENABLE_WERROR" true) + (lib.cmakeBool "ENABLE_DOC" withDocumentation) + # in case something still depends on it + # no longer available in the Qt6 build + (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" (!withQt6)) + (lib.cmakeBool "ENABLE_WERROR" (!withQt6)) # Known issues on Qt6 ]; preBuild = @@ -128,12 +148,19 @@ stdenv.mkDerivation (finalAttrs: { # Executes qmlplugindump export QT_PLUGIN_PATH=${listToQtVar [ qtbase ] qtbase.qtPluginPrefix} export QML2_IMPORT_PATH=${ - listToQtVar [ - qtdeclarative - lomiri-ui-toolkit - qtfeedback - qtgraphicaleffects - ] qtbase.qtQmlPrefix + listToQtVar ( + [ + qtdeclarative + lomiri-ui-toolkit + ] + ++ lib.optionals (!withQt6) [ + # Deprecated in Qt6 + qtgraphicaleffects + + # Will prolly want this in the future, but needs porting to Qt6 + qtfeedback + ] + ) qtbase.qtQmlPrefix } ''; @@ -160,6 +187,8 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + } + // lib.optionalAttrs (!withQt6) { # Tests content-hub functionality, up to the point where one app receives a content exchange request # from another and changes into a mode to pick the content to send vm = nixosTests.lomiri.desktop-appinteractions; @@ -183,7 +212,7 @@ stdenv.mkDerivation (finalAttrs: { teams = [ lib.teams.lomiri ]; platforms = lib.platforms.linux; pkgConfigModules = [ - "liblomiri-content-hub" + "liblomiri-content-hub${lib.optionalString withQt6 "-qt6"}" "liblomiri-content-hub-glib" ]; }; From beef8b9c1d796ed5d81919fa21186e9e992269f1 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 28 Feb 2026 21:29:26 +0100 Subject: [PATCH 054/109] lomiri-qt6.morph-browser: init at 1.99.3 --- .../applications/morph-browser/default.nix | 45 +++++++++++++++---- pkgs/desktops/lomiri/default.nix | 7 ++- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index 7b0b9d732ce4..f09374ba3f96 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -15,18 +15,21 @@ lomiri-ui-toolkit, mesa, pkg-config, - qqc2-suru-style, + qqc2-suru-style ? null, + qt5compat ? null, qtbase, qtdeclarative, - qtquickcontrols2, - qtsystems, + qtquickcontrols2 ? null, + qtsystems ? null, qttools, qtwebengine, wrapQtAppsHook, xvfb-run, + withDocumentation ? true, }: let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix; in stdenv.mkDerivation (finalAttrs: { @@ -42,6 +45,8 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" + ] + ++ lib.optionals withDocumentation [ "doc" ]; @@ -55,16 +60,22 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace doc/CMakeLists.txt \ --replace-fail 'COMMAND ''${QDOC_BIN} -qt5' 'COMMAND ''${QDOC_BIN}' + '' + + lib.optionalString (!withDocumentation) '' + substituteInPlace CMakeLists.txt \ + --replace-fail 'add_subdirectory(doc)' 'message(WARNING "[Nix] Not building documentation")' ''; - strictDeps = true; + strictDeps = !withQt6; nativeBuildInputs = [ cmake gettext pkg-config - qttools # qdoc wrapQtAppsHook + ] + ++ lib.optionals withDocumentation [ + qttools # qdoc ]; buildInputs = [ @@ -79,9 +90,20 @@ stdenv.mkDerivation (finalAttrs: { lomiri-content-hub lomiri-ui-extras lomiri-ui-toolkit + ] + ++ lib.optionals (!withQt6) [ + # Not ported to Qt6 yet, explicitly disabled in the Qt6 build + # https://gitlab.com/ubports/development/core/morph-browser/-/blob/4f20c943e78694818d1b80b5563bd89901230e75/src/app/browserapplication.cpp#L196 qqc2-suru-style + + # Folded into qtdeclarative in Qt6 qtquickcontrols2 + + # Will prolly want this in the future, but needs porting to Qt6 qtsystems + ] + ++ lib.optionals withQt6 [ + qt5compat ]; nativeCheckInputs = [ @@ -92,11 +114,14 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "CLICK_MODE" false) - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) - (lib.cmakeBool "WERROR" true) + (lib.cmakeBool "ENABLE_QT6" withQt6) + (lib.cmakeBool "WERROR" (!withQt6)) # Porting WIP ]; - doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + doCheck = + stdenv.buildPlatform.canExecute stdenv.hostPlatform + # Hard dependency on Qt5 still + && (!withQt6); disabledTests = [ # Don't care about linter failures @@ -115,6 +140,8 @@ stdenv.mkDerivation (finalAttrs: { lomiri-ui-toolkit qtwebengine qtdeclarative + ] + ++ lib.optionals (!withQt6) [ qtquickcontrols2 qtsystems ] @@ -132,7 +159,7 @@ stdenv.mkDerivation (finalAttrs: { passthru = { updateScript = gitUpdater { }; - tests = { + tests = lib.optionalAttrs (!withQt6) { # Test of morph-browser itself standalone = nixosTests.morph-browser; diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 97614c9f68d5..032c15476d72 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -16,6 +16,12 @@ let inherit (self) callPackage; in { + #### Core Apps + morph-browser = callPackage ./applications/morph-browser { + # get_target_property() called with non-existent target "Qt6::qdoc". + withDocumentation = !useQt6; + }; + #### Data lomiri-schemas = callPackage ./data/lomiri-schemas { }; lomiri-sounds = callPackage ./data/lomiri-sounds { }; @@ -62,7 +68,6 @@ let lomiri-system-settings-unwrapped = callPackage ./applications/lomiri-system-settings { }; lomiri-system-settings = callPackage ./applications/lomiri-system-settings/wrapper.nix { }; lomiri-terminal-app = callPackage ./applications/lomiri-terminal-app { }; - morph-browser = callPackage ./applications/morph-browser { }; teleports = callPackage ./applications/teleports { }; #### Data From 6ed37bcdd3e4b2f86a9e4f7d39826eb97e4e677b Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 7 Mar 2026 18:15:53 +0100 Subject: [PATCH 055/109] nixosTests.morph-browser: Turn into attrset of Qt5 & Qt6 variant tests --- nixos/tests/all-tests.nix | 2 +- nixos/tests/morph-browser.nix | 119 ++++++++++-------- .../applications/morph-browser/default.nix | 7 +- 3 files changed, 73 insertions(+), 55 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 638afcb5f721..3e475b242b9a 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -992,7 +992,7 @@ in moonraker = runTest ./moonraker.nix; moosefs = runTest ./moosefs.nix; mopidy = runTest ./mopidy.nix; - morph-browser = runTest ./morph-browser.nix; + morph-browser = discoverTests (import ./morph-browser.nix); mosquitto = runTest ./mosquitto.nix; movim = import ./web-apps/movim { inherit runTest; diff --git a/nixos/tests/morph-browser.nix b/nixos/tests/morph-browser.nix index 04857ceeeb10..03d338e96817 100644 --- a/nixos/tests/morph-browser.nix +++ b/nixos/tests/morph-browser.nix @@ -1,64 +1,81 @@ -{ pkgs, lib, ... }: -{ - name = "morph-browser-standalone"; - meta.maintainers = lib.teams.lomiri.members; - - nodes.machine = - { config, pkgs, ... }: +let + makeTest = import ./make-test-python.nix; + generic = { - imports = [ - ./common/x11.nix - ]; + withQt6, + }: + makeTest ( + { pkgs, lib, ... }: + { + name = "morph-browser-${if withQt6 then "qt6" else "qt5"}-standalone"; + meta.maintainers = lib.teams.lomiri.members; - services.xserver.enable = true; + nodes.machine = + { + config, + pkgs, + ... + }: + { + imports = [ + ./common/x11.nix + ]; - environment = { - systemPackages = with pkgs.lomiri; [ - suru-icon-theme - morph-browser - ]; - variables = { - UITK_ICON_THEME = "suru"; - }; - }; + services.xserver.enable = true; - i18n.supportedLocales = [ "all" ]; + environment = { + systemPackages = with (if withQt6 then pkgs.lomiri-qt6 else pkgs.lomiri); [ + suru-icon-theme + morph-browser + ]; + variables = { + UITK_ICON_THEME = "suru"; + }; + }; - fonts.packages = with pkgs; [ - # Intended font & helps with OCR - ubuntu-classic - ]; - }; + i18n.supportedLocales = [ "all" ]; - enableOCR = true; + fonts.packages = with pkgs; [ + # Intended font & helps with OCR + ubuntu-classic + ]; + }; - testScript = '' - machine.wait_for_x() + enableOCR = true; - with subtest("morph browser launches"): - machine.succeed("morph-browser >&2 &") - machine.sleep(10) - machine.send_key("alt-f10") - machine.sleep(5) - machine.wait_for_text(r"Web Browser|New|sites|Bookmarks") - machine.screenshot("morph_open") + testScript = '' + machine.wait_for_x() - with subtest("morph browser displays HTML"): - machine.send_chars("file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html\n") - machine.wait_for_text("Valgrind Documentation") - machine.screenshot("morph_htmlcontent") + with subtest("morph browser launches"): + machine.succeed("morph-browser >&2 &") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text(r"Web Browser|New|sites|Bookmarks") + machine.screenshot("morph_open") - machine.succeed("pkill -f morph-browser") + with subtest("morph browser displays HTML"): + machine.send_chars("file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html\n") + machine.wait_for_text("Valgrind Documentation") + machine.screenshot("morph_htmlcontent") - # Get rid of saved tabs, to show localised start page - machine.succeed("rm -r /root/.local/share/morph-browser") + machine.succeed("pkill -f morph-browser") - with subtest("morph browser localisation works"): - machine.succeed("env LANG=de_DE.UTF-8 morph-browser >&2 &") - machine.sleep(10) - machine.send_key("alt-f10") - machine.sleep(5) - machine.wait_for_text(r"Web-Browser|Neuer|Seiten|Lesezeichen") - machine.screenshot("morph_localised") - ''; + # Get rid of saved tabs, to show localised start page + machine.succeed("rm -r /root/.local/share/morph-browser") + + with subtest("morph browser localisation works"): + machine.succeed("env LANG=de_DE.UTF-8 morph-browser >&2 &") + machine.sleep(10) + machine.send_key("alt-f10") + machine.sleep(5) + machine.wait_for_text(r"Web-Browser|Neuer|Seiten|Lesezeichen") + machine.screenshot("morph_localised") + ''; + } + ); +in +{ + qt5 = generic { withQt6 = false; }; + qt6 = generic { withQt6 = true; }; } diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index f09374ba3f96..8653a7f99ef5 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -159,10 +159,11 @@ stdenv.mkDerivation (finalAttrs: { passthru = { updateScript = gitUpdater { }; - tests = lib.optionalAttrs (!withQt6) { + tests = { # Test of morph-browser itself - standalone = nixosTests.morph-browser; - + standalone = if withQt6 then nixosTests.morph-browser.qt6 else nixosTests.morph-browser.qt5; + } + // lib.optionalAttrs (!withQt6) { # Interactions between the Lomiri ecosystem and this browser inherit (nixosTests.lomiri) desktop-basics desktop-appinteractions; }; From 8d4eb711842a430feabacc1712c06950cf182929 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 10 Mar 2026 18:25:37 +0100 Subject: [PATCH 056/109] nixos/lomiri: Add Qt6 Morph Browser --- nixos/modules/services/desktop-managers/lomiri.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/desktop-managers/lomiri.nix b/nixos/modules/services/desktop-managers/lomiri.nix index 1f40afb3732a..a05923fd82b5 100644 --- a/nixos/modules/services/desktop-managers/lomiri.nix +++ b/nixos/modules/services/desktop-managers/lomiri.nix @@ -99,6 +99,10 @@ in libayatana-common ubports-click ]) + # Qt5 qtwebengine is not secure: https://github.com/NixOS/nixpkgs/pull/435067 + ++ (with pkgs.lomiri-qt6; [ + morph-browser + ]) ++ (with pkgs.lomiri; [ hfd-service libusermetrics @@ -125,10 +129,6 @@ in lomiri-thumbnailer lomiri-url-dispatcher mediascanner2 # TODO possibly needs to be kicked off by graphical-session.target - # Qt5 qtwebengine is not secure: https://github.com/NixOS/nixpkgs/pull/435067 - # morph-browser - # Adding another browser that is known-working until Morph Browser can migrate to Qt6 - pkgs.epiphany qtmir # not having its desktop file for Xwayland available causes any X11 application to crash the session teleports ]); From 7f002233edf4340f6a0a70342e96d6d9ee8471d2 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 10 Mar 2026 20:00:34 +0100 Subject: [PATCH 057/109] nixosTests.lomiri.desktop-basics: Re-enable Morph check --- nixos/tests/lomiri.nix | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/nixos/tests/lomiri.nix b/nixos/tests/lomiri.nix index b548288c62c6..8d1f7ddb6bf6 100644 --- a/nixos/tests/lomiri.nix +++ b/nixos/tests/lomiri.nix @@ -507,16 +507,15 @@ in machine.send_key("alt-f4") # Morph is how we go online - # Qt5 qtwebengine is not secure: https://github.com/NixOS/nixpkgs/pull/435067 - # with subtest("morph browser works"): - # open_starter() - # machine.send_chars("Morph\n") - # wait_for_text(r"(Bookmarks|address|site|visited any)") - # machine.screenshot("morph_open") - # - # # morph-browser has a separate VM test to test its basic functionalities - # - # machine.send_key("alt-f4") + with subtest("morph browser works"): + open_starter() + machine.send_chars("Morph\n") + wait_for_text(r"(Bookmarks|address|site|visited any)") + machine.screenshot("morph_open") + + # morph-browser has a separate VM test to test its basic functionalities + + machine.send_key("alt-f4") # LSS provides DE settings with subtest("system settings open"): From 5dee41c88be93700d08881df1b342f65a1c94826 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 24 Mar 2026 19:20:33 +0100 Subject: [PATCH 058/109] nixosTests.lomiri.desktop-appinteractions: Adjust to re-enabled Morph Gallery entry is somewhere else now. --- nixos/tests/lomiri.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/lomiri.nix b/nixos/tests/lomiri.nix index 8d1f7ddb6bf6..68254fbeeb35 100644 --- a/nixos/tests/lomiri.nix +++ b/nixos/tests/lomiri.nix @@ -688,7 +688,7 @@ in machine.screenshot("settings_lomiri-content-hub_peers") # Select Gallery as content source - mouse_click(460, 80) + mouse_click(540, 80) # Expect Gallery to be brought into the foreground, with its sharing page open wait_for_text("Photos") From a0a61ccf8c2d5f51f5ea3b2dcbbb902a58e8fd51 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Thu, 26 Mar 2026 21:55:33 +0100 Subject: [PATCH 059/109] {lomiri,lomiri-qt6}.morph-browser: Flip VM tests to being Qt6-specific The tests now use the Qt6 build, so flip the condition here. --- pkgs/desktops/lomiri/applications/morph-browser/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index 8653a7f99ef5..4e5b38564e40 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -163,7 +163,7 @@ stdenv.mkDerivation (finalAttrs: { # Test of morph-browser itself standalone = if withQt6 then nixosTests.morph-browser.qt6 else nixosTests.morph-browser.qt5; } - // lib.optionalAttrs (!withQt6) { + // lib.optionalAttrs withQt6 { # Interactions between the Lomiri ecosystem and this browser inherit (nixosTests.lomiri) desktop-basics desktop-appinteractions; }; From 4a456d9796ff06ce8bf72f2c68400fa913655750 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 24 Mar 2026 19:39:54 +0100 Subject: [PATCH 060/109] lomiri-qt6.biometryd: init at 0.4.0 --- pkgs/desktops/lomiri/default.nix | 2 +- .../lomiri/services/biometryd/default.nix | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 032c15476d72..2b2d4cd6a6ea 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -44,6 +44,7 @@ let lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { }; #### Services + biometryd = callPackage ./services/biometryd { }; lomiri-content-hub = callPackage ./services/lomiri-content-hub { # Check for working qdoc: not found withDocumentation = !useQt6; @@ -88,7 +89,6 @@ let qqc2-suru-style = callPackage ./qml/qqc2-suru-style { }; #### Services - biometryd = callPackage ./services/biometryd { }; hfd-service = callPackage ./services/hfd-service { }; lomiri-history-service = callPackage ./services/lomiri-history-service { }; lomiri-indicator-datetime = ayatana-indicator-datetime.override { enableLomiriFeatures = true; }; diff --git a/pkgs/desktops/lomiri/services/biometryd/default.nix b/pkgs/desktops/lomiri/services/biometryd/default.nix index 40fcd228444e..cff11cdafc6d 100644 --- a/pkgs/desktops/lomiri/services/biometryd/default.nix +++ b/pkgs/desktops/lomiri/services/biometryd/default.nix @@ -23,6 +23,11 @@ validatePkgConfig, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; + listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix; + qtQmlPaths = listToQtVar qtbase.qtQmlPrefix [ qtdeclarative ]; +in stdenv.mkDerivation (finalAttrs: { pname = "biometryd"; version = "0.4.0"; @@ -60,6 +65,12 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace data/biometryd.pc.in \ --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' \ + + # Suffix our QML2_IMPORT_PATH + substituteInPlace tests/CMakeLists.txt \ + --replace-fail \ + 'QML2_IMPORT_PATH=''${CMAKE_BINARY_DIR}/src/biometry/qml;' \ + 'QML2_IMPORT_PATH=''${CMAKE_BINARY_DIR}/src/biometry/qml:${qtQmlPaths};' '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt @@ -96,14 +107,14 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; cmakeFlags = [ - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) (lib.cmakeBool "ENABLE_WERROR" true) (lib.cmakeBool "WITH_HYBRIS" false) ]; preBuild = '' # Generating plugins.qmltypes (also used in checkPhase?) - export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix} + export QT_PLUGIN_PATH=${listToQtVar qtbase.qtPluginPrefix [ qtbase ]} ''; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; From 061f89bb5fc0bae38c59b581456bbd2c8eb1b3b4 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 27 Mar 2026 14:38:44 +0100 Subject: [PATCH 061/109] lomiri-qt6.lomiri-url-dispatcher: init at 0.1.4 --- pkgs/desktops/lomiri/default.nix | 2 +- .../services/lomiri-url-dispatcher/default.nix | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 2b2d4cd6a6ea..f008c66c4332 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -53,6 +53,7 @@ let # Check for working qdoc: not found withDocumentation = !useQt6; }; + lomiri-url-dispatcher = callPackage ./services/lomiri-url-dispatcher { }; } // lib.optionalAttrs (!useQt6) { #### Core Apps @@ -96,7 +97,6 @@ let lomiri-polkit-agent = callPackage ./services/lomiri-polkit-agent { }; lomiri-telephony-service = callPackage ./services/lomiri-telephony-service { }; lomiri-thumbnailer = callPackage ./services/lomiri-thumbnailer { }; - lomiri-url-dispatcher = callPackage ./services/lomiri-url-dispatcher { }; mediascanner2 = callPackage ./services/mediascanner2 { }; }; in diff --git a/pkgs/desktops/lomiri/services/lomiri-url-dispatcher/default.nix b/pkgs/desktops/lomiri/services/lomiri-url-dispatcher/default.nix index d28de698e310..d9a7435ec4ee 100644 --- a/pkgs/desktops/lomiri/services/lomiri-url-dispatcher/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-url-dispatcher/default.nix @@ -28,6 +28,9 @@ wrapQtAppsHook, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-url-dispatcher"; version = "0.1.4"; @@ -93,7 +96,6 @@ stdenv.mkDerivation (finalAttrs: { libapparmor lomiri-app-launch lomiri-ui-toolkit - qtdeclarative sqlite systemd libxkbcommon @@ -128,13 +130,19 @@ stdenv.mkDerivation (finalAttrs: { wrapProgram $out/bin/lomiri-url-dispatcher-dump \ --prefix PATH : ${lib.makeBinPath [ sqlite ]} - + '' + # https://gitlab.com/ubports/development/core/lomiri-url-dispatcher/-/work_items/13 + + lib.optionalString withQt6 '' + rm $out/bin/lomiri-url-dispatcher-gui + rm -r $out/share/lomiri-url-dispatcher/gui + '' + + lib.optionalString (!withQt6) '' mkdir -p $out/share/icons/hicolor/scalable/apps ln -s $out/share/lomiri-url-dispatcher/gui/lomiri-url-dispatcher-gui.svg $out/share/icons/hicolor/scalable/apps/ # Calls qmlscene from PATH, needs Qt plugins & QML components qtWrapperArgs+=( - --prefix PATH : ${lib.makeBinPath [ qtdeclarative.dev ]} + --prefix PATH : ${lib.makeBinPath [ (if withQt6 then qtdeclarative.out else qtdeclarative.dev) ]} ) wrapQtApp $out/bin/lomiri-url-dispatcher-gui ''; From b5e4eb8319e80e323008db992586562186795b30 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 27 Mar 2026 14:56:07 +0100 Subject: [PATCH 062/109] lomiri-qt6.lomiri-indicator-network: init at 1.2.0 Lacking the actual indicator so far, just the connectivity API. Still needed for other packages though. --- pkgs/desktops/lomiri/default.nix | 2 +- .../lomiri-indicator-network/default.nix | 62 ++++++++++++------- 2 files changed, 42 insertions(+), 22 deletions(-) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index f008c66c4332..a4872027f911 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -53,6 +53,7 @@ let # Check for working qdoc: not found withDocumentation = !useQt6; }; + lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { }; lomiri-url-dispatcher = callPackage ./services/lomiri-url-dispatcher { }; } // lib.optionalAttrs (!useQt6) { @@ -93,7 +94,6 @@ let hfd-service = callPackage ./services/hfd-service { }; lomiri-history-service = callPackage ./services/lomiri-history-service { }; lomiri-indicator-datetime = ayatana-indicator-datetime.override { enableLomiriFeatures = true; }; - lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { }; lomiri-polkit-agent = callPackage ./services/lomiri-polkit-agent { }; lomiri-telephony-service = callPackage ./services/lomiri-telephony-service { }; lomiri-thumbnailer = callPackage ./services/lomiri-thumbnailer { }; diff --git a/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix b/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix index 60dd87c0753a..0c1a030d237b 100644 --- a/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix @@ -12,11 +12,11 @@ doxygen, gettext, glib, - gmenuharness, + gmenuharness ? null, # not ported to Qt6 yet gtest, intltool, libsecret, - libqofono, + libqofono ? null, # not ported to Qt6 yet libqtdbusmock, libqtdbustest, lomiri-api, @@ -25,12 +25,15 @@ ofono, pkg-config, python3, - qtdeclarative, qtbase, + qtdeclarative, qttools, validatePkgConfig, }: +let + withQt6 = lib.strings.versionAtLeast qtbase.version "6"; +in stdenv.mkDerivation (finalAttrs: { pname = "lomiri-indicator-network"; version = "1.2.0"; @@ -45,6 +48,8 @@ stdenv.mkDerivation (finalAttrs: { outputs = [ "out" "dev" + ] + ++ lib.optionals (!withQt6) [ "doc" ]; @@ -59,26 +64,33 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake - doxygen gettext - intltool pkg-config qtdeclarative - qttools # qdoc validatePkgConfig + ] + ++ lib.optionals (!withQt6) [ + doxygen + intltool + qttools # qdoc ]; buildInputs = [ cmake-extras + lomiri-api + qtbase + ] + ++ lib.optionals withQt6 [ + qtdeclarative + ] + ++ lib.optionals (!withQt6) [ dbus glib libqofono libsecret - lomiri-api lomiri-url-dispatcher networkmanager ofono - qtbase ]; nativeCheckInputs = [ (python3.withPackages (ps: with ps; [ python-dbusmock ])) ]; @@ -93,37 +105,45 @@ stdenv.mkDerivation (finalAttrs: { dontWrapQtApps = true; cmakeFlags = [ - (lib.cmakeBool "BUILD_DOC" true) - (lib.cmakeBool "BUILD_LIBCONNECTIVITY_ONLY" false) + (lib.cmakeBool "BUILD_DOC" (!withQt6)) + # Indicator is not ported to Qt6 yet + (lib.cmakeBool "BUILD_LIBCONNECTIVITY_ONLY" withQt6) (lib.cmakeBool "ENABLE_COVERAGE" false) - (lib.cmakeBool "ENABLE_QT6" (lib.strings.versionAtLeast qtbase.version "6")) + (lib.cmakeBool "ENABLE_QT6" withQt6) (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) - (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" (!lib.strings.versionAtLeast qtbase.version "6")) - (lib.cmakeBool "GSETTINGS_COMPILE" true) - (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) - (lib.cmakeBool "USE_SYSTEMD" true) + (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" (!withQt6)) + (lib.cmakeBool "GSETTINGS_COMPILE" (!withQt6)) + (lib.cmakeBool "GSETTINGS_LOCALINSTALL" (!withQt6)) + (lib.cmakeBool "USE_SYSTEMD" (!withQt6)) ]; - doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + doCheck = + stdenv.buildPlatform.canExecute stdenv.hostPlatform + # Indicator is not ported to Qt6 yet, tests only cover indicator + && !withQt6; # Multiple tests spin up & speak to D-Bus, avoid cross-talk causing failures enableParallelChecking = false; - postInstall = '' + postInstall = lib.optionalString (!withQt6) '' substituteInPlace $out/etc/dbus-1/services/com.lomiri.connectivity1.service \ --replace-fail '/bin/false' '${lib.getExe' coreutils "false"}' ''; passthru = { - ayatana-indicators = { - lomiri-indicator-network = [ "lomiri" ]; - }; tests = { pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + } + // lib.optionalAttrs (!withQt6) { startup = nixosTests.ayatana-indicators; lomiri = nixosTests.lomiri.desktop-ayatana-indicator-network; }; updateScript = gitUpdater { }; + } + // lib.optionalAttrs (!withQt6) { + ayatana-indicators = { + lomiri-indicator-network = [ "lomiri" ]; + }; }; meta = { @@ -135,6 +155,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.gpl3Only; teams = [ lib.teams.lomiri ]; platforms = lib.platforms.linux; - pkgConfigModules = [ "lomiri-connectivity-qt1" ]; + pkgConfigModules = [ "lomiri-connectivity-qt${if withQt6 then "6" else "1"}" ]; }; }) From 6bff80746993f8806faa96a5226103f7f6c01733 Mon Sep 17 00:00:00 2001 From: Matthias Ahouansou Date: Mon, 30 Mar 2026 16:32:51 +0100 Subject: [PATCH 063/109] listenbrainz-mpd: 2.3.9 -> 2.5.1 --- pkgs/by-name/li/listenbrainz-mpd/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/listenbrainz-mpd/package.nix b/pkgs/by-name/li/listenbrainz-mpd/package.nix index d2eca95e2eb8..2351a7809ae6 100644 --- a/pkgs/by-name/li/listenbrainz-mpd/package.nix +++ b/pkgs/by-name/li/listenbrainz-mpd/package.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "listenbrainz-mpd"; - version = "2.3.9"; + version = "2.5.1"; src = fetchFromCodeberg { owner = "elomatreb"; repo = "listenbrainz-mpd"; rev = "v${finalAttrs.version}"; - hash = "sha256-j9MlvE2upocwC5xxroms3am6tqJX30sSw7PFNw8Ofog="; + hash = "sha256-087+l3calge6hKu3h84C98mIpW6qFAZwRMe4lkQCU4o="; }; - cargoHash = "sha256-1x3F2TqNlqwfPUvLwU8ac4aEeEwpIy5gEyxRBC0Q5YM="; + cargoHash = "sha256-SxXEathWAGqdgeJmIn5h9Zvv7Z3DGXa4htkODf/ANRQ="; nativeBuildInputs = [ pkg-config From 5dcf2249ad7c6ca80b2fc3e8c35b62cfc6609e48 Mon Sep 17 00:00:00 2001 From: David Isaksson Date: Sun, 16 Nov 2025 19:16:35 +0100 Subject: [PATCH 064/109] maintainers: add Granddave --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2cd35cd6768b..1211f9e16168 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9981,6 +9981,12 @@ githubId = 66037909; name = "Graham J. Norris"; }; + granddave = { + email = "davidisaksson93@gmail.com"; + github = "Granddave"; + githubId = 13297896; + name = "David Isaksson"; + }; gravndal = { email = "gaute.ravndal+nixos@gmail.com"; github = "gravndal"; From 6ab57d621e61f64fa2c863af3078f7ab4f086be5 Mon Sep 17 00:00:00 2001 From: David Isaksson Date: Sun, 16 Nov 2025 19:16:48 +0100 Subject: [PATCH 065/109] aegis-rs: init at 0.5.0 --- pkgs/by-name/ae/aegis-rs/package.nix | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pkgs/by-name/ae/aegis-rs/package.nix diff --git a/pkgs/by-name/ae/aegis-rs/package.nix b/pkgs/by-name/ae/aegis-rs/package.nix new file mode 100644 index 000000000000..353dad556495 --- /dev/null +++ b/pkgs/by-name/ae/aegis-rs/package.nix @@ -0,0 +1,34 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + versionCheckHook, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "aegis-rs"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "Granddave"; + repo = "aegis-rs"; + tag = "v${finalAttrs.version}"; + hash = "sha256-V6b9CDLjpyRb/MlbAswQ2kJFGeYDu9r2Y/8lBB+kLGc="; + }; + cargoHash = "sha256-QYTmTJiwqslFM1VT+B+HtA8idvhKOPY4+ip/FqQGZ34="; + + passthru.updateScript = nix-update-script { }; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + meta = { + description = "Aegis compatible OTP generator for the CLI"; + homepage = "https://github.com/Granddave/aegis-rs"; + changelog = "https://github.com/Granddave/aegis-rs/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ granddave ]; + mainProgram = "aegis-rs"; + }; +}) From 541f88cb717d7b1915e83ba0f6e949cc43542063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 30 Mar 2026 09:40:59 -0700 Subject: [PATCH 066/109] python3Packages.habiticalib: 0.4.6 -> 0.4.7 Diff: https://github.com/tr4nt0r/habiticalib/compare/v0.4.6...v0.4.7 Changelog: https://github.com/tr4nt0r/habiticalib/releases/tag/v0.4.7 --- .../python-modules/habiticalib/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/habiticalib/default.nix b/pkgs/development/python-modules/habiticalib/default.nix index f4093c11ac3a..38ec61bf89f1 100644 --- a/pkgs/development/python-modules/habiticalib/default.nix +++ b/pkgs/development/python-modules/habiticalib/default.nix @@ -4,7 +4,6 @@ aioresponses, buildPythonPackage, fetchFromGitHub, - habitipy, hatch-regex-commit, hatchling, mashumaro, @@ -19,7 +18,7 @@ buildPythonPackage rec { pname = "habiticalib"; - version = "0.4.6"; + version = "0.4.7"; pyproject = true; disabled = pythonOlder "3.12"; @@ -28,7 +27,7 @@ buildPythonPackage rec { owner = "tr4nt0r"; repo = "habiticalib"; tag = "v${version}"; - hash = "sha256-Z3VJ0AaB4HeCOffV5B2WFIvGJXoCn1isNPMnERoUrp0="; + hash = "sha256-ZZY7UnA4d4JNHGLMtaEGobAgzAwYDgL2SUGfxGABxTs="; }; build-system = [ @@ -36,9 +35,12 @@ buildPythonPackage rec { hatchling ]; + pythonRelaxDeps = [ + "orjson" + ]; + dependencies = [ aiohttp - habitipy mashumaro orjson pillow @@ -52,8 +54,6 @@ buildPythonPackage rec { syrupy ]; - pytestFlags = [ "--snapshot-update" ]; - pythonImportsCheck = [ "habiticalib" ]; disabledTests = [ From 6637cb8e5a3b9ce7c145112f8a528c35805fe26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 30 Mar 2026 09:46:06 -0700 Subject: [PATCH 067/109] python3Packages.pydrawise: 2025.9.0 -> 2026.3.0 Diff: https://github.com/dknowles2/pydrawise/compare/2025.9.0...2026.3.0 Changelog: https://github.com/dknowles2/pydrawise/releases/tag/2026.3.0 --- pkgs/development/python-modules/pydrawise/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pydrawise/default.nix b/pkgs/development/python-modules/pydrawise/default.nix index 06de33708cb2..04623dcd79a7 100644 --- a/pkgs/development/python-modules/pydrawise/default.nix +++ b/pkgs/development/python-modules/pydrawise/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "pydrawise"; - version = "2025.9.0"; + version = "2026.3.0"; pyproject = true; src = fetchFromGitHub { owner = "dknowles2"; repo = "pydrawise"; tag = version; - hash = "sha256-eHy3pdzgN5CvKfsoa5ZdT9lor4AiZr8K1g/8qyzP3eo="; + hash = "sha256-h91J8gcc5qiBCYvOeFhSDtvdMKfuWUTys6uw5wmLehI="; }; build-system = [ From 5acc9572d1da1c6d6d888d2118cd32153393cd3f Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Mon, 30 Mar 2026 14:48:10 -0400 Subject: [PATCH 068/109] elephant: 2.20.2 -> 2.20.3 Changelog: https://github.com/abenz1267/elephant/releases/tag/v2.20.3 --- pkgs/by-name/el/elephant/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/el/elephant/package.nix b/pkgs/by-name/el/elephant/package.nix index aad099a93348..1629406617d5 100644 --- a/pkgs/by-name/el/elephant/package.nix +++ b/pkgs/by-name/el/elephant/package.nix @@ -74,16 +74,16 @@ let in buildGoModule (finalAttrs: { pname = "elephant"; - version = "2.20.2"; + version = "2.20.3"; src = fetchFromGitHub { owner = "abenz1267"; repo = "elephant"; rev = "v${finalAttrs.version}"; - hash = "sha256-RvCzINnVISBT3d0F1DoIcQFbQsbRJISW9qZeKTzmNaA="; + hash = "sha256-5PLTPbnbtK0iDbsB9yFeHr5y/pv6/XzoVm/CDeXXt/c="; }; - vendorHash = "sha256-tO+5x2FIY1UBvWl9x3ZSpHwTWUlw1VNDTi9+2uY7xdU="; + vendorHash = "sha256-EWXZ+9/QDRpidpVHBcfJgp0xoc3YtRsiC/UTk1R+FSY="; buildInputs = [ protobuf ]; nativeBuildInputs = [ From ae298616dbee6a532ee3086e47410f390f88a568 Mon Sep 17 00:00:00 2001 From: Johannes Arnold Date: Mon, 30 Mar 2026 21:14:38 +0200 Subject: [PATCH 069/109] prosody: bump community modules to ce716e5e0fee --- pkgs/by-name/pr/prosody/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/prosody/package.nix b/pkgs/by-name/pr/prosody/package.nix index 6132bb9f901e..a84c062d03ec 100644 --- a/pkgs/by-name/pr/prosody/package.nix +++ b/pkgs/by-name/pr/prosody/package.nix @@ -56,8 +56,8 @@ stdenv.mkDerivation (finalAttrs: { # version. communityModules = fetchhg { url = "https://hg.prosody.im/prosody-modules"; - rev = "83355cfcad1d"; - hash = "sha256-v8o2FMUY2dQEQ+G81Ec4RJ7J5Mz5CkXc4iabAAb13L4="; + rev = "ce716e5e0fee"; + hash = "sha256-jjsHL9+lLwhFXO61h6SmQjwEdRJQ/zKgc1PDnH+wHxs="; }; nativeBuildInputs = [ makeWrapper ]; From 20abda145916d37b2f4357201ea3c04699a9b0fb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 30 Mar 2026 20:11:49 +0000 Subject: [PATCH 070/109] greenmask: 0.2.17 -> 0.2.18 --- pkgs/by-name/gr/greenmask/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gr/greenmask/package.nix b/pkgs/by-name/gr/greenmask/package.nix index 5c33ad6cee71..5a8d3abae55d 100644 --- a/pkgs/by-name/gr/greenmask/package.nix +++ b/pkgs/by-name/gr/greenmask/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "greenmask"; - version = "0.2.17"; + version = "0.2.18"; src = fetchFromGitHub { owner = "GreenmaskIO"; repo = "greenmask"; tag = "v${finalAttrs.version}"; - hash = "sha256-pH+e+CXC18jpAq/xLV5CE0BicxgPtLF7kBgUusebWDg="; + hash = "sha256-ZFlfX6JgJOaq+8OxSzhulRTkKabGoNsnBxFVpg81RDs="; }; - vendorHash = "sha256-t2U65GAGBGdMRXPTkCQCuXfLuqohA6erTlvAN/xx/ek="; + vendorHash = "sha256-SB71/Tf9Bw8AlTYGXOaRR8sdiwx8l9wQba93p6vAbAk="; subPackages = [ "cmd/greenmask/" ]; From 18bee823a48b0dca1de7576b3c47e04cfb3be04b Mon Sep 17 00:00:00 2001 From: Chris Seufert Date: Mon, 30 Mar 2026 22:25:10 +1100 Subject: [PATCH 071/109] phpstorm: 2025.3.4 -> 2026.1 --- .../editors/jetbrains/ides/phpstorm.nix | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/ides/phpstorm.nix b/pkgs/applications/editors/jetbrains/ides/phpstorm.nix index a0d8b42686d5..8fc96148791c 100644 --- a/pkgs/applications/editors/jetbrains/ides/phpstorm.nix +++ b/pkgs/applications/editors/jetbrains/ides/phpstorm.nix @@ -12,20 +12,20 @@ let # update-script-start: urls urls = { x86_64-linux = { - url = "https://download.jetbrains.com/webide/PhpStorm-2025.3.4.tar.gz"; - hash = "sha256-rUFOzut21nrAoKq88W8naa61Y/ncA7pn0MO3rGmuBIY="; + url = "https://download.jetbrains.com/webide/PhpStorm-2026.1.tar.gz"; + hash = "sha256-OpSc/Xg4nWh9XRpVN8FLaV1Gwz8kbM+S9WVk27jJ7gY="; }; aarch64-linux = { - url = "https://download.jetbrains.com/webide/PhpStorm-2025.3.4-aarch64.tar.gz"; - hash = "sha256-wjBhibJGItzDKkRtx4tXqM0Kqn4K8HNGdAVMGalm7Fw="; + url = "https://download.jetbrains.com/webide/PhpStorm-2026.1-aarch64.tar.gz"; + hash = "sha256-StoSzSx4fxeeB+PnZB5PCEzPJuWCa+HeY9u6hGGlUHg="; }; x86_64-darwin = { - url = "https://download.jetbrains.com/webide/PhpStorm-2025.3.4.dmg"; - hash = "sha256-emlgbnHw1yaRHaiFjCL9EBYFffdWWNF7AFWyIERj0QA="; + url = "https://download.jetbrains.com/webide/PhpStorm-2026.1.dmg"; + hash = "sha256-KN4OVeR7TCA+PigHemh0eIT+y3hRKAGFJlEFmRc45Xg="; }; aarch64-darwin = { - url = "https://download.jetbrains.com/webide/PhpStorm-2025.3.4-aarch64.dmg"; - hash = "sha256-mxrTc5v4IIDgZzwMtbvdifmetoDacGNEhyVzPiVMSSw="; + url = "https://download.jetbrains.com/webide/PhpStorm-2026.1-aarch64.dmg"; + hash = "sha256-V3TQIvaYH3+NmWIDJFyTcO7Zwdd+TPP0TSFmX5pjEhM="; }; }; # update-script-end: urls @@ -39,8 +39,8 @@ mkJetBrainsProduct { product = "PhpStorm"; # update-script-start: version - version = "2025.3.4"; - buildNumber = "253.32098.40"; + version = "2026.1"; + buildNumber = "261.22158.283"; # update-script-end: version src = fetchurl (urls.${system} or (throw "Unsupported system: ${system}")); From 47e8e428bf483336712da34f774f58e3573d4b85 Mon Sep 17 00:00:00 2001 From: Michael Daniels Date: Mon, 30 Mar 2026 19:02:40 -0400 Subject: [PATCH 072/109] workflows/periodic-merge: replace commenting action with `gh` cli Per zizmor's [`superfluous-actions`](https://docs.zizmor.sh/audits/#superfluous-actions) rule, which is not yet in the pinned version. --- .github/workflows/periodic-merge.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/periodic-merge.yml b/.github/workflows/periodic-merge.yml index 2eb0e347a0c1..66681b2ece3a 100644 --- a/.github/workflows/periodic-merge.yml +++ b/.github/workflows/periodic-merge.yml @@ -60,10 +60,10 @@ jobs: github_token: ${{ steps.app-token.outputs.token }} - name: Comment on failure - uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0 if: ${{ failure() }} - with: - issue-number: 105153 - body: | + env: + BODY_TEXT: | Periodic merge from `${{ inputs.from }}` into [`${{ inputs.into }}`](https://github.com/NixOS/nixpkgs/tree/${{ inputs.into }}) has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}). - token: ${{ steps.app-token.outputs.token }} + GH_TOKEN: ${{ steps.app-token.outputs.token }} + run: | + gh pr comment 105153 --body "$BODY_TEXT" From 44a945e9af2a146c4a74b4d8e0e43591e49cfa4e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 02:24:12 +0000 Subject: [PATCH 073/109] python3Packages.busylight-core: 2.0.1 -> 2.2.0 --- pkgs/development/python-modules/busylight-core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/busylight-core/default.nix b/pkgs/development/python-modules/busylight-core/default.nix index f6c0add36894..0620ff75e92b 100644 --- a/pkgs/development/python-modules/busylight-core/default.nix +++ b/pkgs/development/python-modules/busylight-core/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "busylight-core"; - version = "2.0.1"; + version = "2.2.0"; pyproject = true; src = fetchFromGitHub { owner = "JnyJny"; repo = "busylight-core"; tag = "v${version}"; - hash = "sha256-BJJkuArs7zRvnxVykcMzc/K+MC9r/NYy3wUfAUxrnNE="; + hash = "sha256-as2IvaxyMjGKPGlBmz1cntAhbpuW+f3INtnNIcwpWh8="; }; postPatch = '' From f26210b19cf440b325b9366a65876b4eed5e5f2d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 06:21:41 +0000 Subject: [PATCH 074/109] openfga: 1.12.1 -> 1.13.1 --- pkgs/by-name/op/openfga/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/openfga/package.nix b/pkgs/by-name/op/openfga/package.nix index 5b3eefa1f4c0..0826a2c58aa3 100644 --- a/pkgs/by-name/op/openfga/package.nix +++ b/pkgs/by-name/op/openfga/package.nix @@ -7,16 +7,16 @@ buildGoModule (finalAttrs: { pname = "openfga"; - version = "1.12.1"; + version = "1.13.1"; src = fetchFromGitHub { owner = "openfga"; repo = "openfga"; rev = "v${finalAttrs.version}"; - hash = "sha256-uIdsHYrVp57HnIrJLv0VtysaehqrZLVTsPfrlJjmBco="; + hash = "sha256-fmTb5mRAbJGDfE4lLSFtfHuQv2pQn4fQnX7fTjq7KKs="; }; - vendorHash = "sha256-lQeUfLfYpk4HPyhpp/rKWVoWwPzKKyk/sHE1rgtcyxA="; + vendorHash = "sha256-sd1kDRicWb5ShEFDCJIjv4kk2dA5XwABH3Ii/P3uVvI="; nativeBuildInputs = [ installShellFiles ]; From 0d966335015fe7341c7c76a76c158ae6962dd274 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Sun, 12 Oct 2025 00:12:29 +0200 Subject: [PATCH 075/109] python3Packages.scantree: init at 0.0.4 The package is needed by https://github.com/colcon/colcon-clean. It is also packaged in Debian: https://packages.debian.org/trixie/python3-scantree. --- .../python-modules/scantree/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/scantree/default.nix diff --git a/pkgs/development/python-modules/scantree/default.nix b/pkgs/development/python-modules/scantree/default.nix new file mode 100644 index 000000000000..f9f8423968e4 --- /dev/null +++ b/pkgs/development/python-modules/scantree/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + versioneer, + attrs, + pathspec, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "scantree"; + version = "0.0.4"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-Fb1cskSDsE2yxwZTYE6Oo1IumAh9t+OKuEgvBTmEwKw="; + }; + + build-system = [ + setuptools + versioneer + ]; + + dependencies = [ + attrs + pathspec + ]; + + pythonImportsCheck = [ + "scantree" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Flexible recursive directory iterator: scandir meets glob(\"**\", recursive=True)"; + homepage = "https://github.com/andhus/scantree"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ wentasah ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bffdd977ba0f..193874bcff95 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17221,6 +17221,8 @@ self: super: with self; { scanpy = callPackage ../development/python-modules/scanpy { }; + scantree = callPackage ../development/python-modules/scantree { }; + scapy = callPackage ../development/python-modules/scapy { inherit (pkgs) libpcap; # Avoid confusion with python package of the same name }; From e13e1d96e0a6ae10ec4faf74e40fbcaeb4d0c506 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 07:47:27 +0000 Subject: [PATCH 076/109] beam26Packages.elvis-erlang: 4.2.3 -> 5.0.2 --- .../beam-modules/elvis-erlang/default.nix | 4 ++-- .../beam-modules/elvis-erlang/rebar-deps.nix | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/beam-modules/elvis-erlang/default.nix b/pkgs/development/beam-modules/elvis-erlang/default.nix index cb80d7e3b3ca..605fd728534a 100644 --- a/pkgs/development/beam-modules/elvis-erlang/default.nix +++ b/pkgs/development/beam-modules/elvis-erlang/default.nix @@ -11,12 +11,12 @@ rebar3Relx rec { releaseType = "escript"; pname = "elvis-erlang"; - version = "4.2.3"; + version = "5.0.2"; src = fetchFromGitHub { owner = "inaka"; repo = "elvis"; - hash = "sha256-4hStLm76HZmO3vk/RdeRGJPJ3gevUkjVO2jGpVff32Q="; + hash = "sha256-QGA9vAWMgRhKHKc0XdoAymssFJSMM/xYDvKY6NC0Yys="; tag = version; }; diff --git a/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix b/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix index 43985a064e84..207c83bf3b74 100644 --- a/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix +++ b/pkgs/development/beam-modules/elvis-erlang/rebar-deps.nix @@ -24,11 +24,11 @@ let }; katana_code = builder { name = "katana_code"; - version = "2.4.1"; + version = "2.4.3"; src = fetchHex { pkg = "katana_code"; - version = "2.4.1"; - sha256 = "sha256-WO/GO12dq8giMMq1DN5/eyWSh6aQ7Wmfeaf6gPSbCzo="; + version = "2.4.3"; + sha256 = "sha256-YUxjQ9uqRc7e8n0j6wkBo4PEa/61dwOaXmDK0XGGzO4="; }; beamDeps = [ ]; }; @@ -44,11 +44,11 @@ let }; elvis_core = builder { name = "elvis_core"; - version = "4.2.3"; + version = "5.0.2"; src = fetchHex { pkg = "elvis_core"; - version = "4.2.3"; - sha256 = "sha256-xy4xinPab51p3uDxh/h5dHH57kbPTdrO36LJ+byxjqA="; + version = "5.0.2"; + sha256 = "sha256-SFa4TuS6ENxtjKBAoS2tZ5yXAuBRFIADvTsfsYUTxdc="; }; beamDeps = [ katana_code From eca95bc2ef14e8421a9ccb9c8da5c6f1e5cd8292 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 31 Mar 2026 10:54:30 +0300 Subject: [PATCH 077/109] python3Packages.freud: readd comment linking to #255262 --- pkgs/development/python-modules/freud/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/freud/default.nix b/pkgs/development/python-modules/freud/default.nix index aba9138088fd..939e29a6339e 100644 --- a/pkgs/development/python-modules/freud/default.nix +++ b/pkgs/development/python-modules/freud/default.nix @@ -80,6 +80,7 @@ buildPythonPackage (finalAttrs: { pytestCheckHook sympy ]; + # https://github.com/NixOS/nixpkgs/issues/255262 preCheck = '' rm -rf freud ''; From 604c7dae4824aafdec02eb5dbf43fae1fe69dc51 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 31 Mar 2026 11:01:57 +0300 Subject: [PATCH 078/109] python3Packages.freud: extend comment for disabledTests --- pkgs/development/python-modules/freud/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/freud/default.nix b/pkgs/development/python-modules/freud/default.nix index 939e29a6339e..6181840f24f8 100644 --- a/pkgs/development/python-modules/freud/default.nix +++ b/pkgs/development/python-modules/freud/default.nix @@ -86,7 +86,11 @@ buildPythonPackage (finalAttrs: { ''; disabledTests = [ + # 4 tests fail with: + # # AttributeError: module 'scipy.special' has no attribute 'sph_harm' + # + # See: https://github.com/glotzerlab/freud/issues/1408 "test_ld" "test_multiple_l" "test_qlmi" From b96544c64fd9d4367e676fbed9bf6c3af87f900b Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:14:21 +0200 Subject: [PATCH 079/109] python3Packages.iamdata: 0.1.202603301 -> 0.1.202603311 Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202603301...v0.1.202603311 Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202603311 --- pkgs/development/python-modules/iamdata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 2a92f7c2d298..2cce1032fab0 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202603301"; + version = "0.1.202603311"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-cJ+CvwbPLyZZazeKVZywBLsIChvZKZ8huQbEh3yIsto="; + hash = "sha256-r4BpJJq/2xopL16+JXss7Xj7XgebQTmKdDkc9KeEbU0="; }; __darwinAllowLocalNetworking = true; From 2aa3f9ba2202bb298629e4f2bb6c8604d13ded5f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:17:56 +0200 Subject: [PATCH 080/109] python3Packages.tencentcloud-sdk-python: 3.1.64 -> 3.1.67 Diff: https://github.com/TencentCloud/tencentcloud-sdk-python/compare/3.1.64...3.1.67 Changelog: https://github.com/TencentCloud/tencentcloud-sdk-python/blob/3.1.67/CHANGELOG.md --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 9876d11ecb1b..75ee18c69a44 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.64"; + version = "3.1.67"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-X8UCnuXhaPsBrtuFz8cLkvag86Fa5aO7YXuPmazZdVA="; + hash = "sha256-J5svdEmr8jGq7OstSRk/Sv/QsmwPanm0gemciOyHjHc="; }; build-system = [ setuptools ]; From 401c9f14a0c9196fe16c299ee7b74f41fa9587b2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:18:39 +0200 Subject: [PATCH 081/109] python3Packages.mypy-boto3-appstream: 1.42.54 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 65d2e841449b..a83eb71a4fa9 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -127,8 +127,8 @@ in "sha256-Mvf3bBhrRRR+hoAsBPq7p9COJqVxV9LL+GrnikrHX2g="; mypy-boto3-appstream = - buildMypyBoto3Package "appstream" "1.42.54" - "sha256-NrR4wQslCosBCvmAkGe7qJ3WNu428hD3+SZUk1Ga870="; + buildMypyBoto3Package "appstream" "1.42.79" + "sha256-EG6G33/7BTIjlEXxSa0ygnT80WytlAMCM/bAI9jz3Jg="; mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.42.6" From 1df36620033a642fc74e4c736adfe5e07db7a46d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:18:41 +0200 Subject: [PATCH 082/109] python3Packages.mypy-boto3-autoscaling: 1.42.33 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index a83eb71a4fa9..973bb9ef9022 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -147,8 +147,8 @@ in "sha256-jW+LgaUpdeCSJLnpNE13DSio9nFmp0icoLEMwxX44KU="; mypy-boto3-autoscaling = - buildMypyBoto3Package "autoscaling" "1.42.33" - "sha256-F1+6Sd7kaCrZlulXzrFmF3RFUPEmRNvKeB1xQeSGgq4="; + buildMypyBoto3Package "autoscaling" "1.42.79" + "sha256-izdIT33QiFDXbe+VUes3ErQphuiCL+Q/c32qBjJzyDw="; mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.42.3" From eb65afeae96b96c119f5714d0480df6ce93b52e3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:19:03 +0200 Subject: [PATCH 083/109] python3Packages.mypy-boto3-ecs: 1.42.69 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 973bb9ef9022..0147ca82e344 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -459,8 +459,8 @@ in "sha256-syjw4M02YXRXsJpM3e7OikE3sSTl/hIIJ3857PP2BII="; mypy-boto3-ecs = - buildMypyBoto3Package "ecs" "1.42.69" - "sha256-+ysRw8dohrQWQGdBU5qzHpNr6DF/BcELn90WdUCNPes="; + buildMypyBoto3Package "ecs" "1.42.79" + "sha256-qNwhq5px+DbifDPRN0VeHk0j7AzWSxgiXkvKovyHIQE="; mypy-boto3-efs = buildMypyBoto3Package "efs" "1.42.3" From 6543eb8303d8948d6cf7cf8d74ba39bb765e1434 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:19:12 +0200 Subject: [PATCH 084/109] python3Packages.mypy-boto3-gamelift: 1.42.75 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 0147ca82e344..d52b8102dbb1 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -559,8 +559,8 @@ in "sha256-NqNGcL3HfJgx2ScPLKMNNwpVS3bO4Cu7JpYlenSJwJg="; mypy-boto3-gamelift = - buildMypyBoto3Package "gamelift" "1.42.75" - "sha256-Iv1OjFAKOny91w2G++yfwZLH8dMREz+1iF7+t8jgM1k="; + buildMypyBoto3Package "gamelift" "1.42.79" + "sha256-IYvjnVdbVYFkX7Qu3Sr9iaRFMeq/F7njuPW3EBWldlE="; mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.42.30" From 4aaa7bbe4c67172071e18f20e6242843b4edc4ab Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:19:26 +0200 Subject: [PATCH 085/109] python3Packages.mypy-boto3-lakeformation: 1.42.45 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index d52b8102dbb1..1559824c5501 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -762,8 +762,8 @@ in "sha256-bCVvuhK3mpTeNDYDYaACVWgQMhKR9mIi9BbbCI0ynCA="; mypy-boto3-lakeformation = - buildMypyBoto3Package "lakeformation" "1.42.45" - "sha256-CG1b4lkqvsQLguhkYuJ5CH5Gu0IrC1mbsYYQ2Itjys4="; + buildMypyBoto3Package "lakeformation" "1.42.79" + "sha256-tMre640822/6JE0YVSHud03xqS4VbgJy9RJsN3eIEhE="; mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.42.37" From be9b3aa35ffef7161fb539db084606bdc8b0101c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:19:30 +0200 Subject: [PATCH 086/109] python3Packages.mypy-boto3-logs: 1.42.77 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 1559824c5501..2e23dcd66129 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -806,8 +806,8 @@ in "sha256-VGQzgnrUynTDjfYpEk+FR+PrljbULl0UpbeqbaPKqSc="; mypy-boto3-logs = - buildMypyBoto3Package "logs" "1.42.77" - "sha256-2SCge72wHVg5703SucdtTdadJn9fnbnxiz8NhDXAWB0="; + buildMypyBoto3Package "logs" "1.42.79" + "sha256-CPFaU1Cz1OfBiOSh5jfPWIU64cV4k8Mf5cCM1S7ZlXw="; mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.42.3" From b1093d8f0255fb760d666c18ce8b9aada47b3fb0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:19:40 +0200 Subject: [PATCH 087/109] python3Packages.mypy-boto3-opensearch: 1.42.73 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 2e23dcd66129..0a10d7488976 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -966,8 +966,8 @@ in "sha256-h0urK602L1j2CtD1xsUOMaXizzc2CxbttMlaSNyQNoM="; mypy-boto3-opensearch = - buildMypyBoto3Package "opensearch" "1.42.73" - "sha256-aRXlQy744sPCF4lUZTLaUXIzHtFUJEB9r6xaYQC6Ric="; + buildMypyBoto3Package "opensearch" "1.42.79" + "sha256-oGczBLqgxxiP+MeOt3p+5qbe32r6YzqRGJfe3CQ7srU="; mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.42.75" From d3c81f4454e963149fd0aae260a728076456ab74 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:19:53 +0200 Subject: [PATCH 088/109] python3Packages.mypy-boto3-s3: 1.42.67 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 0a10d7488976..036447e200f2 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1158,8 +1158,8 @@ in "sha256-4/Q39UsUYaluauoaLm6BOej+Krl2VbO1xKKo1orRIkI="; mypy-boto3-s3 = - buildMypyBoto3Package "s3" "1.42.67" - "sha256-OjqRiplJ8tb4Bx1JC4lo3c5jSqGVkGl1N+UYnL3KQD4="; + buildMypyBoto3Package "s3" "1.42.79" + "sha256-NTwMCEMM3fUVkiYYdeokwq64juVcyiMHLXbbZqkhoYg="; mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.42.37" From cfae18ee1377f5820a32b2e44439fa932e8669d7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:19:55 +0200 Subject: [PATCH 089/109] python3Packages.mypy-boto3-sagemaker: 1.42.77 -> 1.42.79 --- pkgs/development/python-modules/mypy-boto3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mypy-boto3/default.nix b/pkgs/development/python-modules/mypy-boto3/default.nix index 036447e200f2..2aee8a14ee6a 100644 --- a/pkgs/development/python-modules/mypy-boto3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3/default.nix @@ -1170,8 +1170,8 @@ in "sha256-juVfwdjPDNPaT5tvyXpzDtomugqxeu++AERLkVtFIxw="; mypy-boto3-sagemaker = - buildMypyBoto3Package "sagemaker" "1.42.77" - "sha256-gm5z5bnS57ZsNpKroi91/KfYWxnAjgjPwB6IOZ6eSno="; + buildMypyBoto3Package "sagemaker" "1.42.79" + "sha256-HSSrvBgXk0HwS8ys2e8+euzupPc075axwh7WAduvvR8="; mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.42.3" From 9d58fea37c467363745f16c72e5670e505d8b425 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 10:20:19 +0200 Subject: [PATCH 090/109] python314Packages.boto3-stubs: 1.42.78 -> 1.42.79 --- pkgs/development/python-modules/boto3-stubs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index e102d84f2a11..e5ba8394ff18 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -358,13 +358,13 @@ buildPythonPackage (finalAttrs: { pname = "boto3-stubs"; - version = "1.42.78"; + version = "1.42.79"; pyproject = true; src = fetchPypi { pname = "boto3_stubs"; inherit (finalAttrs) version; - hash = "sha256-QjM1uM6ak15AQFSXhYnNuY2fodS9Rgc9aCG/HD+tjKc="; + hash = "sha256-Xx++FvmCk6Z85Zdp5nCThgXVnkRCIcGwijoNeMOVB3s="; }; build-system = [ setuptools ]; From 95dcb3c8f3da614d4bc007c1d64045927108b07f Mon Sep 17 00:00:00 2001 From: Jan-Niklas Weghorn Date: Tue, 31 Mar 2026 11:31:40 +0200 Subject: [PATCH 091/109] balena-cli: pin to NodeJS 24 --- pkgs/by-name/ba/balena-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ba/balena-cli/package.nix b/pkgs/by-name/ba/balena-cli/package.nix index a46598d869c0..318ee8928b71 100644 --- a/pkgs/by-name/ba/balena-cli/package.nix +++ b/pkgs/by-name/ba/balena-cli/package.nix @@ -3,7 +3,7 @@ stdenv, buildNpmPackage, fetchFromGitHub, - nodejs_latest, + nodejs_24, versionCheckHook, node-gyp, python3, @@ -13,10 +13,10 @@ let buildNpmPackage' = buildNpmPackage.override { - nodejs = nodejs_latest; + nodejs = nodejs_24; }; node-gyp' = node-gyp.override { - nodejs = nodejs_latest; + nodejs = nodejs_24; }; in buildNpmPackage' rec { From 8c21506f2cae7cf8226516e5e018c235bbaca598 Mon Sep 17 00:00:00 2001 From: Jack Rosenberg Date: Tue, 31 Mar 2026 12:18:15 +0200 Subject: [PATCH 092/109] fosrl-newt: 1.10.3 -> 1.10.4 --- pkgs/by-name/fo/fosrl-newt/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fo/fosrl-newt/package.nix b/pkgs/by-name/fo/fosrl-newt/package.nix index 547ccf033c97..61c667b1a7f2 100644 --- a/pkgs/by-name/fo/fosrl-newt/package.nix +++ b/pkgs/by-name/fo/fosrl-newt/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "newt"; - version = "1.10.3"; + version = "1.10.4"; src = fetchFromGitHub { owner = "fosrl"; repo = "newt"; tag = finalAttrs.version; - hash = "sha256-b/ZcU4N13+91tVhKMDPBaCGmBW11m5yQNgd1FaTxbsE="; + hash = "sha256-Dtzx/Rs7aa2GkG7Qq4pvGN4ghfS7EyVhx7rQh8sRlQU="; }; vendorHash = "sha256-vy6Dqjek7pLdASbCrM9snq5Dt9lbwNJ0AuQboy1JWNQ="; From b34d7e55d644178fb81cc232a1279e547fb93357 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 10:31:53 +0000 Subject: [PATCH 093/109] python3Packages.pyoverkiz: 1.20.0 -> 1.20.1 --- pkgs/development/python-modules/pyoverkiz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix index 5c96b8d2324a..aeb3153acd7c 100644 --- a/pkgs/development/python-modules/pyoverkiz/default.nix +++ b/pkgs/development/python-modules/pyoverkiz/default.nix @@ -15,14 +15,14 @@ buildPythonPackage (finalAttrs: { pname = "pyoverkiz"; - version = "1.20.0"; + version = "1.20.1"; pyproject = true; src = fetchFromGitHub { owner = "iMicknl"; repo = "python-overkiz-api"; tag = "v${finalAttrs.version}"; - hash = "sha256-H1G85vleaV+ZWbjH3tozI6fvWPKxwrIVRIXiFwsUWOA="; + hash = "sha256-PaJ4AC0N82iGTsgP620uI6Iw9l0aHrR7UutWLYxrOYE="; }; build-system = [ hatchling ]; From 16c8bd80278d16ec4b30ca7385016383d740db1f Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Tue, 31 Mar 2026 10:51:46 +0200 Subject: [PATCH 094/109] python3Packages.construct-classes: 0.2.2 -> 0.2.3 --- .../python-modules/construct-classes/default.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/construct-classes/default.nix b/pkgs/development/python-modules/construct-classes/default.nix index e10a7942d489..2f7bab65abb9 100644 --- a/pkgs/development/python-modules/construct-classes/default.nix +++ b/pkgs/development/python-modules/construct-classes/default.nix @@ -1,30 +1,25 @@ { lib, buildPythonPackage, + flit-core, construct, fetchFromGitHub, pytestCheckHook, - uv-build, }: buildPythonPackage rec { pname = "construct-classes"; - version = "0.2.2"; + version = "0.2.3"; pyproject = true; src = fetchFromGitHub { owner = "matejcik"; repo = "construct-classes"; tag = "v${version}"; - hash = "sha256-goOQMt/nVjWXYltpnKHtJaLOhR+gRTmtoUh7zVb7go4="; + hash = "sha256-xRYf6Tg4XyQN+g8uOaws46KKb0abD/M/5Q+SlnzEp/8="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "uv_build>=0.8.13,<0.9.0" "uv_build>=0.8.13" - ''; - - build-system = [ uv-build ]; + build-system = [ flit-core ]; dependencies = [ construct ]; From 148c3c2649823f53fd1e2f059d0deacbf29c9beb Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Tue, 31 Mar 2026 13:08:58 +0200 Subject: [PATCH 095/109] river: 0.4.1 -> 0.4.2 Changelog: https://codeberg.org/river/river/releases/tag/v0.4.2 Diff: https://codeberg.org/river/river/compare/v0.4.1...v0.4.2 --- pkgs/by-name/ri/river/build.zig.zon.nix | 6 +++--- pkgs/by-name/ri/river/package.nix | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ri/river/build.zig.zon.nix b/pkgs/by-name/ri/river/build.zig.zon.nix index 82218cc8dbfd..9ba533294dc2 100644 --- a/pkgs/by-name/ri/river/build.zig.zon.nix +++ b/pkgs/by-name/ri/river/build.zig.zon.nix @@ -29,10 +29,10 @@ linkFarm "zig-packages" [ }; } { - name = "wlroots-0.19.4-jmOlcqQMBABhKYH6NMSnoK1sohTbhc97_JP-hGg2UZaK"; + name = "wlroots-0.20.0-jmOlcmtCBADS6eoJ6mkeiSNZkibrhD-c5Qwn-LiM86r1"; path = fetchzip { - url = "https://codeberg.org/ifreund/zig-wlroots/archive/v0.19.4.tar.gz"; - hash = "sha256-g1LOSMMnjGJIS+U7zrx6FAoUyavqwaQ2UrDv6GxCQsY="; + url = "https://codeberg.org/ifreund/zig-wlroots/archive/v0.20.0.tar.gz"; + hash = "sha256-QblQBVsDV2kSj31jqmVVi4hQUXuv8bsRgRMaCqlNxNM="; }; } { diff --git a/pkgs/by-name/ri/river/package.nix b/pkgs/by-name/ri/river/package.nix index cae1a65d716d..66439a4bff31 100644 --- a/pkgs/by-name/ri/river/package.nix +++ b/pkgs/by-name/ri/river/package.nix @@ -16,7 +16,7 @@ wayland, wayland-protocols, wayland-scanner, - wlroots_0_19, + wlroots_0_20, xwayland, zig_0_15, withManpages ? true, @@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "river"; - version = "0.4.1"; + version = "0.4.2"; outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ]; @@ -33,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "river"; repo = "river"; tag = "v${finalAttrs.version}"; - hash = "sha256-EGWLJY9VPdoc4LrXkWi8cNLkahorvDeAIfSOc5yDfbU="; + hash = "sha256-Nufonz39XphxPW1lERq2acVgE5mGmW+x1yimyS6O4tc="; }; strictDeps = true; @@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: { wayland wayland-protocols wayland-scanner - wlroots_0_19 + wlroots_0_20 ] ++ lib.optionals xwaylandSupport [ libx11 From 8209a8480a25eefd2b6a034c7635379c5ef90779 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 11:51:26 +0000 Subject: [PATCH 096/109] mycelium: 0.7.3 -> 0.7.5 --- pkgs/by-name/my/mycelium/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/my/mycelium/package.nix b/pkgs/by-name/my/mycelium/package.nix index 6bc51e7dd609..93bbe79bedb9 100644 --- a/pkgs/by-name/my/mycelium/package.nix +++ b/pkgs/by-name/my/mycelium/package.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "mycelium"; - version = "0.7.3"; + version = "0.7.5"; sourceRoot = "${finalAttrs.src.name}/myceliumd"; @@ -18,10 +18,10 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "threefoldtech"; repo = "mycelium"; rev = "v${finalAttrs.version}"; - hash = "sha256-WB08dcQiz9byHNKu3ObyiQ99h18osOMeKe5hdvVaeqw="; + hash = "sha256-9PjYvzCHSOPlULbElJPVMnLFGTEy/FX56ZaRHUozqvE="; }; - cargoHash = "sha256-Wo+J0aVGiS4d1oipvrvV0abdWtHQj8iJozFM7Fj/jNs="; + cargoHash = "sha256-LSCa8euuOX4BgEDkNQlOdgiL0QzRRMlCoA9opSnPQbI="; nativeBuildInputs = [ versionCheckHook ]; From 327bbfbcf4cf6e15b53942af096ea1f6ab93fe5d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 12:41:51 +0000 Subject: [PATCH 097/109] python3Packages.dvc: 3.67.0 -> 3.67.1 --- pkgs/development/python-modules/dvc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dvc/default.nix b/pkgs/development/python-modules/dvc/default.nix index 230016648ef1..bce6cec11566 100644 --- a/pkgs/development/python-modules/dvc/default.nix +++ b/pkgs/development/python-modules/dvc/default.nix @@ -64,14 +64,14 @@ buildPythonPackage (finalAttrs: { pname = "dvc"; - version = "3.67.0"; + version = "3.67.1"; pyproject = true; src = fetchFromGitHub { owner = "iterative"; repo = "dvc"; tag = finalAttrs.version; - hash = "sha256-JNwlZFDW/qRkGuGiXnqmp+Dfp1hod9ZfMwMJgWJ8X00="; + hash = "sha256-KzHaR7o3PUHMBrtSDWXvH7/YMPxSafPSGUnS9018XKg="; }; pythonRelaxDeps = [ From 835922a4fb357d6455f4f089fdba890eff554a67 Mon Sep 17 00:00:00 2001 From: Antonio Yang Date: Fri, 23 Jan 2026 20:04:43 +0800 Subject: [PATCH 098/109] fcitx5-array: init at 0.9.6 --- nixos/modules/i18n/input-method/default.md | 2 + pkgs/by-name/fc/fcitx5-array/package.nix | 48 ++++++++++++++++++++++ pkgs/tools/inputmethods/fcitx5/update.py | 41 +++++++++--------- 3 files changed, 72 insertions(+), 19 deletions(-) create mode 100644 pkgs/by-name/fc/fcitx5-array/package.nix diff --git a/nixos/modules/i18n/input-method/default.md b/nixos/modules/i18n/input-method/default.md index f2d7934f94fb..c05f8311a0f4 100644 --- a/nixos/modules/i18n/input-method/default.md +++ b/nixos/modules/i18n/input-method/default.md @@ -108,6 +108,8 @@ Available extra Fcitx5 addons are: - Anthy (`fcitx5-anthy`): Anthy is a system for Japanese input method. It converts Hiragana text to Kana Kanji mixed text. + - Array (`fcitx5-array`): Array is a Chinese shape-based input method that + uses a grid of 30 keys. - Chewing (`fcitx5-chewing`): Chewing is an intelligent Zhuyin input method. It is one of the most popular input methods among Traditional Chinese Unix users. diff --git a/pkgs/by-name/fc/fcitx5-array/package.nix b/pkgs/by-name/fc/fcitx5-array/package.nix new file mode 100644 index 000000000000..873b5faad5c3 --- /dev/null +++ b/pkgs/by-name/fc/fcitx5-array/package.nix @@ -0,0 +1,48 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fmt, + cmake, + extra-cmake-modules, + gettext, + fcitx5, + sqlite, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "fcitx5-array"; + version = "0.9.6"; + + src = fetchFromGitHub { + owner = "ray2501"; + repo = "fcitx5-array"; + tag = finalAttrs.version; + hash = "sha256-YDFT/CawFiPN3kXzHMpenCzWMJSA1dFUhVe22EDfnU8="; + }; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + gettext + ]; + + buildInputs = [ + fmt + fcitx5 + sqlite + ]; + + strictDeps = true; + + meta = { + description = "Array wrapper for Fcitx5"; + homepage = "https://github.com/ray2501/fcitx5-array"; + license = with lib.licenses; [ + gpl2Plus + lgpl21Plus + ]; + maintainers = with lib.maintainers; [ yanganto ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/tools/inputmethods/fcitx5/update.py b/pkgs/tools/inputmethods/fcitx5/update.py index 08b8f6938678..5da7d34a51a6 100755 --- a/pkgs/tools/inputmethods/fcitx5/update.py +++ b/pkgs/tools/inputmethods/fcitx5/update.py @@ -5,24 +5,27 @@ import requests import subprocess REPOS = [ - "libime", - "xcb-imdkit", + ( "fcitx", "libime" ), + ( "fcitx", "xcb-imdkit"), - "fcitx5", - "fcitx5-anthy", - "fcitx5-chewing", - "fcitx5-chinese-addons", - "fcitx5-configtool", - "fcitx5-gtk", - "fcitx5-hangul", - "fcitx5-lua", - "fcitx5-m17n", - "fcitx5-qt", - "fcitx5-rime", - "fcitx5-skk", - "fcitx5-table-extra", - "fcitx5-table-other", - "fcitx5-unikey" + ( "fcitx", "fcitx5" ), + ( "fcitx", "fcitx5-anthy" ), + ( "fcitx", "fcitx5-chewing" ), + ( "fcitx", "fcitx5-chinese-addons" ), + ( "fcitx", "fcitx5-configtool" ), + ( "fcitx", "fcitx5-gtk" ), + ( "fcitx", "fcitx5-hangul" ), + ( "fcitx", "fcitx5-lua" ), + ( "fcitx", "fcitx5-m17n" ), + ( "fcitx", "fcitx5-qt" ), + ( "fcitx", "fcitx5-rime" ), + ( "fcitx", "fcitx5-skk" ), + ( "fcitx", "fcitx5-table-extra" ), + ( "fcitx", "fcitx5-table-other" ), + ( "fcitx", "fcitx5-unikey" ), + ( "fcitx", "fcitx5-unikey" ) + + ( "ray2501", "fcitx5-array" ) ] OWNER = "fcitx" @@ -32,8 +35,8 @@ def get_latest_tag(repo, owner=OWNER): return r.json()[0].get("name") def main(): - for repo in REPOS: - rev = get_latest_tag(repo) + for (owner, repo) in REPOS: + rev = get_latest_tag(repo, owner) if repo == "fcitx5-qt": subprocess.run(["nix-update", "--commit", "--version", rev, "qt6Packages.{}".format(repo)]) else: From 86c8131dcc141377c63b607deece4501e6661578 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 13:04:34 +0000 Subject: [PATCH 099/109] libretro.o2em: 0-unstable-2024-10-21 -> 0-unstable-2026-03-31 --- pkgs/applications/emulators/libretro/cores/o2em.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/o2em.nix b/pkgs/applications/emulators/libretro/cores/o2em.nix index 0af8242cee2f..bce4470721ca 100644 --- a/pkgs/applications/emulators/libretro/cores/o2em.nix +++ b/pkgs/applications/emulators/libretro/cores/o2em.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "o2em"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "libretro-o2em"; - rev = "3ba4231c1dc8dcdf487428712856b790d2e4b8f3"; - hash = "sha256-HhTkFm9Jte4wDPxTcXRgCg2tCfdQvo0M3nHRhlPmz/w="; + rev = "dee1076eb70c728d4ff47186aea9cd1c11ce7638"; + hash = "sha256-djj7sEkUIoze1sZaZciIw7PdYDb1wETuZd4CFdZTiUM="; }; makefile = "Makefile"; From 776656d769a7eadf81a21f324698106269b871c1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 13:31:20 +0000 Subject: [PATCH 100/109] nuclei-templates: 10.4.0 -> 10.4.1 --- pkgs/by-name/nu/nuclei-templates/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nu/nuclei-templates/package.nix b/pkgs/by-name/nu/nuclei-templates/package.nix index 3017c65cd548..e5a65e3394db 100644 --- a/pkgs/by-name/nu/nuclei-templates/package.nix +++ b/pkgs/by-name/nu/nuclei-templates/package.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "nuclei-templates"; - version = "10.4.0"; + version = "10.4.1"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "nuclei-templates"; tag = "v${finalAttrs.version}"; - hash = "sha256-XhzaBVNIKJ5khNNER69tqBYCMzc7G+pDiibgyNRWwEA="; + hash = "sha256-JHnHntfa1CPj3v0mlu7cLsOhmw+eFcd13jWU9E17mRY="; }; installPhase = '' From efb71688a7b2121a79bbcf713790b82c026e1861 Mon Sep 17 00:00:00 2001 From: Sandro Date: Tue, 31 Mar 2026 15:35:49 +0200 Subject: [PATCH 101/109] claude-code-acp: add alias --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e802736b7cab..8319be4e0881 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -497,6 +497,7 @@ mapAliases { clang_17 = throw "clang_17 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 clashmi = throw "'clashmi' has been removed, as it is unmaintained in nixpkgs"; # Added 2026-01-31 clasp = throw "'clasp' has been renamed to/replaced by 'clingo'"; # Converted to throw 2025-10-27 + claude-code-acp = warnAlias "'claude-code-acp' has been renamed to 'claude-agent-acp'" claude-agent-acp; # Added 2026-03-31 clearlyU = clearly-u; # Added 2026-02-08 cli-visualizer = throw "'cli-visualizer' has been removed as the upstream repository is gone"; # Added 2025-06-05 clima = throw "'clima' has been removed, as it has been unmaintained upstream since December 2024, use glow instead"; # Added 2026-01-01 From 8daef7a28a2dc05ff8c0dac4a9baccf7f876912e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 14:01:25 +0000 Subject: [PATCH 102/109] gitea-actions-runner: 0.3.0 -> 0.3.1 --- pkgs/by-name/gi/gitea-actions-runner/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gi/gitea-actions-runner/package.nix b/pkgs/by-name/gi/gitea-actions-runner/package.nix index acc6a49f91ec..592b027064ef 100644 --- a/pkgs/by-name/gi/gitea-actions-runner/package.nix +++ b/pkgs/by-name/gi/gitea-actions-runner/package.nix @@ -8,17 +8,17 @@ buildGoModule (finalAttrs: { pname = "gitea-actions-runner"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitea { domain = "gitea.com"; owner = "gitea"; repo = "act_runner"; rev = "v${finalAttrs.version}"; - hash = "sha256-D2b0m3XEEEugjnrEzpYGxwD8hzpoPzIW9lNrCbgmKVc="; + hash = "sha256-D3/vJUQuNAgUWNyfL9QWmByZ9A/F4+pfA6GR0SDcMpQ="; }; - vendorHash = "sha256-EqU+YJrwKtA9LHa7DkRJ6er5GNocR8Gbhjjx72mPhqE="; + vendorHash = "sha256-XRXoChH2ApQS65xnzeGP4NIUL0RKovLWvVIAnBncT7Y="; ldflags = [ "-s" From 46ebe8e4598ea99d65e9c532f6ede95772da35ba Mon Sep 17 00:00:00 2001 From: Luna Simons Date: Tue, 31 Mar 2026 16:37:18 +0200 Subject: [PATCH 103/109] opencode{,-desktop}: 1.3.7 -> 1.3.10 --- pkgs/by-name/op/opencode/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index e13b41819e8c..b5f3dda285dd 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -16,13 +16,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "opencode"; - version = "1.3.7"; + version = "1.3.10"; src = fetchFromGitHub { owner = "anomalyco"; repo = "opencode"; tag = "v${finalAttrs.version}"; - hash = "sha256-DL/3AFyYevK4SD3pC+goTHLrlD29dRoyL0QAlxZDLcU="; + hash = "sha256-/pVesY9fyfeAheT1gMvoVCaO9GlRHQB0H4HIB56pwnE="; }; node_modules = stdenvNoCC.mkDerivation { @@ -72,7 +72,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-//yE+ngjobja2Y5yIcvW0oEVSu85nqNAvjWu5OyISGU="; + outputHash = "sha256-Q7eyK6GNYE5dBYooDHbIQSkfe4fs6L7tzCfbsIlYY7o="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; From 53e50e0374b288910b43ff6fd997e74ce3b08dfd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 14:42:35 +0000 Subject: [PATCH 104/109] libretro.same_cdi: 0-unstable-2025-01-31 -> 0-unstable-2026-03-31 --- pkgs/applications/emulators/libretro/cores/same_cdi.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/same_cdi.nix b/pkgs/applications/emulators/libretro/cores/same_cdi.nix index d0ee91f77bbb..d8527523a885 100644 --- a/pkgs/applications/emulators/libretro/cores/same_cdi.nix +++ b/pkgs/applications/emulators/libretro/cores/same_cdi.nix @@ -12,13 +12,13 @@ }: mkLibretroCore { core = "same_cdi"; - version = "0-unstable-2025-01-31"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "same_cdi"; - rev = "7ee1d8e9cb4307b7cd44ee1dd757e9b3f48f41d5"; - hash = "sha256-EGE3NuO0gpZ8MKPypH8rFwJiv4QsdKuIyLKVuKTcvws="; + rev = "2184aa6d87a31fb6c64534b9b7b2d26e36bae757"; + hash = "sha256-8QJtAyVF6KQmWSzQ6t5s4qmSVT8CmRx5uulq4c3LDRo="; }; patches = [ From 626b4ccda92763a47e6a00ed943507ed1e1d9b68 Mon Sep 17 00:00:00 2001 From: nescias Date: Tue, 31 Mar 2026 14:33:51 +0000 Subject: [PATCH 105/109] sequoia-git: init at 0.5.0 Signed-off-by: Matthias Beyer --- pkgs/by-name/se/sequoia-git/package.nix | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pkgs/by-name/se/sequoia-git/package.nix diff --git a/pkgs/by-name/se/sequoia-git/package.nix b/pkgs/by-name/se/sequoia-git/package.nix new file mode 100644 index 000000000000..252e82f07553 --- /dev/null +++ b/pkgs/by-name/se/sequoia-git/package.nix @@ -0,0 +1,60 @@ +{ + lib, + rustPlatform, + fetchFromGitLab, + openssl, + nettle, + sqlite, + pkg-config, + installShellFiles, + gnupg, + gitMinimal, + libfaketime, + ... +}: +rustPlatform.buildRustPackage rec { + pname = "sequoia-git"; + version = "0.5.0"; + + src = fetchFromGitLab { + owner = "sequoia-pgp"; + repo = "sequoia-git"; + rev = "v${version}"; + hash = "sha256-7ynaz48j/ebQAZ2QxeWwkf7kFP70HKtHCv4/wGxxaVY="; + }; + + cargoHash = "sha256-+sIH4zFLewNNkpd42co2B0rLrIsde5gsBDsqSSc0HZQ="; + + buildInputs = [ + openssl.dev + nettle.dev + sqlite.dev + ]; + + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + installShellFiles + ]; + + nativeCheckInputs = [ + gnupg + gitMinimal + libfaketime + ]; + + env.ASSET_OUT_DIR = "target"; + + postInstall = '' + installManPage ${env.ASSET_OUT_DIR}/man-pages/*.1 + installShellCompletion --bash ${env.ASSET_OUT_DIR}/shell-completions/${meta.mainProgram}.bash + installShellCompletion --zsh ${env.ASSET_OUT_DIR}/shell-completions/_${meta.mainProgram} + installShellCompletion --fish ${env.ASSET_OUT_DIR}/shell-completions/${meta.mainProgram}.fish + ''; + + meta = { + homepage = "https://sequoia-pgp.gitlab.io/sequoia-git"; + license = lib.licenses.lgpl2Plus; + mainProgram = "sq-git"; + }; +} From f0da8c0e9d61146f2d33de53a9dde4f46c0c1b20 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 31 Mar 2026 14:58:40 +0000 Subject: [PATCH 106/109] python3Packages.google-cloud-workstations: 0.7.0 -> 0.8.0 --- .../python-modules/google-cloud-workstations/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-workstations/default.nix b/pkgs/development/python-modules/google-cloud-workstations/default.nix index efad3ceffba4..68692799c173 100644 --- a/pkgs/development/python-modules/google-cloud-workstations/default.nix +++ b/pkgs/development/python-modules/google-cloud-workstations/default.nix @@ -15,13 +15,13 @@ buildPythonPackage (finalAttrs: { pname = "google-cloud-workstations"; - version = "0.7.0"; + version = "0.8.0"; pyproject = true; src = fetchPypi { pname = "google_cloud_workstations"; inherit (finalAttrs) version; - hash = "sha256-poGhvPGpD+qOFacXsSqwaki5EZaTMQpAoXh7X0kqUsc="; + hash = "sha256-wuFFlOxCyTK0n39LB3XGwvoQ7FCSjUDJa3n6uElvSEQ="; }; build-system = [ setuptools ]; From 29f5dd49915eef07f6a6a814359ba8f473d2c39f Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Tue, 31 Mar 2026 17:13:21 +0200 Subject: [PATCH 107/109] sequoia-git: Add myself to maintainers Signed-off-by: Matthias Beyer --- pkgs/by-name/se/sequoia-git/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/se/sequoia-git/package.nix b/pkgs/by-name/se/sequoia-git/package.nix index 252e82f07553..47ef3dcee3a9 100644 --- a/pkgs/by-name/se/sequoia-git/package.nix +++ b/pkgs/by-name/se/sequoia-git/package.nix @@ -55,6 +55,7 @@ rustPlatform.buildRustPackage rec { meta = { homepage = "https://sequoia-pgp.gitlab.io/sequoia-git"; license = lib.licenses.lgpl2Plus; + maintainers = [ lib.maintainers.matthiasbeyer ]; mainProgram = "sq-git"; }; } From 8aa691bf3d12a4f02ab55fe5b4556c5222c1ab42 Mon Sep 17 00:00:00 2001 From: Yujonpradhananga Date: Thu, 12 Mar 2026 18:38:35 +0545 Subject: [PATCH 108/109] pdf-cli: rename from lnreader --- .../{ln/lnreader => pd/pdf-cli}/package.nix | 14 +++++++------- pkgs/top-level/aliases.nix | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) rename pkgs/by-name/{ln/lnreader => pd/pdf-cli}/package.nix (64%) diff --git a/pkgs/by-name/ln/lnreader/package.nix b/pkgs/by-name/pd/pdf-cli/package.nix similarity index 64% rename from pkgs/by-name/ln/lnreader/package.nix rename to pkgs/by-name/pd/pdf-cli/package.nix index 06cf04be4fb1..85fc0e7dc6ce 100644 --- a/pkgs/by-name/ln/lnreader/package.nix +++ b/pkgs/by-name/pd/pdf-cli/package.nix @@ -7,17 +7,17 @@ }: buildGoModule (finalAttrs: { - pname = "lnreader"; - version = "1.0"; + pname = "pdf-cli"; + version = "2.0"; src = fetchFromGitHub { owner = "Yujonpradhananga"; - repo = "CLI-PDF-EPUB-reader"; + repo = "pdf-cli"; rev = "v${finalAttrs.version}"; - hash = "sha256-JeVS0wnShlD4+UfnMsuHMYi6R7pse4Gvh0PdREwmG6k="; + hash = "sha256-TvfSauT9UWjQjkzQtepEVyxm/LaiCANmxMtVmjiw8kI="; }; - vendorHash = "sha256-66rqTJeV6u4aVciifp41n2onx81w9KE0PGYHlVwsl54="; + vendorHash = "sha256-LCIv135ywuq494hZbrKdbqkGPSsSlSkVQ9hCE8i7www="; nativeBuildInputs = [ pkg-config @@ -34,10 +34,10 @@ buildGoModule (finalAttrs: { meta = { description = "Lightweight, fast and responsive terminal PDF/EPUB viewer with image support"; - homepage = "https://github.com/Yujonpradhananga/CLI-PDF-EPUB-reader"; + homepage = "https://github.com/Yujonpradhananga/pdf-cli"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ yujonpradhananga ]; - mainProgram = "lnreader"; + mainProgram = "pdf-cli"; platforms = lib.platforms.unix; }; }) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e6a6c584af00..90078b9c4d30 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1228,6 +1228,7 @@ mapAliases { llvmPackages_15 = throw "llvmPackages_15 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-12 llvmPackages_16 = throw "llvmPackages_16 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 llvmPackages_17 = throw "llvmPackages_17 has been removed, as it is unmaintained and obsolete"; # Added 2025-08-09 + lnreader = warnAlias "'lnreader' has been renamed to 'pdf-cli'" pdf-cli; # Added 2026-03-18 lockfileProgs = warnAlias "'lockfileProgs' has been renamed to 'lockfile-progs'" lockfile-progs; # Added 2026-02-08 loco-cli = throw "'loco-cli' has been renamed to/replaced by 'loco'"; # Converted to throw 2025-10-27 log4j-detect = throw "'log4j-detect' has been removed, as it was unmaintained upstream and no longer relevant given that the Log4Shell vulnerability has been fixed."; # Added 2025-11-15 From 9e68b65375401e7a0d9b02b3ca6c9756c2af5d91 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 31 Mar 2026 17:58:40 +0200 Subject: [PATCH 109/109] python3Packages.busylight-core: migrate to finalAttrs --- .../development/python-modules/busylight-core/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/busylight-core/default.nix b/pkgs/development/python-modules/busylight-core/default.nix index 0620ff75e92b..be098b691e4f 100644 --- a/pkgs/development/python-modules/busylight-core/default.nix +++ b/pkgs/development/python-modules/busylight-core/default.nix @@ -10,7 +10,7 @@ uv-build, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "busylight-core"; version = "2.2.0"; pyproject = true; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "JnyJny"; repo = "busylight-core"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-as2IvaxyMjGKPGlBmz1cntAhbpuW+f3INtnNIcwpWh8="; }; @@ -45,8 +45,8 @@ buildPythonPackage rec { meta = { description = "Library for interacting programmatically with USB-connected LED lights"; homepage = "https://github.com/JnyJny/busylight-core"; - changelog = "https://github.com/JnyJny/busylight-core/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/JnyJny/busylight-core/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; }; -} +})