From f29a52fce7a2d66811a6cb036791d00d9ff0ad46 Mon Sep 17 00:00:00 2001 From: Colin Date: Mon, 5 Jan 2026 00:34:42 +0000 Subject: [PATCH 01/80] iputils.apparmor: only include local/bin if exists otherwise `apparmor.service` will fail with: > AppArmor parser error for > /nix/store/zzfl79044n5px6arls0l8f7kgvp8s0p0-bin.ping in profile > /nix/store/251z356c3h7q2cxrx43agk98mrgdg11l-iputils-20250605-apparmor/bin.ping > at line 7: Could not open 'local/bin.ping' this follows the pattern used by every other apparmor profile in nixpkgs; see: - pkgs/applications/networking/p2p/transmission/4.nix - pkgs/by-name/in/inetutils/package.nix - nixos/modules/services/networking/murmur.nix - nixos/modules/services/web-apps/miniflux.nix - nixos/modules/virtualisation/incus.nix --- pkgs/os-specific/linux/iputils/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix index ae246f9c7b23..09ea2a826e27 100644 --- a/pkgs/os-specific/linux/iputils/default.nix +++ b/pkgs/os-specific/linux/iputils/default.nix @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { [ libcap ] ++ lib.optional (!stdenv.hostPlatform.isMusl) libidn2 ) }" - include + include if exists capability net_raw, network inet raw, network inet6 raw, From ef75a7636a4a44e35f671c90c903f7d9e9ac1d6f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 2 Feb 2026 06:21:44 +0000 Subject: [PATCH 02/80] zoraxy: 3.2.5r2 -> 3.3.1 --- pkgs/by-name/zo/zoraxy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/zo/zoraxy/package.nix b/pkgs/by-name/zo/zoraxy/package.nix index 0f0c45ceb20d..01162decc07f 100644 --- a/pkgs/by-name/zo/zoraxy/package.nix +++ b/pkgs/by-name/zo/zoraxy/package.nix @@ -6,18 +6,18 @@ buildGoModule (finalAttrs: { pname = "zoraxy"; - version = "3.2.5r2"; + version = "3.3.1"; src = fetchFromGitHub { owner = "tobychui"; repo = "zoraxy"; tag = "v${finalAttrs.version}"; - hash = "sha256-O7Rzx62O0h3kK6+lMag+5totijJoobOKi8DNWT9sDjg="; + hash = "sha256-NhjT1z/O2KJtlF/LkGWgxhm2/i83mJUZeBHDiZke0FE="; }; sourceRoot = "${finalAttrs.src.name}/src"; - vendorHash = "sha256-Bl3FI8lodSV5kzHvM8GHbQsep0W8s2BG8IbGf2AahZc="; + vendorHash = "sha256-HaQP6ZARSHwEnW/G95t5NHdM8/EcXEfN2Q1wPVRWIzQ="; checkFlags = let From f18bc77644b976469a19ed9c1d8a96e445e9cd34 Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Fri, 20 Feb 2026 06:04:06 +0200 Subject: [PATCH 03/80] unifont: add update script --- pkgs/by-name/un/unifont/package.nix | 2 ++ pkgs/by-name/un/unifont/update.sh | 10 ++++++++++ 2 files changed, 12 insertions(+) create mode 100755 pkgs/by-name/un/unifont/update.sh diff --git a/pkgs/by-name/un/unifont/package.nix b/pkgs/by-name/un/unifont/package.nix index 910d12abca5a..222393f16e3e 100644 --- a/pkgs/by-name/un/unifont/package.nix +++ b/pkgs/by-name/un/unifont/package.nix @@ -62,6 +62,8 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; + passthru.updateScript = ./update.sh; + meta = { description = "Unicode font for Base Multilingual Plane"; homepage = "https://unifoundry.com/unifont/"; diff --git a/pkgs/by-name/un/unifont/update.sh b/pkgs/by-name/un/unifont/update.sh new file mode 100755 index 000000000000..86ab374c8d40 --- /dev/null +++ b/pkgs/by-name/un/unifont/update.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl common-updater-scripts + +set -euo pipefail + +latest=$(curl -sL "https://ftp.gnu.org/gnu/unifont/" | grep -oP 'unifont-\K\d+\.\d+\.\d+' | sort -V | tail -1) + +update-source-version unifont "$latest" --ignore-same-version --source-key=otf +update-source-version unifont "$latest" --ignore-same-version --source-key=pcf +update-source-version unifont "$latest" --ignore-same-version --source-key=bdf From d389e519b7626199568d79d10fb0385498b25a59 Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Fri, 20 Feb 2026 06:04:33 +0200 Subject: [PATCH 04/80] unifont: 16.0.03 -> 17.0.03 --- pkgs/by-name/un/unifont/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/un/unifont/package.nix b/pkgs/by-name/un/unifont/package.nix index 222393f16e3e..e9dadab19090 100644 --- a/pkgs/by-name/un/unifont/package.nix +++ b/pkgs/by-name/un/unifont/package.nix @@ -9,21 +9,21 @@ stdenv.mkDerivation (finalAttrs: { pname = "unifont"; - version = "16.0.03"; + version = "17.0.03"; otf = fetchurl { url = "mirror://gnu/unifont/unifont-${finalAttrs.version}/unifont-${finalAttrs.version}.otf"; - hash = "sha256-9TnyHLrjkWoJP4GdNsR3EtVwGshtrO2KaOzPe9nTPAw="; + hash = "sha256-JgccWpdTPO/cvGsGRefuJ5QTBJB58J9ZKyaRbKbCG/U="; }; pcf = fetchurl { url = "mirror://gnu/unifont/unifont-${finalAttrs.version}/unifont-${finalAttrs.version}.pcf.gz"; - hash = "sha256-ysKULOBusx4n7NfYRAzEoRfqaTNn5JtjigTVmb7wozY="; + hash = "sha256-byijyRE71OdtTqYdymQV73yds1an+AuRbJFTlRsaj+0="; }; bdf = fetchurl { url = "mirror://gnu/unifont/unifont-${finalAttrs.version}/unifont-${finalAttrs.version}.bdf.gz"; - hash = "sha256-fz0WZKwcBR9ZoaE2DdZU942CwkamiMNC6GPOx/a6ldQ="; + hash = "sha256-MNUDAtrKYx4s9FTZdHEX2YyfNcCxivT2fS+l4RaZIDM="; }; nativeBuildInputs = [ From 2d835824d2616fac4f3dde0f92592ca98d18b3e1 Mon Sep 17 00:00:00 2001 From: Aliaksandr Date: Fri, 20 Feb 2026 06:13:37 +0200 Subject: [PATCH 05/80] unifont: add qweered as maintainer --- pkgs/by-name/un/unifont/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/un/unifont/package.nix b/pkgs/by-name/un/unifont/package.nix index e9dadab19090..c198aa5720e3 100644 --- a/pkgs/by-name/un/unifont/package.nix +++ b/pkgs/by-name/un/unifont/package.nix @@ -73,7 +73,10 @@ stdenv.mkDerivation (finalAttrs: { gpl2Plus fontException ]; - maintainers = [ lib.maintainers.rycee ]; + maintainers = with lib.maintainers; [ + rycee + qweered + ]; platforms = lib.platforms.all; }; }) From 2253bd7efcd98aae41c10dc618bd9573fe3d5ddb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 6 Mar 2026 11:30:51 +0000 Subject: [PATCH 06/80] python3Packages.b2sdk: 2.10.3 -> 2.10.4 --- pkgs/development/python-modules/b2sdk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/b2sdk/default.nix b/pkgs/development/python-modules/b2sdk/default.nix index 74bb155da240..3a7db46c2a41 100644 --- a/pkgs/development/python-modules/b2sdk/default.nix +++ b/pkgs/development/python-modules/b2sdk/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "b2sdk"; - version = "2.10.3"; + version = "2.10.4"; pyproject = true; src = fetchFromGitHub { owner = "Backblaze"; repo = "b2-sdk-python"; tag = "v${version}"; - hash = "sha256-Gu4MRfjNWuwEFn13U49dEndWA/HNPwrQdX9VEz1ny+M="; + hash = "sha256-hgTQRVOgQmCA5RuwKATAev8y+S5R6xXnpmgprJ+bUYY="; }; build-system = [ From f60636fad0e72fd1d6f4ad2b0af92cc0a92396f2 Mon Sep 17 00:00:00 2001 From: bstanderline <153822813+bstanderline@users.noreply.github.com> Date: Mon, 16 Mar 2026 09:13:34 +0000 Subject: [PATCH 07/80] zabbix: 6.0.44 -> 6.0.45 --- pkgs/servers/monitoring/zabbix/versions.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix index 022841633488..df382fed2b20 100644 --- a/pkgs/servers/monitoring/zabbix/versions.nix +++ b/pkgs/servers/monitoring/zabbix/versions.nix @@ -8,7 +8,7 @@ generic: { hash = "sha256-Q+pfyx5dsl50vcg+qJNtebgJO2FK9OiJQXSFvHTwYeI="; }; v60 = generic { - version = "6.0.44"; - hash = "sha256-TveW2ofMnm3PXUPwoklTPe48tI6dED/dAQKjwO2P4F4="; + version = "6.0.45"; + hash = "sha256-duB2w2xDH9ZHEDh9iZ5Fr6RH0dI2lMCVvySA5dmSZcU="; }; } From 940d40ae6e12073acd6ca9829c7bffc388e41218 Mon Sep 17 00:00:00 2001 From: bstanderline <153822813+bstanderline@users.noreply.github.com> Date: Mon, 16 Mar 2026 09:15:00 +0000 Subject: [PATCH 08/80] zabbix70: 7.0.23 -> 7.0.24 --- pkgs/servers/monitoring/zabbix/versions.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix index df382fed2b20..dcab92cee3bc 100644 --- a/pkgs/servers/monitoring/zabbix/versions.nix +++ b/pkgs/servers/monitoring/zabbix/versions.nix @@ -4,8 +4,8 @@ generic: { hash = "sha256-FsOZQv6yg9euoX6Ccfy0/9usBpkVYVjcs3IZZ095m9g="; }; v70 = generic { - version = "7.0.23"; - hash = "sha256-Q+pfyx5dsl50vcg+qJNtebgJO2FK9OiJQXSFvHTwYeI="; + version = "7.0.24"; + hash = "sha256-b4rpkLmyV2fk//vLXMfEVdZ04qOS3CFHhIil0cDn1Zc="; }; v60 = generic { version = "6.0.45"; From eaf0fa2e47193024d6a6cdf8211fa2a3db08daed Mon Sep 17 00:00:00 2001 From: bstanderline <153822813+bstanderline@users.noreply.github.com> Date: Mon, 16 Mar 2026 09:15:57 +0000 Subject: [PATCH 09/80] zabbix74: 7.4.7 -> 7.4.8 --- pkgs/servers/monitoring/zabbix/versions.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix index dcab92cee3bc..86efb44cfd16 100644 --- a/pkgs/servers/monitoring/zabbix/versions.nix +++ b/pkgs/servers/monitoring/zabbix/versions.nix @@ -1,7 +1,7 @@ generic: { v74 = generic { - version = "7.4.7"; - hash = "sha256-FsOZQv6yg9euoX6Ccfy0/9usBpkVYVjcs3IZZ095m9g="; + version = "7.4.8"; + hash = "sha256-qbRStsV00igpziBpOhqpyriL8PWFt6oqajrUyxTdOxw="; }; v70 = generic { version = "7.0.24"; From 9ff35da0147078e0f245e4eb901dc5c17aa515c2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 19 Mar 2026 04:47:38 +0000 Subject: [PATCH 10/80] btrfs-progs: 6.19 -> 6.19.1 --- pkgs/by-name/bt/btrfs-progs/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bt/btrfs-progs/package.nix b/pkgs/by-name/bt/btrfs-progs/package.nix index 44ea7fba892d..558cf5ccdea8 100644 --- a/pkgs/by-name/bt/btrfs-progs/package.nix +++ b/pkgs/by-name/bt/btrfs-progs/package.nix @@ -21,11 +21,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "btrfs-progs"; - version = "6.19"; + version = "6.19.1"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${finalAttrs.version}.tar.xz"; - hash = "sha256-rWt5GmDrVj0zFLwY48R/awU6AyY5SItbCbnV55Id5rY="; + hash = "sha256-uyfh7FTnw8C3suWW+FOnPAej1y8hvJQEIHPCTb8EV5Y="; }; nativeBuildInputs = [ From 1659d73b4cac36a857f1017c336e67aaff00702c Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Thu, 19 Mar 2026 06:37:33 +0000 Subject: [PATCH 11/80] qemu: 10.2.1 -> 10.2.2 --- pkgs/by-name/qe/qemu/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/qe/qemu/package.nix b/pkgs/by-name/qe/qemu/package.nix index 1b544c0dbb9a..5dde5e581158 100644 --- a/pkgs/by-name/qe/qemu/package.nix +++ b/pkgs/by-name/qe/qemu/package.nix @@ -138,11 +138,11 @@ stdenv.mkDerivation (finalAttrs: { + lib.optionalString nixosTestRunner "-for-vm-tests" + lib.optionalString toolsOnly "-utils" + lib.optionalString userOnly "-user"; - version = "10.2.1"; + version = "10.2.2"; src = fetchurl { url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz"; - hash = "sha256-o3F0d9jiyE1jC//7wg9s0yk+tFqh5trG0MwnaJmRyeE="; + hash = "sha256-eEspb/KcFBeqcjI6vLLS6pq5dxck9Xfc14XDsE8h4XY="; }; depsBuildBuild = [ From 5a66391625ec01e0d48b8cfb7a3a9d8651582f13 Mon Sep 17 00:00:00 2001 From: Benjamin Sparks Date: Thu, 19 Mar 2026 20:26:39 +0000 Subject: [PATCH 12/80] ruff: 0.15.6 -> 0.15.7 Changelog: https://github.com/astral-sh/ruff/releases/tag/0.15.7 --- pkgs/by-name/ru/ruff/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index 72235a369e99..4eb1a03897a4 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.15.6"; + version = "0.15.7"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-a8A9FdfrGCyg6TdunsZcXqAzeXb9pCWO/02f9Nl5juU="; + hash = "sha256-aDRFNJKvxuHPYaZtoM+93DxJGsTPMLKGBH5QhIiTh0Y="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-TD5FLdi4YJwDzJpCctNKYxUNj/VgMnB/OBp3exk3cZw="; + cargoHash = "sha256-m3VkHXhjemXVOFFVSUOVz0xD2Rc2pMsP+dnMYQD29uI="; nativeBuildInputs = [ installShellFiles ]; From 18defb5e005cb73c4ae60e635fb9ddd2faf1bc3f Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Thu, 19 Mar 2026 21:55:54 +0100 Subject: [PATCH 13/80] unifont: 17.0.03 -> 17.0.04 --- pkgs/by-name/un/unifont/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/un/unifont/package.nix b/pkgs/by-name/un/unifont/package.nix index c198aa5720e3..30b81d2741be 100644 --- a/pkgs/by-name/un/unifont/package.nix +++ b/pkgs/by-name/un/unifont/package.nix @@ -9,21 +9,21 @@ stdenv.mkDerivation (finalAttrs: { pname = "unifont"; - version = "17.0.03"; + version = "17.0.04"; otf = fetchurl { url = "mirror://gnu/unifont/unifont-${finalAttrs.version}/unifont-${finalAttrs.version}.otf"; - hash = "sha256-JgccWpdTPO/cvGsGRefuJ5QTBJB58J9ZKyaRbKbCG/U="; + hash = "sha256-0fZkqXU7nGt/81cSh0njK10+7pDHwDYYNj+r1Do5tbc="; }; pcf = fetchurl { url = "mirror://gnu/unifont/unifont-${finalAttrs.version}/unifont-${finalAttrs.version}.pcf.gz"; - hash = "sha256-byijyRE71OdtTqYdymQV73yds1an+AuRbJFTlRsaj+0="; + hash = "sha256-21hNQMglGdfPrx8VWP3lMT+/Guga7uoKbm72MqXjxJY="; }; bdf = fetchurl { url = "mirror://gnu/unifont/unifont-${finalAttrs.version}/unifont-${finalAttrs.version}.bdf.gz"; - hash = "sha256-MNUDAtrKYx4s9FTZdHEX2YyfNcCxivT2fS+l4RaZIDM="; + hash = "sha256-mi3kgmOIJCdxEhx/4A5BJSPDGDGLjuOOa+bNRU5+yAI="; }; nativeBuildInputs = [ From cccb848abc67ab0714e310b6132efeb340467709 Mon Sep 17 00:00:00 2001 From: Benjamin Sparks Date: Thu, 19 Mar 2026 22:04:21 +0100 Subject: [PATCH 14/80] python3Packages.ruff: adjust maturin patch --- pkgs/development/python-modules/ruff/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/ruff/default.nix b/pkgs/development/python-modules/ruff/default.nix index 2322db869620..ca3a8793d0ca 100644 --- a/pkgs/development/python-modules/ruff/default.nix +++ b/pkgs/development/python-modules/ruff/default.nix @@ -29,7 +29,7 @@ buildPythonPackage { # to avoid rebuilding the ruff binary for every active python package set. + '' substituteInPlace pyproject.toml \ - --replace-fail 'requires = ["maturin>=1.9,<2.0"]' 'requires = ["hatchling"]' \ + --replace-fail 'requires = ["maturin>=1.9.3,<2.0"]' 'requires = ["hatchling"]' \ --replace-fail 'build-backend = "maturin"' 'build-backend = "hatchling.build"' cat >> pyproject.toml < Date: Fri, 20 Mar 2026 06:03:53 +0000 Subject: [PATCH 15/80] nb: 7.25.2 -> 7.25.3 --- pkgs/by-name/nb/nb/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nb/nb/package.nix b/pkgs/by-name/nb/nb/package.nix index e319049499e3..53ccac64c697 100644 --- a/pkgs/by-name/nb/nb/package.nix +++ b/pkgs/by-name/nb/nb/package.nix @@ -10,13 +10,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "nb"; - version = "7.25.2"; + version = "7.25.3"; src = fetchFromGitHub { owner = "xwmx"; repo = "nb"; tag = finalAttrs.version; - hash = "sha256-G/4BDOsrBqN92noEzDCG9lkZTblsz/HbYl0D+oyLEXc="; + hash = "sha256-liDNmc7pueIk0nFUkPjP8llXzV6dTpHMVkRSc0stEVk="; }; nativeBuildInputs = [ installShellFiles ]; From 4a2c5cf2ecfcbf13d7eb2b535a16055119d6a8f5 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Thu, 22 Jan 2026 21:21:57 +0100 Subject: [PATCH 16/80] linuxKernel.kernels.*: Fix missing rust makefile --- pkgs/os-specific/linux/kernel/build.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/build.nix b/pkgs/os-specific/linux/kernel/build.nix index c24bb2dd0717..e2275c064f90 100644 --- a/pkgs/os-specific/linux/kernel/build.nix +++ b/pkgs/os-specific/linux/kernel/build.nix @@ -438,6 +438,9 @@ lib.makeOverridable ( # Keep root and arch-specific Makefiles chmod u-w Makefile arch/*/Makefile* + # Keep rust Makefile + ${lib.optionalString withRust "chmod u-w rust/Makefile"} + # Keep whole scripts dir chmod u-w -R scripts From 1337aaf441c2e32a434307c43193b487ca192986 Mon Sep 17 00:00:00 2001 From: Demi Marie Obenour Date: Sun, 15 Mar 2026 20:41:31 -0400 Subject: [PATCH 17/80] linux/common-config: Add DAX support for filesystems This allows mmap of a virtio-pmem device to map host page cache directly into userspace. Fedora already enables FS_DAX. Signed-off-by: Demi Marie Obenour --- pkgs/os-specific/linux/kernel/common-config.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 66859facc6d9..70dfebee57b9 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -685,6 +685,8 @@ let FANOTIFY = yes; FANOTIFY_ACCESS_PERMISSIONS = yes; + FS_DAX = yes; + TMPFS = yes; TMPFS_POSIX_ACL = yes; FS_ENCRYPTION = yes; From 94c35115220d4a4353f0e3b9107d9f470c1e3759 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sat, 12 Oct 2024 03:59:58 +0200 Subject: [PATCH 18/80] nixos-install: use associative array for build method selection Use similar mechanism to what nixos-rebuild uses to evaluate which configuration file, and format, to build Amended-by: rnhmjoj --- .../by-name/ni/nixos-install/nixos-install.sh | 115 ++++++++++++++---- 1 file changed, 89 insertions(+), 26 deletions(-) diff --git a/pkgs/by-name/ni/nixos-install/nixos-install.sh b/pkgs/by-name/ni/nixos-install/nixos-install.sh index 02ec8d66bd33..bc582cf777a2 100755 --- a/pkgs/by-name/ni/nixos-install/nixos-install.sh +++ b/pkgs/by-name/ni/nixos-install/nixos-install.sh @@ -19,7 +19,8 @@ system= verbosity=() attr= buildFile= -buildingAttribute=1 +# keys: module, by-attrset, flake, system +declare -A requestedBuildMethods while [ "$#" -gt 0 ]; do i="$1"; shift 1 @@ -38,10 +39,12 @@ while [ "$#" -gt 0 ]; do ;; --system|--closure|--store-path) system="$1"; shift 1 + requestedBuildMethods["system"]=1 ;; --flake) flake="$1" flakeFlags=(--extra-experimental-features 'nix-command flakes') + requestedBuildMethods["flake"]=1 shift 1 ;; --file|-f) @@ -49,8 +52,14 @@ while [ "$#" -gt 0 ]; do log "$0: '$i' requires an argument" exit 1 fi - buildFile="$1" - buildingAttribute= + if [ -f "$1" ]; then + buildFile="$1" + elif [ -f "$1/system.nix" ]; then + buildFile="${1%/}/system.nix" + else + buildFile="${1%/}/default.nix" + fi + requestedBuildMethods["by-attrset"]=1 shift 1 ;; --attr|-A) @@ -59,7 +68,7 @@ while [ "$#" -gt 0 ]; do exit 1 fi attr="$1" - buildingAttribute= + requestedBuildMethods["by-attrset"]=1 shift 1 ;; --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) @@ -106,6 +115,20 @@ while [ "$#" -gt 0 ]; do esac done +# Finds a specific file in a directory or its parents +findInParents() { + local dir=$1 + local filename=$2 + while [[ ! -f "$dir/$filename" ]] && [[ "$dir" != / ]]; do + dir=$(dirname "$dir") + done + if [[ -f "$dir/$filename" ]]; then + echo "$dir/$filename" + else + return 1 + fi +} + if ! test -e "$mountPoint"; then echo "mount point $mountPoint doesn't exist" exit 1 @@ -122,30 +145,61 @@ while [[ "$checkPath" != "/" ]]; do checkPath="$(dirname "$checkPath")" done -# Verify that user is not trying to use attribute building and flake -# at the same time -if [[ -z $buildingAttribute && -n $flake ]]; then - echo "$0: '--flake' cannot be used with '--file' or '--attr'" +# If user requested multiple build methods, abort +if [[ ${#requestedBuildMethods[@]} -gt 1 ]]; then + echo "error: multiple build methods requested: ${!requestedBuildMethods[@]}" exit 1 fi # Get the path of the NixOS configuration file. -if [[ -z $flake && -n $buildingAttribute ]]; then - if [[ -z $NIXOS_CONFIG ]]; then - NIXOS_CONFIG=$mountPoint/etc/nixos/configuration.nix +findByAttrset() { + # - From system.nix up from the current directory + # - Hardcoded to $mountPoint/etc/nixos/system.nix + # - Hardcoded to /etc/nixos/system.nix + # (default.nix is also searched for backward compatibility) + if resolvedBuildFile="$(findInParents "$PWD" system.nix)"; then + buildFile=$resolvedBuildFile + return 0 + elif resolvedBuildFile="$(findInParents "$PWD" default.nix)"; then + buildFile=$resolvedBuildFile + return 0 + elif [[ -f "/etc/nixos/system.nix" ]]; then + buildFile="/etc/nixos/system.nix" + return 0 + elif [[ -f "/etc/nixos/default.nix" ]]; then + buildFile="/etc/nixos/default.nix" + return 0 fi + return 1 +} - if [[ ${NIXOS_CONFIG:0:1} != / ]]; then - echo "$0: \$NIXOS_CONFIG is not an absolute path" +findModule() { + # - From NIXOS_CONFIG environment variable + # - hardcoded to $mountPoint/etc/nixos/configuration.nix + if [[ -n $NIXOS_CONFIG ]]; then + return 0 + elif [[ -f "$mountPoint/etc/nixos/configuration.nix" ]]; then + NIXOS_CONFIG="$mountPoint/etc/nixos/configuration.nix" + return 0 + fi + return 1 +} + +# If user didn't request a specific build method, try to find one +if [[ ${#requestedBuildMethods[@]} -eq 0 ]]; then + # Flakes cannot be resolved without knowing hostname + if findByAttrset; then + requestedBuildMethods["by-attrset"]=1 + elif findModule; then + requestedBuildMethods["module"]=1 + else + echo "error: no build method found" exit 1 fi -elif [[ -z $buildingAttribute ]]; then - if [[ -z $buildFile ]]; then - buildFile="$mountPoint/etc/nixos/default.nix" - elif [[ -d $buildFile ]]; then - buildFile="$buildFile/default.nix" - fi -elif [[ -n $flake ]]; then +fi + +# Find configuration files if not already found +if [[ -n "${requestedBuildMethods["flake"]}" ]]; then if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then flake="${BASH_REMATCH[1]}" flakeAttr="${BASH_REMATCH[2]}" @@ -156,19 +210,28 @@ elif [[ -n $flake ]]; then exit 1 fi flakeAttr="nixosConfigurations.\"$flakeAttr\"" +elif [[ -n "${requestedBuildMethods["by-attrset"]}" && -z $buildFile ]]; then + findByAttrset +elif [[ -n "${requestedBuildMethods["module"]}" && -z $NIXOS_CONFIG ]]; then + findModule + + if [[ ${NIXOS_CONFIG:0:1} != / ]]; then + echo "$0: \$NIXOS_CONFIG is not an absolute path" + exit 1 + fi fi # Resolve the flake. -if [[ -n $flake ]]; then +if [[ -n "${requestedBuildMethods["flake"]}" ]]; then flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) fi -if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake && -n $buildingAttribute ]]; then +if [[ ! -e $NIXOS_CONFIG && -n "${requestedBuildMethods["module"]}" ]]; then echo "configuration file $NIXOS_CONFIG doesn't exist" exit 1 fi -if [[ ! -z $buildingAttribute && -e $buildFile && -z $system ]]; then +if [[ ! -e $buildFile && -n "${requestedBuildMethods["by-attrset"]}" ]]; then echo "configuration file $buildFile doesn't exist" exit 1 fi @@ -202,12 +265,12 @@ fi # Build the system configuration in the target filesystem. if [[ -z $system ]]; then outLink="$tmpdir/system" - if [[ -z $flake && -n $buildingAttribute ]]; then + if [[ -n "${requestedBuildMethods["module"]}" ]]; then echo "building the configuration in $NIXOS_CONFIG..." nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \ --extra-substituters "$sub" \ '' -A system -I "nixos-config=$NIXOS_CONFIG" "${verbosity[@]}" - elif [[ -z $buildingAttribute ]]; then + elif [[ -n "${requestedBuildMethods["by-attrset"]}" ]]; then if [[ -n $attr ]]; then echo "building the configuration in $buildFile and attribute $attr..." else @@ -216,7 +279,7 @@ if [[ -z $system ]]; then nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \ --extra-substituters "$sub" \ "$buildFile" -A "${attr:+$attr.}config.system.build.toplevel" "${verbosity[@]}" - else + else # [[ -n "${requestedBuildMethods["flake"]}" ]] echo "building the flake in $flake..." nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \ --store "$mountPoint" --extra-substituters "$sub" "${verbosity[@]}" \ From 7d537b0dfc07ecc4e958f95e6dfded1cfc77319f Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sat, 12 Oct 2024 06:58:50 +0200 Subject: [PATCH 19/80] nixos-install: Update manpage nixos-install now detects by-attrset configurations differently, and uses system.nix filename instead of default.nix Amended-by: rnhmjoj --- pkgs/by-name/ni/nixos-install/nixos-install.8 | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/ni/nixos-install/nixos-install.8 b/pkgs/by-name/ni/nixos-install/nixos-install.8 index 5b4f8c936720..186c85566416 100644 --- a/pkgs/by-name/ni/nixos-install/nixos-install.8 +++ b/pkgs/by-name/ni/nixos-install/nixos-install.8 @@ -33,9 +33,19 @@ .Sh DESCRIPTION This command installs NixOS in the file system mounted on .Pa /mnt Ns -, based on the NixOS configuration specified in -.Pa /mnt/etc/nixos/configuration.nix Ns -\&. It performs the following steps: +, or defined through the +.Fl -root +option, based on the NixOS configuration specified in +.Pa /mnt/etc/nixos/system.nix Ns +, +.Pa /mnt/etc/nixos/configuration.nix +or specified through the +.Fl -file Ns +, +.Fl -attr Ns +or +.Fl -flake Ns +options. It performs the following steps: . .Bl -enum .It @@ -46,9 +56,7 @@ It copies Nix and its dependencies to .It It runs Nix in .Pa /mnt -to build the NixOS configuration specified in -.Pa /mnt/etc/nixos/configuration.nix Ns -\&. +to build the given NixOS configuration. . .It It installs the current channel @@ -114,7 +122,7 @@ output named \&. . .It Fl -file Ar path , Fl f Ar path -Enable and build the NixOS system from the specified file. The file must +Build the NixOS system from the specified file. The file must evaluate to an attribute set, and it must contain a valid NixOS configuration at attribute .Va attrPath Ns @@ -127,17 +135,19 @@ function in nixpkgs or importing and calling from nixpkgs. If specified without .Fl -attr option, builds the configuration from the top-level -attribute of the file. +attribute set of the file. . .It Fl -attr Ar attrPath , Fl A Ar attrPath -Enable and build the NixOS system from nix file and use the specified attribute +Build the NixOS system from nix file and use the specified attribute path from file specified by the .Fl -file option. If specified without .Fl -file -option, uses -.Va [root] Ns Pa /etc/nixos/default.nix Ns -\&. +option, it tires to find +.Pa system.nix +in +.Va root Ns Pa /etc/nixos Ns +, in current directory and iteratively in parent directories. . .It Fl -channel Ar channel If this option is provided, do not copy the current From bdd34aca82cd3a6c14b4f29dd7cae02b26697a63 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Fri, 20 Mar 2026 19:04:24 +0100 Subject: [PATCH 20/80] nixos-install-tools: fix nixos-install-help test --- pkgs/by-name/ni/nixos-install-tools/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ni/nixos-install-tools/package.nix b/pkgs/by-name/ni/nixos-install-tools/package.nix index 03be3c9ea39b..98588f4abc54 100644 --- a/pkgs/by-name/ni/nixos-install-tools/package.nix +++ b/pkgs/by-name/ni/nixos-install-tools/package.nix @@ -56,9 +56,9 @@ in ''; } '' - nixos-install --help | grep -F 'NixOS Reference Pages' + nixos-install --help | grep -F "System Manager's Manual" nixos-install --help | grep -F 'configuration.nix' - nixos-generate-config --help | grep -F 'NixOS Reference Pages' + nixos-generate-config --help | grep -F "System Manager's Manual" nixos-generate-config --help | grep -F 'hardware-configuration.nix' # FIXME: Tries to call unshare, which it must not do for --help From 5c562a3587bb0ff4232af21fe8e70ec1b06f63f7 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 16 Mar 2026 08:25:51 +0100 Subject: [PATCH 21/80] nixos-rebuild-ng: add support for system.nix - Support loading a system.nix from the cwd if --attr is used or when --file points to a directory. default.nix is still supported, but system.nix should be preferred to avoid loading files unrelated to NixOS systems - Introduce a system-wide file, defaulting to /etc/nixos/system.nix, which is loaded even if neither --file nor --attr are used These changes allow to build a completely self-contained system configuration (NIX_PATH can be empty) with just `nixos-rebuild`, similarly to flakes. --- .../ni/nixos-rebuild-ng/nixos-rebuild.8.scd | 23 ++- .../src/nixos_rebuild/models.py | 29 +++- .../nixos-rebuild-ng/src/nixos_rebuild/nix.py | 4 +- .../nixos-rebuild-ng/src/tests/test_main.py | 146 +++++++++++++++--- .../nixos-rebuild-ng/src/tests/test_models.py | 50 +++++- .../src/tests/test_services.py | 8 +- 6 files changed, 217 insertions(+), 43 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd b/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd index b2298ce10639..d4f83ac9d803 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd +++ b/pkgs/by-name/ni/nixos-rebuild-ng/nixos-rebuild.8.scd @@ -28,11 +28,12 @@ _nixos-rebuild_ \[--verbose] [--quiet] [--max-jobs MAX_JOBS] [--cores CORES] [-- # DESCRIPTION This command updates the system so that it corresponds to the configuration -specified in /etc/nixos/configuration.nix, /etc/nixos/flake.nix or the file and -attribute specified by the *--file* and/or *--attr* options. Thus, every +specified in /etc/nixos/configuration.nix, /etc/nixos/flake.nix, +/etc/nixos/system.nix or the file and attribute specified by the *--file*, +*--attr* or *--flake* options. Thus, every time you modify the configuration or any other NixOS module, you must run *nixos-rebuild* to make the changes take effect. It builds the new system in -/nix/store, runs its activation script, and stop and (re)starts any system +/nix/store, runs its activation script, stops and (re)starts any system services if needed. Please note that user services need to be started manually as they aren't detected by the activation script at the moment. @@ -281,20 +282,21 @@ It must be one of the following: Implies *--sudo*. *--file* _path_, *-f* _path_ - Enable and build the NixOS system from the specified file. The file must + Build the NixOS system from the specified file. The file must evaluate to an attribute set, and it must contain a valid NixOS configuration at attribute _attrPath_. This is useful for building a NixOS system from a nix file that is not a flake or a NixOS configuration module. Attribute set a with valid NixOS configuration can be made using _nixos_ function in nixpkgs or importing and calling nixos/lib/eval-config.nix from nixpkgs. If specified without *--attr* - option, builds the configuration from the top-level attribute of the + option, builds the configuration from the top-level attribute set of the file. *--attr* _attrPath_, *-A* _attrPath_ - Enable and build the NixOS system from nix file and use the specified - attribute path from file specified by the *--file* option. If specified - without *--file* option, uses _default.nix_ in current directory. + Build the NixOS system from a nix file and use the specified + attribute path from the file specified by the *--file* option. + If specified without *--file* option, uses _system.nix_ in current directory, + the system-wide __ file, or finally, /etc/nixos/system.nix. *--flake* _flake-uri[#name]_, *-F* _flake-uri[#name]_ Build the NixOS system from the specified flake. It defaults to the @@ -355,6 +357,11 @@ NIX_SUDOOPTS # FILES +/etc/nixos/system.nix + If this file exists, then *nixos-rebuild* will use it as if the + *--file* option was given. This allows to build a self-contained + system configuration, without requiring ‘nixos’ channel. + /etc/nixos/flake.nix If this file exists, then *nixos-rebuild* will use it as if the *--flake* option was given. This file may be a symlink to a diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py index 7fb37e8f97a9..ad28e368c2f5 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/models.py @@ -7,6 +7,7 @@ from enum import Enum from pathlib import Path from typing import Any, ClassVar, Self, TypedDict, override +from . import nix from .process import Remote, run_wrapper from .utils import Args @@ -58,9 +59,31 @@ class BuildAttr: @classmethod def from_arg(cls, attr: str | None, file: str | None) -> Self: - if not (attr or file): - return cls("", None) - return cls(Path(file or "default.nix"), attr) + # We use, in this order: + # 1. the --file argument (can be a directory, implying /system.nix) + # 2. system.nix in the cwd, but only if --attr is used + # 3. the Nix path entry + # 4. /etc/nixos/system.nix + # 5. the Nix path entry (uses configuration.nix) + + if file: + fpath = Path(file) + if fpath.is_dir() and (fpath / "system.nix").exists(): + return cls(fpath / "system.nix", attr) + # Backward compatibility + elif fpath.is_dir() and (fpath / "default.nix").exists(): + return cls(fpath / "default.nix", attr) + return cls(fpath, attr) + elif attr and Path("system.nix").exists(): + return cls(Path("system.nix"), attr) + elif attr and Path("default.nix").exists(): + # Backward compatibility + return cls(Path("default.nix"), attr) + elif nix.find_file("nixos-system"): + return cls("", attr) + elif Path("/etc/nixos/system.nix").exists(): + return cls(Path("/etc/nixos/system.nix"), attr) + return cls("", attr) @dataclass(frozen=True) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py index 6699cc1778e1..95ebb3c9c0c2 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py @@ -270,8 +270,8 @@ def find_file(file: str, nix_flags: Args | None = None) -> Path | None: "Find classic Nix file location." r = run_wrapper( ["nix-instantiate", "--find-file", file, *dict_to_flags(nix_flags)], - stdout=PIPE, check=False, + capture_output=True, ) if r.returncode: return None @@ -670,6 +670,8 @@ def set_profile( remote=target_host, sudo=sudo, ) + + def switch_to_configuration( path_to_config: Path, action: Literal[Action.SWITCH, Action.BOOT, Action.TEST, Action.DRY_ACTIVATE], diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py index 7f51c09d7497..456a41f46eac 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_main.py @@ -187,12 +187,18 @@ def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None: nr.execute(["nixos-rebuild", "boot", "--no-flake", "-vvv", "--no-reexec"]) - assert mock_run.call_count == 7 + assert mock_run.call_count == 8 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + capture_output=True, + check=False, + **DEFAULT_RUN_KWARGS, + ), call( ["nix-instantiate", "--find-file", "nixpkgs", "-vvv"], - stdout=PIPE, + capture_output=True, check=False, **DEFAULT_RUN_KWARGS, ), @@ -210,7 +216,7 @@ def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None: call( [ "nix-build", - "", + "", "--attr", "config.system.build.toplevel", "--no-out-link", @@ -278,9 +284,15 @@ def test_execute_nix_build(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_count == 1 + assert mock_run.call_count == 2 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix", @@ -308,6 +320,8 @@ def test_execute_nix_build_vm(mock_run: Mock, tmp_path: Path) -> None: def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: if args[0] == "nix-build": return CompletedProcess([], 0, str(config_path)) + elif args[0] == "nix-instantiate": + return CompletedProcess([], 1) else: return CompletedProcess([], 0) @@ -326,9 +340,15 @@ def test_execute_nix_build_vm(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_count == 1 + assert mock_run.call_count == 2 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix-build", @@ -343,7 +363,7 @@ def test_execute_nix_build_vm(mock_run: Mock, tmp_path: Path) -> None: check=True, stdout=PIPE, **DEFAULT_RUN_KWARGS, - ) + ), ] ) @@ -363,6 +383,8 @@ def test_execute_nix_build_image_flake(mock_run: Mock, tmp_path: Path) -> None: ) elif args[0] == "nix": return CompletedProcess([], 0, str(config_path)) + elif args[0] == "nix-instantiate": + return CompletedProcess([], 1) else: return CompletedProcess([], 0) @@ -379,9 +401,15 @@ def test_execute_nix_build_image_flake(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_count == 3 + assert mock_run.call_count == 4 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix", @@ -440,6 +468,8 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None: def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: if args[0] == "nix": return CompletedProcess([], 0, str(config_path)) + elif args[0] == "nix-instantiate": + return CompletedProcess([], 1) else: return CompletedProcess([], 0) @@ -462,9 +492,15 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_count == 4 + assert mock_run.call_count == 5 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix", @@ -572,9 +608,15 @@ def test_execute_nix_switch_build_target_host( ] ) - assert mock_run.call_count == 11 + assert mock_run.call_count == 12 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix-instantiate", @@ -586,7 +628,7 @@ def test_execute_nix_switch_build_target_host( "nixpkgs=$HOME/.nix-defexpr/channels/pinned_nixpkgs", ], check=False, - stdout=PIPE, + capture_output=True, **DEFAULT_RUN_KWARGS, ), call( @@ -777,6 +819,8 @@ def test_execute_nix_switch_flake_target_host( def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: if args[0] == "nix": return CompletedProcess([], 0, str(config_path)) + elif args[0] == "nix-instantiate": + return CompletedProcess([], 1) else: return CompletedProcess([], 0) @@ -795,9 +839,15 @@ def test_execute_nix_switch_flake_target_host( ] ) - assert mock_run.call_count == 5 + assert mock_run.call_count == 6 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix", @@ -896,6 +946,8 @@ def test_execute_nix_switch_flake_build_host( return CompletedProcess([], 0, str(config_path)) elif args[0] == "ssh" and "nix" in args: return CompletedProcess([], 0, str(config_path)) + elif args[0] == "nix-instantiate": + return CompletedProcess([], 1) else: return CompletedProcess([], 0) @@ -913,9 +965,15 @@ def test_execute_nix_switch_flake_build_host( ] ) - assert mock_run.call_count == 7 + assert mock_run.call_count == 8 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + check=False, + capture_output=True, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix", @@ -1001,7 +1059,9 @@ def test_execute_switch_rollback(mock_run: Mock, tmp_path: Path) -> None: (nixpkgs_path / ".git").mkdir(parents=True) def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: - if args[0] == "nix-instantiate": + if args[0] == "nix-instantiate" and "nixos-system" in args: + return CompletedProcess([], 1) + elif args[0] == "nix-instantiate": return CompletedProcess([], 0, str(nixpkgs_path)) elif args[0] == "git": return CompletedProcess([], 0, "") @@ -1023,13 +1083,19 @@ def test_execute_switch_rollback(mock_run: Mock, tmp_path: Path) -> None: ] ) - assert mock_run.call_count == 5 + assert mock_run.call_count == 6 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + capture_output=True, + check=False, + **DEFAULT_RUN_KWARGS, + ), call( ["nix-instantiate", "--find-file", "nixpkgs"], check=False, - stdout=PIPE, + capture_output=True, **DEFAULT_RUN_KWARGS, ), call( @@ -1077,15 +1143,23 @@ def test_execute_build(mock_run: Mock, tmp_path: Path) -> None: config_path = tmp_path / "test" config_path.touch() mock_run.side_effect = [ + # nix-instantiate --find-file nixos-system + CompletedProcess([], 1), # nixos_build_flake CompletedProcess([], 0, str(config_path)), ] nr.execute(["nixos-rebuild", "build", "--no-flake", "--no-reexec"]) - assert mock_run.call_count == 1 + assert mock_run.call_count == 2 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + capture_output=True, + check=False, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix-build", @@ -1096,7 +1170,7 @@ def test_execute_build(mock_run: Mock, tmp_path: Path) -> None: check=True, stdout=PIPE, **DEFAULT_RUN_KWARGS, - ) + ), ] ) @@ -1108,6 +1182,8 @@ def test_execute_build_dry_run_build_and_target_remote( config_path = tmp_path / "test" config_path.touch() mock_run.side_effect = [ + # nix-instantiate --find-file nixos-system + CompletedProcess([], 1), CompletedProcess([], 0, str(config_path)), CompletedProcess([], 0), CompletedProcess([], 0, str(config_path)), @@ -1126,9 +1202,15 @@ def test_execute_build_dry_run_build_and_target_remote( ] ) - assert mock_run.call_count == 3 + assert mock_run.call_count == 4 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + capture_output=True, + check=False, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix", @@ -1181,6 +1263,8 @@ def test_execute_test_flake(mock_run: Mock, tmp_path: Path) -> None: def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: if args[0] == "nix": return CompletedProcess([], 0, str(config_path)) + elif args[0] == "nix-instantiate": + return CompletedProcess([], 1) elif args[0] == "test": return CompletedProcess([], 1) else: @@ -1192,9 +1276,15 @@ def test_execute_test_flake(mock_run: Mock, tmp_path: Path) -> None: ["nixos-rebuild", "test", "--flake", "github:user/repo#hostname", "--no-reexec"] ) - assert mock_run.call_count == 3 + assert mock_run.call_count == 4 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + capture_output=True, + check=False, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix", @@ -1242,6 +1332,8 @@ def test_execute_test_rollback( 2084 2024-11-07 23:54:17 (current) """), ) + elif args[0] == "nix-instantiate" and "nixos-system" in args: + return CompletedProcess([], 1) elif args[0] == "test": return CompletedProcess([], 1) else: @@ -1253,7 +1345,7 @@ def test_execute_test_rollback( ["nixos-rebuild", "test", "--rollback", "--profile-name", "foo", "--no-reexec"] ) - assert mock_run.call_count == 3 + assert mock_run.call_count == 4 mock_run.assert_has_calls( [ call( @@ -1296,7 +1388,7 @@ def test_execute_switch_store_path(mock_run: Mock, tmp_path: Path) -> None: config_path = tmp_path / "test-system" config_path.mkdir() - mock_run.return_value = CompletedProcess([], 0) + mock_run.return_value = CompletedProcess([], 0, stdout="") nr.execute( [ @@ -1309,9 +1401,15 @@ def test_execute_switch_store_path(mock_run: Mock, tmp_path: Path) -> None: ) # --store-path skips build and write_version_suffix, so only activation calls - assert mock_run.call_count == 3 + assert mock_run.call_count == 4 mock_run.assert_has_calls( [ + call( + ["nix-instantiate", "--find-file", "nixos-system"], + capture_output=True, + check=False, + **DEFAULT_RUN_KWARGS, + ), call( [ "nix-env", @@ -1359,7 +1457,7 @@ def test_execute_switch_store_path_target_host( config_path = tmp_path / "test-system" config_path.mkdir() - mock_run.return_value = CompletedProcess([], 0) + mock_run.return_value = CompletedProcess([], 0, stdout="") nr.execute( [ @@ -1375,7 +1473,7 @@ def test_execute_switch_store_path_target_host( ) # --store-path skips build and write_version_suffix, so only copy/activation calls - assert mock_run.call_count == 5 + assert mock_run.call_count == 6 mock_run.assert_has_calls( [ call( diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py index 21c957b9d821..64ffce686976 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_models.py @@ -5,19 +5,57 @@ from unittest.mock import Mock, patch from pytest import MonkeyPatch import nixos_rebuild.models as m +import nixos_rebuild.nix as n from .helpers import get_qualified_name -def test_build_attr_from_arg() -> None: - assert m.BuildAttr.from_arg(None, None) == m.BuildAttr("", None) - assert m.BuildAttr.from_arg("attr", None) == m.BuildAttr( - Path("default.nix"), "attr" - ) +def test_build_attr_from_arg(tmp_path: Path) -> None: assert m.BuildAttr.from_arg("attr", "file.nix") == m.BuildAttr( Path("file.nix"), "attr" ) - assert m.BuildAttr.from_arg(None, "file.nix") == m.BuildAttr(Path("file.nix"), None) + + with patch( + # system.nix exists + "pathlib.Path.exists", + autospec=True, + side_effect=[True], + ): + assert m.BuildAttr.from_arg("attr", None) == m.BuildAttr( + Path("system.nix"), "attr" + ) + + with patch( + # is defined + get_qualified_name(n.find_file), + autospec=True, + return_value=Path("/some/file.nix"), + ): + assert m.BuildAttr.from_arg("attr", None) == m.BuildAttr( + "", "attr" + ) + + with ( + # not defined + patch(get_qualified_name(n.find_file), autospec=True, return_value=None), + # system.nix does not exist, but /etc/nixos/system.nix does + patch( + "pathlib.Path.exists", + autospec=True, + side_effect=[True], + ), + ): + assert m.BuildAttr.from_arg(None, None) == m.BuildAttr( + Path("/etc/nixos/system.nix"), None + ) + + with patch( + # not defined + get_qualified_name(n.find_file), + autospec=True, + return_value=None, + ): + assert m.BuildAttr.from_arg(None, None) == m.BuildAttr("", None) def test_build_attr_to_attr() -> None: diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_services.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_services.py index 529073e62464..6bd823b1d48d 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_services.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_services.py @@ -1,5 +1,6 @@ import os from pathlib import Path +from subprocess import CompletedProcess from unittest.mock import ANY, Mock, call, patch from pytest import MonkeyPatch @@ -12,8 +13,13 @@ from .helpers import get_qualified_name @patch.dict(os.environ, {}, clear=True) @patch("os.execve", autospec=True) +@patch(get_qualified_name(n.nix.run_wrapper, n.nix), autospec=True) @patch(get_qualified_name(s.nix.build), autospec=True) -def test_reexec(mock_build: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch) -> None: +def test_reexec( + mock_build: Mock, mock_run: Mock, mock_execve: Mock, monkeypatch: MonkeyPatch +) -> None: + mock_run.return_value = CompletedProcess([], 0, stdout="") + monkeypatch.setattr(s, "EXECUTABLE", "nixos-rebuild-ng") argv = ["/path/bin/nixos-rebuild-ng", "switch", "--no-flake"] args, _ = n.parse_args(argv) From fadc273dd040dacb210971909589cdc77ac118db Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Mon, 23 Feb 2026 07:56:56 +0100 Subject: [PATCH 22/80] nixos/release-notes: explain the new system.nix file --- .../manual/release-notes/rl-2605.section.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index cd59164990eb..622ca41db4e8 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -4,6 +4,32 @@ +- The system.nix file has been added has an alternative entry point to configuration.nix (and flake.nix) that allows to configure NixOS without using `nix-channel`. + This file must evaluate to a NixOS system derivation or an attribute set of such derivations, in which case the attribute to build has to be selected with the `--attr` option of `nixos-rebuild` or `nixos-install`. + For example, + ```nix + # system.nix + let + # Pinned Nixpkgs archive + # + # Use `curl -I https://channels.nixos.org/nixos-26.05` to get the + # latest commit of the stable channel and `nix-prefetch-url --unpack` + # to compute its sha256 hash. + nixpkgs = builtins.fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/c217913993d6.tar.gz"; + sha256 = "026mprs324330pfazlgbw987qmsa8ligglarvqbcxzig2kgw0lqg"; + }; + in + import "${nixpkgs}/nixos" { + # Build NixOS using an external configuration.nix file, + # or directly set your options here + configuration = ./configuration.nix; + } + ``` + + The default location of system.nix is `/etc/nixos/system.nix` and can be changed by setting the `` search path. + `nixos-rebuild` and `nixos-install` can now also load a system.nix file in the current directory (only if `--attr` is used) or from a directory specified with `--file`. + - The default kernel package has been updated from 6.12 to 6.18. All supported kernels remain available. ## New Modules {#sec-release-26.05-new-modules} From ac0ef82504747d3d8213f828736adf63bb304bc4 Mon Sep 17 00:00:00 2001 From: cinereal Date: Sun, 15 Mar 2026 08:38:10 -0700 Subject: [PATCH 23/80] lib.modules: default to `emptyValue` Signed-off-by: cinereal --- lib/modules.nix | 2 ++ lib/tests/modules.sh | 11 +++++++++++ lib/tests/modules/defaults.nix | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 lib/tests/modules/defaults.nix diff --git a/lib/modules.nix b/lib/modules.nix index c67ea2247ca7..ff286ad7c4b2 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -1246,6 +1246,8 @@ let allInvalid = filter (def: !type.check def.value) defsFinal; in throw "A definition for option `${showOption loc}' is not of type `${type.description}'. Definition values:${showDefs allInvalid}" + else if type.emptyValue ? value then + type.emptyValue.value else # (nixos-option detects this specific error message and gives it special # handling. If changed here, please change it there too.) diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index aa9d3443fb6a..bc89d4c20851 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -674,6 +674,17 @@ checkConfigOutput "{}" config.submodule.a ./emptyValues.nix checkConfigError 'The option .int.a. was accessed but has no value defined. Try setting the option.' config.int.a ./emptyValues.nix checkConfigError 'The option .nonEmptyList.a. was accessed but has no value defined. Try setting the option.' config.nonEmptyList.a ./emptyValues.nix +## defaults +checkConfigOutput "\[\]" config.list ./defaults.nix +checkConfigOutput "{}" config.attrs ./defaults.nix +checkConfigOutput "{}" config.attrsOf ./defaults.nix +checkConfigOutput "null" config.null ./defaults.nix +checkConfigOutput "{}" config.submodule ./defaults.nix +checkConfigOutput "\[\]" config.unique ./defaults.nix +checkConfigOutput "\[\]" config.coercedTo ./defaults.nix +# These types don't have empty values +checkConfigError 'The option .int. was accessed but has no value defined. Try setting the option.' config.int ./defaults.nix + # types.unique # requires a single definition checkConfigError 'The option .examples\.merged. is defined multiple times while it.s expected to be unique' config.examples.merged.a ./types-unique.nix diff --git a/lib/tests/modules/defaults.nix b/lib/tests/modules/defaults.nix new file mode 100644 index 000000000000..56eee2c9c286 --- /dev/null +++ b/lib/tests/modules/defaults.nix @@ -0,0 +1,33 @@ +{ lib, ... }: +let + inherit (lib) types; +in +{ + options = { + list = lib.mkOption { + type = types.listOf types.int; + }; + attrs = lib.mkOption { + type = types.attrs; + }; + attrsOf = lib.mkOption { + type = types.attrsOf types.int; + }; + null = lib.mkOption { + type = types.nullOr types.int; + }; + submodule = lib.mkOption { + type = types.submodule { }; + }; + unique = lib.mkOption { + type = types.unique { message = "hi"; } (types.listOf types.int); + }; + coercedTo = lib.mkOption { + type = types.coercedTo (types.attrsOf types.int) builtins.attrNames (types.listOf types.str); + }; + # no empty value + int = lib.mkOption { + type = types.int; + }; + }; +} From ce38929fb6a1a1ce9f850285c0b6d07f88149540 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 23 Mar 2026 15:55:29 +0000 Subject: [PATCH 24/80] repomix: 1.12.0 -> 1.13.0 --- pkgs/by-name/re/repomix/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/repomix/package.nix b/pkgs/by-name/re/repomix/package.nix index 4fc768fda4fe..9a279c8def94 100644 --- a/pkgs/by-name/re/repomix/package.nix +++ b/pkgs/by-name/re/repomix/package.nix @@ -8,16 +8,16 @@ buildNpmPackage rec { pname = "repomix"; - version = "1.12.0"; + version = "1.13.0"; src = fetchFromGitHub { owner = "yamadashy"; repo = "repomix"; tag = "v${version}"; - hash = "sha256-ymceZ6HUtHfsJrUc1g2OprO5cNjCzL1QYn4QbZ2rFo4="; + hash = "sha256-rHatX8bFfUm3wxjH8TWFnGp/1OfCN6g+ZV9ZoCjCF8U="; }; - npmDepsHash = "sha256-DJH7ogNZNqqnA1M9n0v6Oj5FcSHaOifAyCVjibN/2fU="; + npmDepsHash = "sha256-EXpjSOMgESM5oTIdDXQ1CX9GrafFbvolqRcoZPLVG+E="; nativeInstallCheckInputs = [ versionCheckHook ]; doInstallCheck = true; From c61147a3b32723a35baac8400104ae5e87ce5e87 Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Tue, 24 Mar 2026 10:52:41 +0800 Subject: [PATCH 25/80] okteto: use writableTmpDirAsHomeHook --- pkgs/by-name/ok/okteto/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ok/okteto/package.nix b/pkgs/by-name/ok/okteto/package.nix index cd9c55c5d8ee..33850f0322b1 100644 --- a/pkgs/by-name/ok/okteto/package.nix +++ b/pkgs/by-name/ok/okteto/package.nix @@ -4,6 +4,7 @@ buildGoModule, fetchFromGitHub, installShellFiles, + writableTmpDirAsHomeHook, testers, }: @@ -45,9 +46,7 @@ buildGoModule (finalAttrs: { "static_build" ]; - preCheck = '' - export HOME="$(mktemp -d)" - ''; + nativeCheckInputs = [ writableTmpDirAsHomeHook ]; checkFlags = let From 7487a04be9f0fbf7ae50b17f761ef03c591299fe Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Tue, 24 Mar 2026 11:06:23 +0800 Subject: [PATCH 26/80] harbor-cli: use writableTmpDirAsHomeHook --- pkgs/by-name/ha/harbor-cli/package.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ha/harbor-cli/package.nix b/pkgs/by-name/ha/harbor-cli/package.nix index ac8ad8499dca..6364b535addd 100644 --- a/pkgs/by-name/ha/harbor-cli/package.nix +++ b/pkgs/by-name/ha/harbor-cli/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, testers, installShellFiles, + writableTmpDirAsHomeHook, }: buildGoModule (finalAttrs: { @@ -25,7 +26,10 @@ buildGoModule (finalAttrs: { "doc" ]; - nativeBuildInputs = [ installShellFiles ]; + nativeBuildInputs = [ + installShellFiles + writableTmpDirAsHomeHook + ]; ldflags = [ "-s" @@ -36,8 +40,6 @@ buildGoModule (finalAttrs: { doCheck = false; # Network required postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - export HOME="$(mktemp -d)" - installShellCompletion --cmd harbor \ --bash <($out/bin/harbor completion bash) \ --fish <($out/bin/harbor completion fish) \ From 22de70f34fdde2fffdcfb33ffde98d406470d216 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Mar 2026 07:42:47 +0000 Subject: [PATCH 27/80] oh-my-posh: 29.1.0 -> 29.9.1 --- pkgs/by-name/oh/oh-my-posh/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/oh/oh-my-posh/package.nix b/pkgs/by-name/oh/oh-my-posh/package.nix index 1034cec4f0e7..67f39d42b992 100644 --- a/pkgs/by-name/oh/oh-my-posh/package.nix +++ b/pkgs/by-name/oh/oh-my-posh/package.nix @@ -6,16 +6,16 @@ }: buildGoModule (finalAttrs: { pname = "oh-my-posh"; - version = "29.1.0"; + version = "29.9.1"; src = fetchFromGitHub { owner = "jandedobbeleer"; repo = "oh-my-posh"; tag = "v${finalAttrs.version}"; - hash = "sha256-gbb/ZVd3oNABw8Hjeht//bPdLVQnWtEtAkvYudGqMTs="; + hash = "sha256-U+zqRCRJrbjmIVJqfYoQ0qCt4EJCaHswIlsmJwNB7M4="; }; - vendorHash = "sha256-75buRo7DNq4gzY+66NEVSI1XOJdgckqzHoDwraUmEAw="; + vendorHash = "sha256-0pxVRDXdvImA2B3yonnl01Y1UuEKNb6UCVH4enohu2I="; sourceRoot = "${finalAttrs.src.name}/src"; From 6b830ce0b01dc5fdc0247f2a824409024be9b0f6 Mon Sep 17 00:00:00 2001 From: VZstless Date: Tue, 24 Mar 2026 10:56:17 +0800 Subject: [PATCH 28/80] cliamp: 1.21.5 -> 1.25.0, add update script --- pkgs/by-name/cl/cliamp/package.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/cliamp/package.nix b/pkgs/by-name/cl/cliamp/package.nix index a9315a5e65c9..6c5257e0e203 100644 --- a/pkgs/by-name/cl/cliamp/package.nix +++ b/pkgs/by-name/cl/cliamp/package.nix @@ -1,7 +1,9 @@ { lib, + stdenv, buildGoModule, fetchFromGitHub, + nix-update-script, pkg-config, makeWrapper, alsa-lib, @@ -14,13 +16,13 @@ buildGoModule (finalAttrs: { pname = "cliamp"; - version = "1.21.5"; + version = "1.25.0"; src = fetchFromGitHub { owner = "bjarneo"; repo = "cliamp"; tag = "v${finalAttrs.version}"; - hash = "sha256-xqiFtMw5kFRAnc4CSkc7/RcAejWxlJAoGFkQ2f5Z3bc="; + hash = "sha256-SE8uUdA3u+bm3A65J2nMyG+17NCaq5mQgji7eYUQKd8="; }; vendorHash = "sha256-UMDCpfSGfvJmI+sImaFzgZpLNaLMgEnmGCqERwPokHM="; @@ -31,10 +33,12 @@ buildGoModule (finalAttrs: { ]; buildInputs = [ - alsa-lib libogg libvorbis flac + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib ]; postInstall = '' @@ -47,6 +51,11 @@ buildGoModule (finalAttrs: { } ''; + # this is set due to failure of testset `net/http/httptest` on darwin + __darwinAllowLocalNetworking = true; + + passthru.updateScript = nix-update-script { }; + meta = { description = "Terminal Winamp - a retro terminal music player inspired by Winamp 2.x"; homepage = "https://github.com/bjarneo/cliamp"; From 04950f9a79dad1fab55db60396b3453a0ca9aadb Mon Sep 17 00:00:00 2001 From: Sav Tripodi Date: Tue, 24 Mar 2026 11:46:04 +0100 Subject: [PATCH 29/80] _1password-cli: add maintainer savtrip --- pkgs/by-name/_1/_1password-cli/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/_1/_1password-cli/package.nix b/pkgs/by-name/_1/_1password-cli/package.nix index c0a7115c1db8..cb9899f940ef 100644 --- a/pkgs/by-name/_1/_1password-cli/package.nix +++ b/pkgs/by-name/_1/_1password-cli/package.nix @@ -92,6 +92,7 @@ stdenv.mkDerivation { maintainers = with lib.maintainers; [ joelburget khaneliman + savtrip ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; From c062e7880c2190df4be16b96368743bb88e52953 Mon Sep 17 00:00:00 2001 From: Sav Tripodi Date: Tue, 24 Mar 2026 11:50:55 +0100 Subject: [PATCH 30/80] git-lfs: add maintainer savtrip --- pkgs/by-name/gi/git-lfs/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gi/git-lfs/package.nix b/pkgs/by-name/gi/git-lfs/package.nix index 67aa8173cd55..345aa81d8370 100644 --- a/pkgs/by-name/gi/git-lfs/package.nix +++ b/pkgs/by-name/gi/git-lfs/package.nix @@ -107,7 +107,10 @@ buildGoModule (finalAttrs: { homepage = "https://git-lfs.github.com/"; changelog = "https://github.com/git-lfs/git-lfs/raw/v${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ twey ]; + maintainers = with lib.maintainers; [ + twey + savtrip + ]; mainProgram = "git-lfs"; }; }) From 2482cdcc6b50de9ec3fae9e25c0e48afe331a615 Mon Sep 17 00:00:00 2001 From: Sav Tripodi Date: Tue, 24 Mar 2026 11:53:04 +0100 Subject: [PATCH 31/80] libwebp: add maintainer savtrip --- pkgs/by-name/li/libwebp/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libwebp/package.nix b/pkgs/by-name/li/libwebp/package.nix index ba0c095a593d..a3f4955b96b1 100644 --- a/pkgs/by-name/li/libwebp/package.nix +++ b/pkgs/by-name/li/libwebp/package.nix @@ -100,7 +100,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://developers.google.com/speed/webp/"; license = lib.licenses.bsd3; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ ajs124 ]; + maintainers = with lib.maintainers; [ + ajs124 + savtrip + ]; pkgConfigModules = [ # configure_pkg_config() calls for these are unconditional "libwebp" From 7901d8a6cf82aaa56fb3cda297376a65b578a634 Mon Sep 17 00:00:00 2001 From: Sav Tripodi Date: Tue, 24 Mar 2026 11:57:10 +0100 Subject: [PATCH 32/80] gh: add maintainer savtrip --- pkgs/by-name/gh/gh/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix index e66bc2b85a03..af8512eaaf00 100644 --- a/pkgs/by-name/gh/gh/package.nix +++ b/pkgs/by-name/gh/gh/package.nix @@ -63,6 +63,7 @@ buildGo126Module (finalAttrs: { maintainers = with lib.maintainers; [ mdaniels5757 zowoq + savtrip ]; }; }) From 699b828909abd4b0b0aa32ed85acf173a0760fcf Mon Sep 17 00:00:00 2001 From: Sav Tripodi Date: Tue, 24 Mar 2026 12:02:23 +0100 Subject: [PATCH 33/80] sqlitebrowser: add maintainer savtrip --- pkgs/by-name/sq/sqlitebrowser/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/sq/sqlitebrowser/package.nix b/pkgs/by-name/sq/sqlitebrowser/package.nix index b4f18bf67981..8cf6b67850d2 100644 --- a/pkgs/by-name/sq/sqlitebrowser/package.nix +++ b/pkgs/by-name/sq/sqlitebrowser/package.nix @@ -87,7 +87,10 @@ stdenv.mkDerivation (finalAttrs: { mainProgram = "sqlitebrowser"; homepage = "https://sqlitebrowser.org/"; license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ peterhoeg ]; + maintainers = with lib.maintainers; [ + peterhoeg + savtrip + ]; platforms = lib.platforms.unix; }; }) From 775082198fdc833b513aa341deb0eb4f46d39832 Mon Sep 17 00:00:00 2001 From: Pratham Patel Date: Tue, 24 Mar 2026 16:45:43 +0530 Subject: [PATCH 34/80] nixos/tests: remove broken entry for removed test This test was removed in 7a131bebe7a5 ("nixseparatedebuginfod: remove") but the entry in `nixos/all-tests.nix` wasn't removed. --- nixos/tests/all-tests.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 638afcb5f721..2086f7045b56 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1126,7 +1126,6 @@ in nixpkgs-config-allow-unfree-packages-and-predicate = pkgs.callPackage ../../pkgs/stdenv/generic/check-meta-test.nix { }; - nixseparatedebuginfod = runTest ./nixseparatedebuginfod.nix; nixseparatedebuginfod2 = runTest ./nixseparatedebuginfod2.nix; node-red = runTest ./node-red.nix; nohang = runTest ./nohang.nix; From 4c7577dd9491626c418a167abab17f1735aa3345 Mon Sep 17 00:00:00 2001 From: cinereal Date: Sat, 21 Mar 2026 19:00:05 +0100 Subject: [PATCH 35/80] lib.options: reflect `emptyValue`-based option `default`s in documentation Signed-off-by: cinereal --- lib/options.nix | 15 ++++++++++----- lib/tests/misc.nix | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/lib/options.nix b/lib/options.nix index c348491f0457..0cda30fc3544 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -589,11 +589,16 @@ rec { renderOptionValue opt.example ); } - // optionalAttrs (opt ? defaultText || opt ? default) { - default = builtins.addErrorContext "while evaluating the ${ - if opt ? defaultText then "defaultText" else "default value" - } of option `${name}`" (renderOptionValue (opt.defaultText or opt.default)); - } + // + optionalAttrs (opt ? defaultText || opt ? default || ((opt.type or { }).emptyValue or { }) ? value) + { + default = + builtins.addErrorContext + "while evaluating the ${ + if opt ? defaultText then "defaultText" else "default value" + } of option `${name}`" + (renderOptionValue (opt.defaultText or opt.default or opt.type.emptyValue.value)); + } // optionalAttrs (opt ? relatedPackages && opt.relatedPackages != null) { inherit (opt) relatedPackages; }; diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index d4bdc344deb9..f1a11cd7e6fb 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -3393,6 +3393,44 @@ runTests { ]; }; + testEmptyValueOption = { + expr = + let + module = + { lib, ... }: + { + options = { + "empty-value" = lib.mkOption { + type = lib.mkOptionType { + name = "propagate-empty-value-to-default"; + emptyValue.value = 2; + }; + }; + }; + }; + eval = evalModules { + modules = [ module ]; + }; + in + filter (o: o.name == "empty-value") (optionAttrSetToDocList eval.options); + expected = [ + { + declarations = [ ]; + default = { + _type = "literalExpression"; + text = "2"; + }; + description = null; + internal = false; + loc = [ "empty-value" ]; + name = "empty-value"; + readOnly = false; + type = "propagate-empty-value-to-default"; + visible = true; + } + ]; + }; + testDocOptionVisiblity = { expr = let From a49dd3c60d784bbdea635dbbd50acd832533e7fe Mon Sep 17 00:00:00 2001 From: Tom Hunze Date: Tue, 24 Mar 2026 14:06:07 +0100 Subject: [PATCH 36/80] terminusdb: fix fetchCargoVendor path #387337 changed the directory layout of `cargoDeps` such that the vendored dependencies are split by dependency source (e.g., `source-git-0`, `source-git-1`, `source-registry-0`). --- pkgs/by-name/te/terminusdb/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/te/terminusdb/package.nix b/pkgs/by-name/te/terminusdb/package.nix index 0ad90475818a..535b866c13fb 100644 --- a/pkgs/by-name/te/terminusdb/package.nix +++ b/pkgs/by-name/te/terminusdb/package.nix @@ -97,7 +97,7 @@ stdenv.mkDerivation (finalAttrs: { # Fix MAKEFLAGS order in vendored tikv-jemalloc-sys # TODO: remove when tikv-jemalloc-sys 0.6.2+ is released # equivalent to https://github.com/tikv/jemallocator/pull/152 - substituteInPlace $cargoDepsCopy/tikv-jemalloc-sys-*/build.rs \ + substituteInPlace $cargoDepsCopy/*/tikv-jemalloc-sys-*/build.rs \ --replace-fail 'format!("{orig_makeflags} {makeflags}")' \ 'format!("{makeflags} {orig_makeflags}")' ''; From 748721806cdf2f253e7acd13b10d4279e23f217c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Mar 2026 13:46:43 +0000 Subject: [PATCH 37/80] filebeat8: 8.19.10 -> 8.19.13 --- pkgs/by-name/fi/filebeat8/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/fi/filebeat8/package.nix b/pkgs/by-name/fi/filebeat8/package.nix index 5e7bcbff49c5..72db913dcf73 100644 --- a/pkgs/by-name/fi/filebeat8/package.nix +++ b/pkgs/by-name/fi/filebeat8/package.nix @@ -8,18 +8,18 @@ buildGoModule (finalAttrs: { pname = "filebeat"; - version = "8.19.10"; + version = "8.19.13"; src = fetchFromGitHub { owner = "elastic"; repo = "beats"; tag = "v${finalAttrs.version}"; - hash = "sha256-Ky1oWqQXIjno14ZBfxR1FoXEkSn1kScdQQTyGDRvMTo="; + hash = "sha256-KUbGtQW0GsMmEQPQA5DJtxMt+5pNs0LdQHr66e8sW/I="; }; proxyVendor = true; # darwin/linux hash mismatch - vendorHash = "sha256-b4W10tGAoxW1oAfmQqM8x0JOi0BD1WBYB2sUVl/hLHY="; + vendorHash = "sha256-eZuqIOLNMnFBkZocYP1OCtny5DOPl+k2Hym51rqVQPA="; subPackages = [ "filebeat" ]; From e0eb7c4c8395d9525b78512cec51e7fa15dab0c7 Mon Sep 17 00:00:00 2001 From: 2kybe3 Date: Tue, 24 Mar 2026 16:17:22 +0100 Subject: [PATCH 38/80] just: 1.47.1 -> 1.48.0 --- .../ju/just/fix-just-path-in-tests.patch | 20 ------------------- pkgs/by-name/ju/just/package.nix | 10 +++------- 2 files changed, 3 insertions(+), 27 deletions(-) delete mode 100644 pkgs/by-name/ju/just/fix-just-path-in-tests.patch diff --git a/pkgs/by-name/ju/just/fix-just-path-in-tests.patch b/pkgs/by-name/ju/just/fix-just-path-in-tests.patch deleted file mode 100644 index 63587ebc698a..000000000000 --- a/pkgs/by-name/ju/just/fix-just-path-in-tests.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/tests/completions/just.bash b/tests/completions/just.bash -index 6d5c12c..13bff87 100755 ---- a/tests/completions/just.bash -+++ b/tests/completions/just.bash -@@ -17,11 +17,13 @@ reply_equals() { - fi - } - -+just() { -+ cargo run -- "$@" -+} -+ - # --- Initial Setup --- - source "$1" - cd tests/completions --cargo build --PATH="$(git rev-parse --show-toplevel)/target/debug:$PATH" - exit_code=0 - - # --- Tests --- diff --git a/pkgs/by-name/ju/just/package.nix b/pkgs/by-name/ju/just/package.nix index f34216b76d66..22a87c26f2c8 100644 --- a/pkgs/by-name/ju/just/package.nix +++ b/pkgs/by-name/ju/just/package.nix @@ -17,7 +17,7 @@ withDocumentation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform, }: let - version = "1.47.1"; + version = "1.48.0"; in rustPlatform.buildRustPackage { inherit version; @@ -34,10 +34,10 @@ rustPlatform.buildRustPackage { owner = "casey"; repo = "just"; tag = version; - hash = "sha256-HGrUiPe4vVYNISovTb9PZt8s6xCUg+OWkrp8dPm9tWg="; + hash = "sha256-U/o9MyT/DMybfV/LHi50KL7sh6ZqJ6rvqAY5pzlJAA8="; }; - cargoHash = "sha256-ZRcYVvodaQmQtBGnkTIOI3PXC6YQ1kqycm6Xh/MwIqA="; + cargoHash = "sha256-1cSk7dGuh5ZX4XrYgOvqM89e54o8yrr13VpTtdFbtEA="; nativeBuildInputs = lib.optionals (installShellCompletions || installManPages) [ installShellFiles ] @@ -66,10 +66,6 @@ rustPlatform.buildRustPackage { patchShebangs tests ''; - patches = [ - ./fix-just-path-in-tests.patch - ]; - cargoBuildFlags = [ "--package=just" ] From 7403e8509bbe8f569bbd9ae3f83f35dbda864a7c Mon Sep 17 00:00:00 2001 From: linsui <36977733+linsui@users.noreply.github.com> Date: Wed, 18 Mar 2026 16:00:34 +0800 Subject: [PATCH 39/80] python3Packages.premailer: init at 3.10.0 --- .../python-modules/premailer/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/premailer/default.nix diff --git a/pkgs/development/python-modules/premailer/default.nix b/pkgs/development/python-modules/premailer/default.nix new file mode 100644 index 000000000000..9e67be6eeee6 --- /dev/null +++ b/pkgs/development/python-modules/premailer/default.nix @@ -0,0 +1,44 @@ +{ + buildPythonPackage, + fetchFromGitHub, + setuptools, + lxml, + cssselect, + cssutils, + requests, + cachetools, + lib, +}: + +buildPythonPackage { + pname = "premailer"; + version = "3.10.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "peterbe"; + repo = "premailer"; + rev = "f4ded0b9701c4985e7ff5c5beda83324c264ea62"; + hash = "sha256-8ALdpR3aIDg0wP+JYCPY1f7mEJgdJm8xlLlgGpa0Sa4="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + lxml + cssselect + cssutils + requests + cachetools + ]; + + pythonImportsCheck = [ "premailer" ]; + + meta = { + changelog = "https://github.com/peterbe/premailer/blob/master/CHANGES.rst"; + description = "Turns CSS blocks into style attributes"; + homepage = "https://github.com/peterbe/premailer"; + license = lib.licenses.bsd3; + maintainers = [ lib.maintainers.linsui ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bffdd977ba0f..0fa42d48b274 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12785,6 +12785,8 @@ self: super: with self; { preggy = callPackage ../development/python-modules/preggy { }; + premailer = callPackage ../development/python-modules/premailer { }; + preprocess-cancellation = callPackage ../development/python-modules/preprocess-cancellation { }; presenterm-export = callPackage ../development/python-modules/presenterm-export { }; From 1c8fe0d2fa643c809b02e4bf1b545c9a78ef2086 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Mar 2026 16:08:25 +0000 Subject: [PATCH 40/80] vscode-extensions.prettier.prettier-vscode: 12.3.0 -> 12.4.0 --- .../vscode/extensions/prettier.prettier-vscode/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix index 0a25104eb2b0..37535f13c86e 100644 --- a/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/prettier.prettier-vscode/default.nix @@ -16,19 +16,19 @@ let vsix = stdenv.mkDerivation (finalAttrs: { name = "prettier-vscode-${finalAttrs.version}.vsix"; pname = "prettier-vscode-vsix"; - version = "12.3.0"; + version = "12.4.0"; src = fetchFromGitHub { owner = "prettier"; repo = "prettier-vscode"; tag = "v${finalAttrs.version}"; - hash = "sha256-a6BBWd+K8boLw+0j6etT/KHmdScLr6mBG7T5pslilTo="; + hash = "sha256-N++WB0CvqYQTRg3SQFf9QJrwSJXtUd7z/kvWXQqOSC4="; }; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-npm-deps"; inherit (finalAttrs) src; - hash = "sha256-itl/OXjL6co3smccRwRbuGM427YzBsYh2BvkEc+oX5Y="; + hash = "sha256-vktxhQA2a+D9Nr4vhbmGCnNdGzt0U89K50g0SgiV5SE="; }; buildInputs = lib.optionals stdenv.isLinux [ From 24fcf3fbe23cce1ea7b75b2c507ecc599ab97268 Mon Sep 17 00:00:00 2001 From: linsui <36977733+linsui@users.noreply.github.com> Date: Wed, 18 Mar 2026 16:00:56 +0800 Subject: [PATCH 41/80] slobdict: 1.0.0 -> 1.2.0 --- pkgs/by-name/sl/slobdict/package.nix | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sl/slobdict/package.nix b/pkgs/by-name/sl/slobdict/package.nix index 50aa85b78213..3bd9099dea35 100644 --- a/pkgs/by-name/sl/slobdict/package.nix +++ b/pkgs/by-name/sl/slobdict/package.nix @@ -1,5 +1,6 @@ { lib, + stdenv, blueprint-compiler, meson, ninja, @@ -17,7 +18,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "slobdict"; - version = "1.0.0"; + version = "1.2.0"; pyproject = false; # built with meson @@ -25,11 +26,12 @@ python3Packages.buildPythonApplication (finalAttrs: { owner = "MuntashirAkon"; repo = "SlobDict"; tag = finalAttrs.version; - hash = "sha256-V6EmEpxUMZUN9lHSNs4nZBZI2QNxUUWWODukm01lYxY="; + hash = "sha256-4u0VqaPDpyflWkN119IOVqKxpsskou3ou1dqpuRSaHI="; }; nativeBuildInputs = [ blueprint-compiler + glib gobject-introspection meson ninja @@ -62,13 +64,28 @@ python3Packages.buildPythonApplication (finalAttrs: { pymorphy3 # python-romkan-ng not packaged xxhash + + # Deps for cli mode + pygments + rich + premailer + cssutils + markdownify ]; # Prevent double wrapping, let the Python wrapper use the args in preFixup. dontWrapGApps = true; + postBuild = '' + glib-compile-schemas --strict ../gnome-extension/slobdict@muntashir.dev/schemas + ''; + postInstall = '' chmod +x $out/bin/slobdict + + mkdir -p $out/share/gnome-shell/extensions/slobdict@muntashir.dev + cp -r ../gnome-extension/slobdict@muntashir.dev/schemas $out/share/gnome-shell/extensions/slobdict@muntashir.dev + cp ../gnome-extension/slobdict@muntashir.dev/{extension.js,metadata.json} $out/share/gnome-shell/extensions/slobdict@muntashir.dev ''; preFixup = '' @@ -77,6 +94,11 @@ python3Packages.buildPythonApplication (finalAttrs: { strictDeps = true; + passthru = { + extensionPortalSlug = "slobdict"; + extensionUuid = "slobdict@muntashir.dev"; + }; + meta = { homepage = "https://github.com/MuntashirAkon/SlobDict"; description = "Modern, lightweight GTK 4 dictionary app"; From 241322f1addcc3d6d5aeef0ae4c01aeb3a9ec97a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Mar 2026 19:53:53 +0000 Subject: [PATCH 42/80] s7: 11.7-unstable-2026-03-14 -> 11.7-unstable-2026-03-24 --- pkgs/by-name/s7/s7/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/s7/s7/package.nix b/pkgs/by-name/s7/s7/package.nix index aa446dccc044..dc16844a1664 100644 --- a/pkgs/by-name/s7/s7/package.nix +++ b/pkgs/by-name/s7/s7/package.nix @@ -26,14 +26,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "s7"; - version = "11.7-unstable-2026-03-14"; + version = "11.7-unstable-2026-03-24"; src = fetchFromGitLab { domain = "cm-gitlab.stanford.edu"; owner = "bil"; repo = "s7"; - rev = "18e645b614e053482a8721a0c84c4621586a1676"; - hash = "sha256-8FGb12BSKZkx9oKg2D2udP7j4V9ZLAhVtWICIDSp7v0="; + rev = "cd2667b03715dde80c0188ee117d1853b8c2a05f"; + hash = "sha256-1+b8yM8JkHRn8b/BsETf5sLWGBN0QSdzQ31NH6Hni0U="; }; buildInputs = From fdf86312069db2c1a7ff40b04b8cd247d38fe63c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Mar 2026 21:01:14 +0000 Subject: [PATCH 43/80] aocl-utils: 5.2 -> 5.2.2 --- pkgs/by-name/ao/aocl-utils/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ao/aocl-utils/package.nix b/pkgs/by-name/ao/aocl-utils/package.nix index 61c990f59b23..5e4c827ecfda 100644 --- a/pkgs/by-name/ao/aocl-utils/package.nix +++ b/pkgs/by-name/ao/aocl-utils/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "aocl-utils"; - version = "5.2"; + version = "5.2.2"; src = fetchFromGitHub { owner = "amd"; repo = "aocl-utils"; tag = finalAttrs.version; - hash = "sha256-wPnKfPbkW9ILu1YgyymKmg5gZj0l0cWio3/JTXtbylA="; + hash = "sha256-grEuYM+Ss4pQQ12S5uOV27ocVHzYuLK+e70Jm5u8fuI="; }; patches = [ ./pkg-config.patch ]; From df60d92c6435bcc9f25d59907c459389a09f6898 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Mar 2026 23:20:13 +0000 Subject: [PATCH 44/80] python3Packages.langgraph: 1.1.2 -> 1.1.3 --- pkgs/development/python-modules/langgraph/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/langgraph/default.nix b/pkgs/development/python-modules/langgraph/default.nix index d74488efb3a9..c362b90cdf0f 100644 --- a/pkgs/development/python-modules/langgraph/default.nix +++ b/pkgs/development/python-modules/langgraph/default.nix @@ -41,14 +41,14 @@ }: buildPythonPackage (finalAttrs: { pname = "langgraph"; - version = "1.1.2"; + version = "1.1.3"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = finalAttrs.version; - hash = "sha256-Dbzyp9Tl6VaLoWDnLk5UCiYnWFcZM3kljv8EdB1IEAI="; + hash = "sha256-J8QqbzJe5tW11Nuio2uFAJk2EZIL1LNGIbJn7TZvlaA="; }; postgresqlTestSetupPost = '' From e2b1ae52ce8aeb48f2b3d0c9e493bfa6436dd90d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 00:34:12 +0000 Subject: [PATCH 45/80] cargo-lock: 11.0.0 -> 11.0.1 --- pkgs/by-name/ca/cargo-lock/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-lock/package.nix b/pkgs/by-name/ca/cargo-lock/package.nix index 4057181239de..7a242d8a4b47 100644 --- a/pkgs/by-name/ca/cargo-lock/package.nix +++ b/pkgs/by-name/ca/cargo-lock/package.nix @@ -6,14 +6,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-lock"; - version = "11.0.0"; + version = "11.0.1"; src = fetchCrate { inherit (finalAttrs) pname version; - hash = "sha256-Gz459c2IWD19RGBg2TyHbI/VNCelha+R0FeNkAaHksU="; + hash = "sha256-l8B98ycfC17vUY29BbFoucGeAn8mapchCvjdMCNhKqc="; }; - cargoHash = "sha256-Kw1LWu/DYfeuf5aMaNslnDyEoaRj0J+yxWs7sKHyWlU="; + cargoHash = "sha256-l76udCsgloW5tZ8TgNMOT47un2Epun0B3UjaHCWdZjE="; buildFeatures = [ "cli" ]; From f88f610128a5586b9849a173b72841da2e7c9c7e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 02:22:57 +0000 Subject: [PATCH 46/80] rembg: 2.0.73 -> 2.0.74 --- pkgs/development/python-modules/rembg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rembg/default.nix b/pkgs/development/python-modules/rembg/default.nix index 3a4caf7f93f9..4c1bd229c843 100644 --- a/pkgs/development/python-modules/rembg/default.nix +++ b/pkgs/development/python-modules/rembg/default.nix @@ -46,14 +46,14 @@ let in buildPythonPackage (finalAttrs: { pname = "rembg"; - version = "2.0.73"; + version = "2.0.74"; pyproject = true; src = fetchFromGitHub { owner = "danielgatis"; repo = "rembg"; tag = "v${finalAttrs.version}"; - hash = "sha256-J7xE/GAcebw9URhVagbWLNfnFxkiMbfq1nP6Kkk9754="; + hash = "sha256-bCwteS0OJThIAIXxWjzol33p+EH1Gy+CBjKNDwcH7p8="; }; env.POETRY_DYNAMIC_VERSIONING_BYPASS = finalAttrs.version; From ea1260b4426ad21e30f356e83e99d1824070023c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 02:33:35 +0000 Subject: [PATCH 47/80] temporal: 1.30.1 -> 1.30.2 --- pkgs/by-name/te/temporal/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/temporal/package.nix b/pkgs/by-name/te/temporal/package.nix index 08d1fd6fad88..282295ed9bbe 100644 --- a/pkgs/by-name/te/temporal/package.nix +++ b/pkgs/by-name/te/temporal/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "temporal"; - version = "1.30.1"; + version = "1.30.2"; src = fetchFromGitHub { owner = "temporalio"; repo = "temporal"; tag = "v${finalAttrs.version}"; - hash = "sha256-pmgQkvWjwwaErKnj/nn73qTeYqIMsHi0lyrY6c1+o/0="; + hash = "sha256-Rk1H07UqLr/GLIT4VW4eC3SezYPAZPxlC4TTpZm/F9Q="; }; - vendorHash = "sha256-pZrMwud23xq8uA+lDO6Va8iH+AUsoBLestqsB2yRBFw="; + vendorHash = "sha256-YJbovD2woypOiYfn9axO8lshIg/6gO9Sa8a3DIt8QFg="; overrideModAttrs = old: { # netdb.go allows /etc/protocols and /etc/services to not exist and happily proceeds, but it panic()s if they exist but return permission denied. From 4852eb87ca59667808f85c7c5c03b2c413cd503e Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Wed, 25 Mar 2026 10:57:56 +0800 Subject: [PATCH 48/80] uv: 0.11.0 -> 0.11.1 --- pkgs/by-name/uv/uv/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index aec0a495afa0..7e20e3ea241a 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.11.0"; + version = "0.11.1"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-brKoPk7Wr5QKgJmcUy54zocahbtI1nSnire4o2HAUOU="; + hash = "sha256-KZESEU54kD68JqcJwsF5FLvNtgRfV6CHJ7OnSUr2M3s="; }; - cargoHash = "sha256-/wWYnsffHWhpDVD3VIybKImmFye5FxeU5h1qXuqNbpc="; + cargoHash = "sha256-Qf+u7GdFgTH3Qi0c0MySv54IUeh1Dtf0EMQ5/Ty65G8="; buildInputs = [ rust-jemalloc-sys From 896fbc48f84795229ddbb460dd6ef3dcc50faf10 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 03:48:39 +0000 Subject: [PATCH 49/80] pi-coding-agent: 0.58.3 -> 0.62.0 --- pkgs/by-name/pi/pi-coding-agent/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pi/pi-coding-agent/package.nix b/pkgs/by-name/pi/pi-coding-agent/package.nix index de44ccb6e0c7..1b630f142b59 100644 --- a/pkgs/by-name/pi/pi-coding-agent/package.nix +++ b/pkgs/by-name/pi/pi-coding-agent/package.nix @@ -11,16 +11,16 @@ }: buildNpmPackage (finalAttrs: { pname = "pi-coding-agent"; - version = "0.58.3"; + version = "0.62.0"; src = fetchFromGitHub { owner = "badlogic"; repo = "pi-mono"; tag = "v${finalAttrs.version}"; - hash = "sha256-3GrE60n+EY5G50iRrbH7R74e+LQIy1M9+huZTp0ZTns="; + hash = "sha256-nUK7R9kPkULg8eP9lwyqUpzPGRJeSRv3mDgBkHacf8I="; }; - npmDepsHash = "sha256-EC5fXZTtBTRkYXLg5p4xWE/ghi2iw30XwnSqJs/PT8I="; + npmDepsHash = "sha256-mzFtHU3xGFZxIaQ1XTkYLmQ4UCcn9HhPVfNJ0DHi7Ps="; npmWorkspace = "packages/coding-agent"; From 187386d4ec6a6bba5b8744039e1678264a99dd16 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 03:49:31 +0000 Subject: [PATCH 50/80] python3Packages.lastversion: 3.6.9 -> 3.6.10 --- pkgs/development/python-modules/lastversion/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/lastversion/default.nix b/pkgs/development/python-modules/lastversion/default.nix index f7a893dc8692..2caa6f5d5313 100644 --- a/pkgs/development/python-modules/lastversion/default.nix +++ b/pkgs/development/python-modules/lastversion/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "lastversion"; - version = "3.6.9"; + version = "3.6.10"; pyproject = true; src = fetchFromGitHub { owner = "dvershinin"; repo = "lastversion"; tag = "v${version}"; - hash = "sha256-NyNa9x2sJqx65sntchWnpnyJiluDIUxxGMRIimH4SIs="; + hash = "sha256-nWhIV8aDug3B/lSwjzIqhvszJILR5w9qM2tJ6li9dJs="; }; build-system = [ setuptools ]; From 13ef650efa9ae919b6121b13ba3f31937df0e13c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 04:21:38 +0000 Subject: [PATCH 51/80] nfs-ganesha: 9.8 -> 9.9 --- pkgs/by-name/nf/nfs-ganesha/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/nf/nfs-ganesha/package.nix b/pkgs/by-name/nf/nfs-ganesha/package.nix index 6704a7e1202a..ab6cd71b7aa8 100644 --- a/pkgs/by-name/nf/nfs-ganesha/package.nix +++ b/pkgs/by-name/nf/nfs-ganesha/package.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "nfs-ganesha"; - version = "9.8"; + version = "9.9"; outputs = [ "out" @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "nfs-ganesha"; repo = "nfs-ganesha"; tag = "V${finalAttrs.version}"; - hash = "sha256-os0juaxJGOB1Ugh+7MvK0Gg11PSKkesCq6TgaFR+sDE="; + hash = "sha256-yr9rXdW1rNiYt3bc1Rj4mdQTx9SZX6kp7RbdODR1ck0="; }; patches = lib.optional useDbus ./allow-bypassing-dbus-pkg-config-test.patch; From e1e711ec17aa76510c5ab422ed7dd248d3cd33ec Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 25 Mar 2026 09:30:39 +0300 Subject: [PATCH 52/80] nixos/qbittorrent: just copy the config file in ourselves tmpfiles won't replace existing files, so we have to DIY it. Fixes #503103. --- nixos/modules/services/torrent/qbittorrent.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/torrent/qbittorrent.nix b/nixos/modules/services/torrent/qbittorrent.nix index 8ecfd98fde65..8c17fafc74b5 100644 --- a/nixos/modules/services/torrent/qbittorrent.nix +++ b/nixos/modules/services/torrent/qbittorrent.nix @@ -154,11 +154,6 @@ in mode = "755"; inherit (cfg) user group; }; - "${cfg.profileDir}/qBittorrent/config/qBittorrent.conf"."C+" = mkIf (cfg.serverConfig != { }) { - mode = "600"; - inherit (cfg) user group; - argument = toString configFile; - }; }; }; services.qbittorrent = { @@ -176,6 +171,12 @@ in Type = "simple"; User = cfg.user; Group = cfg.group; + + # the config file has to be writable, so we have to do this weird dance + ExecStartPre = lib.mkIf (cfg.serverConfig != { }) '' + ${pkgs.coreutils}/bin/install -Dm600 ${configFile} "${cfg.profileDir}/qBittorrent/config/qBittorrent.conf" + ''; + ExecStart = utils.escapeSystemdExecArgs ( [ (getExe cfg.package) From 5823d87ebb73fea151c659a5e6ef29130e8ea12b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 06:33:16 +0000 Subject: [PATCH 53/80] gridtracker2: 2.260111.0 -> 2.260323.0 --- pkgs/by-name/gr/gridtracker2/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gr/gridtracker2/package.nix b/pkgs/by-name/gr/gridtracker2/package.nix index 71dda41083d4..aba9890cff20 100644 --- a/pkgs/by-name/gr/gridtracker2/package.nix +++ b/pkgs/by-name/gr/gridtracker2/package.nix @@ -11,16 +11,16 @@ }: buildNpmPackage (finalAttrs: { pname = "gridtracker2"; - version = "2.260111.0"; + version = "2.260323.0"; src = fetchFromGitLab { owner = "gridtracker.org"; repo = "gridtracker2"; tag = "v${finalAttrs.version}"; - hash = "sha256-LcaIOzCMtJxeMs7kEqTYmgMlrV62+HOXmG5wk67NUoE="; + hash = "sha256-3DUbKG7bMR2VpJPPsLNRLzYaStv5iTanECAT6DHMExo="; }; - npmDepsHash = "sha256-8bhOfLLsNSK+/mXku5ukLr65bfk+RwC3SyOGRHndqVQ="; + npmDepsHash = "sha256-dJmrNP2AwIaQaCq0guG+OTogfcL8f97MAp6N7HAw5z8="; nativeBuildInputs = [ makeBinaryWrapper From fac6b47817ae60a8b70808254862d124238b5c58 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 06:41:31 +0000 Subject: [PATCH 54/80] python3Packages.pysrdaligateway: 0.20.3 -> 0.20.4 --- pkgs/development/python-modules/pysrdaligateway/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pysrdaligateway/default.nix b/pkgs/development/python-modules/pysrdaligateway/default.nix index 57b148571b87..350f8bf7fe22 100644 --- a/pkgs/development/python-modules/pysrdaligateway/default.nix +++ b/pkgs/development/python-modules/pysrdaligateway/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pysrdaligateway"; - version = "0.20.3"; + version = "0.20.4"; pyproject = true; src = fetchFromGitHub { owner = "maginawin"; repo = "PySrDaliGateway"; tag = "v${version}"; - hash = "sha256-D98hT87xcLxwOKHgd0M4wIdQIrojxYhtEFlw3hkE2FI="; + hash = "sha256-VHNrlvtSDG66beeKule8OqJ03itmdnu+d2qSqSqd6SE="; }; build-system = [ setuptools ]; From d8fb4221b7bd4a406026e9a349d57e383408daaf Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 5 Feb 2026 15:16:22 +0300 Subject: [PATCH 55/80] kseexpr: 4.0.4.0 -> 6.0.0.0, switch to Qt6 --- pkgs/by-name/ks/kseexpr/package.nix | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/ks/kseexpr/package.nix b/pkgs/by-name/ks/kseexpr/package.nix index fafad3921687..ab98cde58b09 100644 --- a/pkgs/by-name/ks/kseexpr/package.nix +++ b/pkgs/by-name/ks/kseexpr/package.nix @@ -3,39 +3,41 @@ stdenv, fetchFromGitLab, cmake, - extra-cmake-modules, - qt5, - libsForQt5, + qt6, + kdePackages, bison, flex, - llvm, }: stdenv.mkDerivation (finalAttrs: { pname = "kseexpr"; - version = "4.0.4.0"; + version = "6.0.0.0"; src = fetchFromGitLab { domain = "invent.kde.org"; owner = "graphics"; repo = "kseexpr"; rev = "v${finalAttrs.version}"; - hash = "sha256-XjFGAN7kK2b0bLouYG3OhajhOQk4AgC4EQRzseccGCE="; + hash = "sha256-Z3CjQdKHeZ/6He43qVYQj8Fo0y88v/ldJJD8bPYOaEo="; }; + patches = [ # see https://github.com/NixOS/nixpkgs/issues/144170 ./cmake_libdir.patch ]; + nativeBuildInputs = [ cmake - extra-cmake-modules - qt5.wrapQtAppsHook + kdePackages.extra-cmake-modules ]; + + dontWrapQtApps = true; + buildInputs = [ bison flex - libsForQt5.ki18n - llvm - qt5.qtbase + kdePackages.ki18n + qt6.qtbase + qt6.qttools ]; meta = { From 96275e218802ff6dc03d72f97482f2a7b9a98f7f Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 9 Feb 2026 14:36:28 +0300 Subject: [PATCH 56/80] krita-unwrapped: 5.2.15 -> 6.0.0, switch to Qt6 --- pkgs/by-name/kr/krita-unwrapped/package.nix | 46 ++++++++------------- 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/pkgs/by-name/kr/krita-unwrapped/package.nix b/pkgs/by-name/kr/krita-unwrapped/package.nix index b354e813bce2..94685a4c48dd 100644 --- a/pkgs/by-name/kr/krita-unwrapped/package.nix +++ b/pkgs/by-name/kr/krita-unwrapped/package.nix @@ -4,10 +4,8 @@ boost, cmake, curl, - eigen, + eigen_5, exiv2, - extra-cmake-modules, - fetchpatch, fetchurl, fftw, fribidi, @@ -24,7 +22,8 @@ libjxl, libmypaint, libraw, - libsForQt5, + qt6, + kdePackages, libunibreak, libwebp, opencolorio, @@ -39,34 +38,25 @@ stdenv.mkDerivation (finalAttrs: { pname = "krita-unwrapped"; - version = "5.2.15"; + version = "6.0.0"; src = fetchurl { url = "mirror://kde/stable/krita/${finalAttrs.version}/krita-${finalAttrs.version}.tar.gz"; - hash = "sha256-m5T4Qh2XZ8KU3vWY+xBwfd5usje67KJZBmn7DUuQOzk="; + hash = "sha256-kytodhJvfGKeQn7j0BIwDIKGsFoYQnc1S0FK9kGg8e0="; }; - patches = [ - # Fixes build with SIP 6.8 - (fetchpatch { - name = "bump-SIP-ABI-version-to-12.8.patch"; - url = "https://invent.kde.org/graphics/krita/-/commit/2d71c47661d43a4e3c1ab0c27803de980bdf2bb2.diff"; - hash = "sha256-U3E44nj4vra++PJV20h4YHjES78kgrJtr4ktNeQfOdA="; - }) - ]; - nativeBuildInputs = [ cmake - extra-cmake-modules + kdePackages.extra-cmake-modules pkg-config python3Packages.sip - libsForQt5.wrapQtAppsHook + qt6.wrapQtAppsHook ]; buildInputs = [ boost libraw fftw - eigen + eigen_5 exiv2 fribidi lcms2 @@ -90,9 +80,12 @@ stdenv.mkDerivation (finalAttrs: { libwebp SDL2 zug - python3Packages.pyqt5 + python3Packages.pyqt6 + + qt6.qtmultimedia + qt6.qttools ] - ++ (with libsForQt5; [ + ++ (with kdePackages; [ breeze-icons karchive kcompletion @@ -108,16 +101,10 @@ stdenv.mkDerivation (finalAttrs: { kwindowsystem mlt poppler - qtmultimedia - qtx11extras quazip - - # TODO: reenable libkdcraw when migrating to Qt6, see #430298 - # libkdcraw + libkdcraw ]); - env.NIX_CFLAGS_COMPILE = toString (lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy"); - # Krita runs custom python scripts in CMake with custom PYTHONPATH which krita determined in their CMake script. # Patch the PYTHONPATH so python scripts can import sip successfully. postPatch = @@ -143,8 +130,9 @@ stdenv.mkDerivation (finalAttrs: { cmakeBuildType = "RelWithDebInfo"; cmakeFlags = [ - "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings" - "-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings" + "-DBUILD_WITH_QT6=ON" + "-DALLOW_UNSTABLE=QT6" + "-DENABLE_UPDATERS=OFF" "-DBUILD_KRITA_QT_DESIGNER_PLUGINS=ON" ]; From 56569b288102c059e7a6822b2de80210879ca7a2 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 5 Feb 2026 15:17:11 +0300 Subject: [PATCH 57/80] krita-plugin-gmic: 3.6.4.1 -> 3.7.4.1, switch to Qt6 --- pkgs/by-name/kr/krita-plugin-gmic/package.nix | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/kr/krita-plugin-gmic/package.nix b/pkgs/by-name/kr/krita-plugin-gmic/package.nix index e3f5d92c781f..714b068c025f 100644 --- a/pkgs/by-name/kr/krita-plugin-gmic/package.nix +++ b/pkgs/by-name/kr/krita-plugin-gmic/package.nix @@ -1,23 +1,27 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, cmake, - extra-cmake-modules, + curl, fftw, krita-unwrapped, - libsForQt5, + kdePackages, + qt6, }: stdenv.mkDerivation (finalAttrs: { pname = "krita-plugin-gmic"; - version = "3.6.4.1"; + version = "3.7.4.1"; - src = fetchurl { - url = "https://files.kde.org/krita/build/dependencies/gmic-${finalAttrs.version}.tar.gz"; - hash = "sha256-prbGkwFWC+LqK1WDqOwZvX5Q5LQal3dFUXzpILwF+v4="; + src = fetchFromGitHub { + owner = "vanyossi"; + repo = "gmic"; + tag = "v${finalAttrs.version}"; + hash = "sha256-xyln60z9r4spPtN3r2+3a1e5yzd8+B7d9UAR3VsRZ78="; }; - sourceRoot = "gmic-v${finalAttrs.version}/gmic-qt"; + + sourceRoot = "${finalAttrs.src.name}/gmic-qt"; dontWrapQtApps = true; postPatch = '' @@ -28,14 +32,16 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake - extra-cmake-modules - libsForQt5.qttools + kdePackages.extra-cmake-modules + qt6.qttools ]; buildInputs = [ + curl fftw krita-unwrapped - libsForQt5.kcoreaddons + kdePackages.kcoreaddons + qt6.qtbase ]; strictDeps = true; From dd67b3ef6fd5de32cc01f50edc3336fbbfa06919 Mon Sep 17 00:00:00 2001 From: K900 Date: Thu, 5 Feb 2026 15:17:26 +0300 Subject: [PATCH 58/80] krita: remove unused qt5 reference --- pkgs/by-name/kr/krita/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/kr/krita/package.nix b/pkgs/by-name/kr/krita/package.nix index 53a447010169..6dc47408d0b4 100644 --- a/pkgs/by-name/kr/krita/package.nix +++ b/pkgs/by-name/kr/krita/package.nix @@ -1,6 +1,4 @@ { - lib, - libsForQt5, symlinkJoin, krita-plugin-gmic, binaryPlugins ? [ From 2929b242b3a20c6ae148ffd8436ecfbc56f1c29f Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 25 Mar 2026 09:50:09 +0300 Subject: [PATCH 59/80] Revert "grub2,grub2_{efi,ieee1275,light,pvgrub_image,xen,xen_pvh}: migrate to by-name" --- pkgs/by-name/gr/grub2_efi/package.nix | 7 ----- pkgs/by-name/gr/grub2_ieee1275/package.nix | 7 ----- pkgs/by-name/gr/grub2_light/package.nix | 7 ----- .../by-name/gr/grub2_pvgrub_image/package.nix | 7 ----- pkgs/by-name/gr/grub2_xen/package.nix | 7 ----- pkgs/by-name/gr/grub2_xen_pvh/package.nix | 7 ----- .../misc/grub}/add-hidden-menu-entries.patch | 0 .../misc/grub/default.nix} | 0 .../misc/grub}/fix-bash-completion.patch | 0 pkgs/top-level/all-packages.nix | 26 +++++++++++++++++++ 10 files changed, 26 insertions(+), 42 deletions(-) delete mode 100644 pkgs/by-name/gr/grub2_efi/package.nix delete mode 100644 pkgs/by-name/gr/grub2_ieee1275/package.nix delete mode 100644 pkgs/by-name/gr/grub2_light/package.nix delete mode 100644 pkgs/by-name/gr/grub2_pvgrub_image/package.nix delete mode 100644 pkgs/by-name/gr/grub2_xen/package.nix delete mode 100644 pkgs/by-name/gr/grub2_xen_pvh/package.nix rename pkgs/{by-name/gr/grub2 => tools/misc/grub}/add-hidden-menu-entries.patch (100%) rename pkgs/{by-name/gr/grub2/package.nix => tools/misc/grub/default.nix} (100%) rename pkgs/{by-name/gr/grub2 => tools/misc/grub}/fix-bash-completion.patch (100%) diff --git a/pkgs/by-name/gr/grub2_efi/package.nix b/pkgs/by-name/gr/grub2_efi/package.nix deleted file mode 100644 index 20c46f1dda7c..000000000000 --- a/pkgs/by-name/gr/grub2_efi/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - grub2, -}: - -grub2.override { - efiSupport = true; -} diff --git a/pkgs/by-name/gr/grub2_ieee1275/package.nix b/pkgs/by-name/gr/grub2_ieee1275/package.nix deleted file mode 100644 index d23c9a3c27fa..000000000000 --- a/pkgs/by-name/gr/grub2_ieee1275/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - grub2, -}: - -grub2.override { - ieee1275Support = true; -} diff --git a/pkgs/by-name/gr/grub2_light/package.nix b/pkgs/by-name/gr/grub2_light/package.nix deleted file mode 100644 index b397c8f7ad72..000000000000 --- a/pkgs/by-name/gr/grub2_light/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - grub2, -}: - -grub2.override { - zfsSupport = false; -} diff --git a/pkgs/by-name/gr/grub2_pvgrub_image/package.nix b/pkgs/by-name/gr/grub2_pvgrub_image/package.nix deleted file mode 100644 index 032dfb81f0d7..000000000000 --- a/pkgs/by-name/gr/grub2_pvgrub_image/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - grub2_pvhgrub_image, -}: - -grub2_pvhgrub_image.override { - grubPlatform = "xen"; -} diff --git a/pkgs/by-name/gr/grub2_xen/package.nix b/pkgs/by-name/gr/grub2_xen/package.nix deleted file mode 100644 index 6f369bbcf131..000000000000 --- a/pkgs/by-name/gr/grub2_xen/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - grub2, -}: - -grub2.override { - xenSupport = true; -} diff --git a/pkgs/by-name/gr/grub2_xen_pvh/package.nix b/pkgs/by-name/gr/grub2_xen_pvh/package.nix deleted file mode 100644 index 8f8744c975fc..000000000000 --- a/pkgs/by-name/gr/grub2_xen_pvh/package.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - grub2, -}: - -grub2.override { - xenPvhSupport = true; -} diff --git a/pkgs/by-name/gr/grub2/add-hidden-menu-entries.patch b/pkgs/tools/misc/grub/add-hidden-menu-entries.patch similarity index 100% rename from pkgs/by-name/gr/grub2/add-hidden-menu-entries.patch rename to pkgs/tools/misc/grub/add-hidden-menu-entries.patch diff --git a/pkgs/by-name/gr/grub2/package.nix b/pkgs/tools/misc/grub/default.nix similarity index 100% rename from pkgs/by-name/gr/grub2/package.nix rename to pkgs/tools/misc/grub/default.nix diff --git a/pkgs/by-name/gr/grub2/fix-bash-completion.patch b/pkgs/tools/misc/grub/fix-bash-completion.patch similarity index 100% rename from pkgs/by-name/gr/grub2/fix-bash-completion.patch rename to pkgs/tools/misc/grub/fix-bash-completion.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e9a2174b37bd..13bbd539c786 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2520,6 +2520,32 @@ with pkgs; withXorg = false; }; + grub2 = callPackage ../tools/misc/grub/default.nix { }; + + grub2_efi = grub2.override { + efiSupport = true; + }; + + grub2_ieee1275 = grub2.override { + ieee1275Support = true; + }; + + grub2_light = grub2.override { + zfsSupport = false; + }; + + grub2_xen = grub2.override { + xenSupport = true; + }; + + grub2_xen_pvh = grub2.override { + xenPvhSupport = true; + }; + + grub2_pvgrub_image = grub2_pvhgrub_image.override { + grubPlatform = "xen"; + }; + gruut = with python3.pkgs; toPythonApplication gruut; gruut-ipa = with python3.pkgs; toPythonApplication gruut-ipa; From 43378be022c0b926ef7cbddec3156761a9c93273 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 25 Mar 2026 09:56:06 +0300 Subject: [PATCH 60/80] lasuite-meet-frontend: 1.11.0 -> 1.12.0 Diff: https://github.com/suitenumerique/meet/compare/v1.11.0...v1.12.0 Changelog: https://github.com/suitenumerique/meet/blob/v1.12.0/CHANGELOG.md --- pkgs/by-name/la/lasuite-meet-frontend/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/la/lasuite-meet-frontend/package.nix b/pkgs/by-name/la/lasuite-meet-frontend/package.nix index 11b12b988244..f48816866ab8 100644 --- a/pkgs/by-name/la/lasuite-meet-frontend/package.nix +++ b/pkgs/by-name/la/lasuite-meet-frontend/package.nix @@ -7,13 +7,13 @@ buildNpmPackage rec { pname = "lasuite-meet-frontend"; - version = "1.11.0"; + version = "1.12.0"; src = fetchFromGitHub { owner = "suitenumerique"; repo = "meet"; tag = "v${version}"; - hash = "sha256-CvpGDfdK1+EJ+Tj9NLrfRfK4VpJVcDqezVJL6ZVdOQ8="; + hash = "sha256-xm9NhsoM4ggLdtULfiUqJkB41n8q6eS8g4Q/zBaKRbs="; }; sourceRoot = "source/src/frontend"; @@ -21,7 +21,7 @@ buildNpmPackage rec { npmDeps = fetchNpmDeps { inherit version src; sourceRoot = "source/src/frontend"; - hash = "sha256-/JvAnfqaWHc91T5NhqEJGcqLMbSJmnGmReGjrqc+Chw="; + hash = "sha256-HobRnbl7fJJ2F0YuA3eyI0R0eW9FveGyqosj0F+Q73I="; }; buildPhase = '' From 00cd194f78ddfba65d02c60a8ec50c472503e034 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 25 Mar 2026 09:57:27 +0300 Subject: [PATCH 61/80] lasuite-meet: 1.11.0 -> 1.12.0 Diff: https://github.com/suitenumerique/meet/compare/v1.11.0...v1.12.0 Changelog: https://github.com/suitenumerique/meet/blob/v1.12.0/CHANGELOG.md --- pkgs/by-name/la/lasuite-meet/gh1199.patch | 32 ----------------------- pkgs/by-name/la/lasuite-meet/package.nix | 8 ++---- 2 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 pkgs/by-name/la/lasuite-meet/gh1199.patch diff --git a/pkgs/by-name/la/lasuite-meet/gh1199.patch b/pkgs/by-name/la/lasuite-meet/gh1199.patch deleted file mode 100644 index 8545a1f6d108..000000000000 --- a/pkgs/by-name/la/lasuite-meet/gh1199.patch +++ /dev/null @@ -1,32 +0,0 @@ -From cacd75fc0aeba7cf1733193c28c6118e2c249999 Mon Sep 17 00:00:00 2001 -From: Martin Weinelt -Date: Tue, 24 Mar 2026 16:07:00 +0100 -Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(backend):=20fix=20module=20inclusi?= - =?UTF-8?q?on=20with=20uv-build?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -After migrating to uv-build only the module matching the project name was -included in sdist/wheel packages. Without a src layout additional modules -need to be tracked manually to ship them in built packages. ---- - pyproject.toml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pyproject.toml b/pyproject.toml -index 1f7757146..4a04e995d 100644 ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -90,6 +90,11 @@ dev = [ - ] - - [tool.uv.build-backend] -+module-name = [ -+ "core", -+ "demo", -+ "meet" -+] - module-root = "" - source-exclude = [ - "**/tests/**", diff --git a/pkgs/by-name/la/lasuite-meet/package.nix b/pkgs/by-name/la/lasuite-meet/package.nix index 3dc1aa9547ee..6c66b61c6540 100644 --- a/pkgs/by-name/la/lasuite-meet/package.nix +++ b/pkgs/by-name/la/lasuite-meet/package.nix @@ -13,14 +13,14 @@ in python.pkgs.buildPythonApplication rec { pname = "lasuite-meet"; - version = "1.11.0"; + version = "1.12.0"; pyproject = true; src = fetchFromGitHub { owner = "suitenumerique"; repo = "meet"; tag = "v${version}"; - hash = "sha256-CvpGDfdK1+EJ+Tj9NLrfRfK4VpJVcDqezVJL6ZVdOQ8="; + hash = "sha256-xm9NhsoM4ggLdtULfiUqJkB41n8q6eS8g4Q/zBaKRbs="; }; sourceRoot = "source/src/backend"; @@ -28,10 +28,6 @@ python.pkgs.buildPythonApplication rec { patches = [ # Support configuration throught environment variables for SECURE_* ./secure_settings.patch - # Fix module inclusion after switching to uv-build - # https://github.com/suitenumerique/meet/pull/1199 - ./gh1199.patch - ]; postPatch = '' From abacfb285e39d0b11865960f84c7206f9b360517 Mon Sep 17 00:00:00 2001 From: Misaka13514 Date: Wed, 25 Mar 2026 16:28:45 +0800 Subject: [PATCH 62/80] ida-free: 9.2 -> 9.3 --- pkgs/by-name/id/ida-free/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/id/ida-free/package.nix b/pkgs/by-name/id/ida-free/package.nix index d5a6d0f3aebb..d0d65d92672f 100644 --- a/pkgs/by-name/id/ida-free/package.nix +++ b/pkgs/by-name/id/ida-free/package.nix @@ -34,12 +34,12 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "ida-free"; - version = "9.2"; + version = "9.3"; src = requireFile { name = "ida-free-pc_${lib.replaceStrings [ "." ] [ "" ] finalAttrs.version}_x64linux.run"; url = "https://my.hex-rays.com/dashboard/download-center/installers/release/${finalAttrs.version}/ida-free"; - hash = "sha256-CQm9phkqLXhht4UQxooKmhmiGuW3lV8RIJuDrm52aNw="; + hash = "sha256-eSX6/nT9joEMs48qFq92qT8Qr25B38xy4FxxaPIOwLw="; }; nativeBuildInputs = [ @@ -88,6 +88,7 @@ stdenv.mkDerivation (finalAttrs: { "libQt6Network.so.6" "libQt6EglFSDeviceIntegration.so.6" "libQt6WaylandEglClientHwIntegration.so.6" + "libQt6WaylandCompositor.so.6" "libQt6WlShellIntegration.so.6" ]; From f4dc51dbea0f4b7df91b2d50119f7eff5f95f88b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 08:42:57 +0000 Subject: [PATCH 63/80] ersatztv: 26.2.0 -> 26.3.0 --- pkgs/by-name/er/ersatztv/nuget-deps.json | 37 ++++++++++++++---------- pkgs/by-name/er/ersatztv/package.nix | 4 +-- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/er/ersatztv/nuget-deps.json b/pkgs/by-name/er/ersatztv/nuget-deps.json index 41929470955a..7cdcbf90ba7f 100644 --- a/pkgs/by-name/er/ersatztv/nuget-deps.json +++ b/pkgs/by-name/er/ersatztv/nuget-deps.json @@ -126,13 +126,13 @@ }, { "pname": "Elastic.Clients.Elasticsearch", - "version": "9.2.2", - "hash": "sha256-5wzN9SoLH/zU3WScLryzfVmk078TpO/5EY2iUflB5IY=" + "version": "9.3.0", + "hash": "sha256-h2ExrklcO6tVFV2ecxnGXA4uY9D1tiQ3sqmmN7wrRoM=" }, { "pname": "Elastic.Transport", - "version": "0.10.1", - "hash": "sha256-eX9H+arnuPnIzOFQvle4pdDTTpZ0Rw+t7rJ1ohlxbh0=" + "version": "0.10.3", + "hash": "sha256-9AcJAN3uP3wywsm52caPg6Qgt4iZS0nhjIl2bb0hlx8=" }, { "pname": "ExtendedNumerics.BigDecimal", @@ -161,8 +161,13 @@ }, { "pname": "Hardware.Info", - "version": "101.1.0.1", - "hash": "sha256-R2kxac5rNQ9mEsD3OR5LmXiBP4uakmcRBrHazzs+EMU=" + "version": "101.1.1.1", + "hash": "sha256-JPd8B7bvz8jMtVXsJH9mwW+wd71cTtC7O3RyRbrR0X4=" + }, + { + "pname": "Hardware.Info.Core", + "version": "101.1.1.1", + "hash": "sha256-NHPzZZ286Wtj4Fv53gLUf5duqSx6GhXtyufbwe49nyM=" }, { "pname": "HarfBuzzSharp", @@ -191,8 +196,8 @@ }, { "pname": "HtmlSanitizer", - "version": "9.0.889", - "hash": "sha256-0U6K39KkovhpFujGNhjUCv5/JCbESCiiAJbvHCYi9f0=" + "version": "9.0.892", + "hash": "sha256-8ZVGH6RJ3QjgmwSGdVadS2pd3Tgq9IHXW7VHOX0slH0=" }, { "pname": "Humanizer.Core", @@ -216,18 +221,18 @@ }, { "pname": "Json.More.Net", - "version": "2.2.0", - "hash": "sha256-Hb4ylcT/6bLHVADpnjoBJKyTR3cU+WjYlblO79A+SSU=" + "version": "3.0.0", + "hash": "sha256-zlJb9Wi9ErFqN8FYphzog9paPxI3DBVnoTL0c12Bfks=" }, { "pname": "JsonPointer.Net", - "version": "6.0.1", - "hash": "sha256-iIvOHz6jjTsGnXyxOK71z2F8gh21TmQS4A9SLB4u93A=" + "version": "7.0.0", + "hash": "sha256-/1GemlLhmYnz/HDQTpEEaGxaofoFkFUMNNPInKhAvM4=" }, { "pname": "JsonSchema.Net", - "version": "8.0.5", - "hash": "sha256-zFSEmqckius1fa/vxhJEMoNC/RU25kF3AStyMwxHCPM=" + "version": "9.0.0", + "hash": "sha256-N5bp2OswdoQI5fe/ZaKmk7LwL9woJ5cV4D43IUeFJ3E=" }, { "pname": "LanguageExt.Core", @@ -1046,8 +1051,8 @@ }, { "pname": "Scalar.AspNetCore", - "version": "2.12.10", - "hash": "sha256-KBFz5usTX/6AZnzMwkcEA7TbMksEmR9K7g9a/t0AKXs=" + "version": "2.12.32", + "hash": "sha256-0EZAD43NpMpX3P8quuctTLSGBxwjxxbyfQodo0e+nII=" }, { "pname": "Scriban.Signed", diff --git a/pkgs/by-name/er/ersatztv/package.nix b/pkgs/by-name/er/ersatztv/package.nix index 3687ea3e6e3a..8022bb8c3932 100644 --- a/pkgs/by-name/er/ersatztv/package.nix +++ b/pkgs/by-name/er/ersatztv/package.nix @@ -9,13 +9,13 @@ buildDotnetModule rec { pname = "ersatztv"; - version = "26.2.0"; + version = "26.3.0"; src = fetchFromGitHub { owner = "ErsatzTV"; repo = "ErsatzTV"; rev = "v${version}"; - sha256 = "sha256-Ld0IdPMfkEdNfEy75bFzAUNhGdG/B8CSUVZKokcxReg="; + sha256 = "sha256-yFGMkTI+IQs3WTOQzxhqj3ownENsIzLqrDr3nWurzfA="; }; postPatch = '' # Remove config of development tools that don't end up in From 6a002aa044c5517765ff11504774c244d9778c8d Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Wed, 25 Mar 2026 08:34:15 +0100 Subject: [PATCH 64/80] gitlab: 18.9.2 -> 18.9.3 https://about.gitlab.com/releases/2026/03/25/patch-release-gitlab-18-10-1-released/ --- pkgs/by-name/gi/gitaly/package.nix | 6 +++--- pkgs/by-name/gi/gitlab-pages/package.nix | 4 ++-- pkgs/by-name/gi/gitlab/data.json | 14 +++++++------- .../by-name/gi/gitlab/gitlab-workhorse/default.nix | 2 +- pkgs/by-name/gi/gitlab/rubyEnv/Gemfile | 4 ++-- pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock | 12 ++++++------ pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix | 12 ++++++------ 7 files changed, 27 insertions(+), 27 deletions(-) diff --git a/pkgs/by-name/gi/gitaly/package.nix b/pkgs/by-name/gi/gitaly/package.nix index a8649a6870a9..24bb497e4920 100644 --- a/pkgs/by-name/gi/gitaly/package.nix +++ b/pkgs/by-name/gi/gitaly/package.nix @@ -7,7 +7,7 @@ }: let - version = "18.9.2"; + version = "18.9.3"; package_version = "v${lib.versions.major version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; @@ -21,10 +21,10 @@ let owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - hash = "sha256-qCOcy7JOR7OeY5uPZE6xo6NRi5OhVKdl5Q4n36S5XyI="; + hash = "sha256-k8byGIGG1sDGTX27QV1N/q9tnae3DY9v47XTv0+Mf9Y="; }; - vendorHash = "sha256-lK0fNBhDGFOZ+sCm1VuvN4CpAb0nAkUl4yL/30tZKBY="; + vendorHash = "sha256-1lMOJLtwnu0drrGHuhCiZSNdpyBjLed4uV4B2NSJPJQ="; ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" diff --git a/pkgs/by-name/gi/gitlab-pages/package.nix b/pkgs/by-name/gi/gitlab-pages/package.nix index 005dcd1e8464..7ea28f397b79 100644 --- a/pkgs/by-name/gi/gitlab-pages/package.nix +++ b/pkgs/by-name/gi/gitlab-pages/package.nix @@ -6,14 +6,14 @@ buildGoModule (finalAttrs: { pname = "gitlab-pages"; - version = "18.9.2"; + version = "18.9.3"; # nixpkgs-update: no auto update src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-pages"; rev = "v${finalAttrs.version}"; - hash = "sha256-sOJNwCcIAuLywL9r9c0RUqqtLbNmaaJ6ZMVBLQgus8k="; + hash = "sha256-UHQ0M/WTmjmfwFHJM8BJ5XPZs+x4A8uh4FNBp+3x0ew="; }; vendorHash = "sha256-AZIv/CU01OAbn5faE4EkSuDCakYzDjRprB5ox5tIlck="; diff --git a/pkgs/by-name/gi/gitlab/data.json b/pkgs/by-name/gi/gitlab/data.json index 60b6e2d50087..a7258b500585 100644 --- a/pkgs/by-name/gi/gitlab/data.json +++ b/pkgs/by-name/gi/gitlab/data.json @@ -1,17 +1,17 @@ { - "version": "18.9.2", - "repo_hash": "sha256-0ax0wYOEiL9Vl/cw9DaoyhROehZjrtv7KIKmOWrrJY8=", + "version": "18.9.3", + "repo_hash": "sha256-xApcwmDca3cK/nlDeS+DDh4MklmXxGnO/3+79WIC9Uk=", "yarn_hash": "sha256-uXyUJS4+YIRB3pPezVbj5u1fytOo+/bNR18Kq6FAKSQ=", "frontend_islands_yarn_hash": "sha256-OkCoiyL9FFJcWcNUbeRSBGGSauYIm7l+yxNfA0CsNEQ=", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v18.9.2-ee", + "rev": "v18.9.3-ee", "passthru": { - "GITALY_SERVER_VERSION": "18.9.2", - "GITLAB_KAS_VERSION": "18.9.2", - "GITLAB_PAGES_VERSION": "18.9.2", + "GITALY_SERVER_VERSION": "18.9.3", + "GITLAB_KAS_VERSION": "18.9.3", + "GITLAB_PAGES_VERSION": "18.9.3", "GITLAB_SHELL_VERSION": "14.45.6", "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.13.3", - "GITLAB_WORKHORSE_VERSION": "18.9.2" + "GITLAB_WORKHORSE_VERSION": "18.9.3" } } diff --git a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix index ca942fc4ec80..aa710b26ed5f 100644 --- a/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix @@ -10,7 +10,7 @@ in buildGoModule (finalAttrs: { pname = "gitlab-workhorse"; - version = "18.9.2"; + version = "18.9.3"; # nixpkgs-update: no auto update src = fetchFromGitLab { diff --git a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile index 7800772abb14..23ea1555aa40 100644 --- a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile +++ b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile @@ -695,8 +695,8 @@ gem 'valid_email', '~> 0.1', feature_category: :shared # rubocop:todo Gemfile/Mi gem 'jsonb_accessor', '~> 1.4', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 gem 'json', '~> 2.13.0', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 gem 'json_schemer', '~> 2.3.0', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 -gem 'oj', '~> 3.16.0', '>=3.16.10', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 -gem 'oj-introspect', '~> 0.8', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 +gem 'oj', '~> 3.16.0', '>=3.16.16', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 +gem 'oj-introspect', '~> 0.9', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 gem 'multi_json', '~> 1.17.0', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 gem 'yajl-ruby', '~> 1.4.3', require: 'yajl', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839 diff --git a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock index ce669010fea7..55d6ecf8c196 100644 --- a/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock +++ b/pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock @@ -1292,11 +1292,11 @@ GEM plist (~> 3.1) train-core wmi-lite (~> 1.0) - oj (3.16.13) + oj (3.16.16) bigdecimal (>= 3.0) ostruct (>= 0.2) - oj-introspect (0.8.0) - oj (>= 3.16.10) + oj-introspect (0.9.0) + oj (>= 3.16.16) omniauth (2.1.4) hashie (>= 3.4.6) logger @@ -1555,7 +1555,7 @@ GEM pyu-ruby-sasl (0.0.3.3) raabro (1.4.0) racc (1.8.1) - rack (2.2.21) + rack (2.2.22) rack-accept (0.4.5) rack (>= 0.4) rack-attack (6.8.0) @@ -2308,8 +2308,8 @@ DEPENDENCIES oauth2 (~> 2.0) octokit (~> 9.0) ohai (~> 19.1.16) - oj (~> 3.16.0, >= 3.16.10) - oj-introspect (~> 0.8) + oj (~> 3.16.0, >= 3.16.16) + oj-introspect (~> 0.9) omniauth (~> 2.1.0) omniauth-alicloud (~> 3.0.0) omniauth-atlassian-oauth2 (~> 0.2.0) diff --git a/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix b/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix index 84a0d3dd62f1..b0a2a5f34c8f 100644 --- a/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix +++ b/pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix @@ -5789,10 +5789,10 @@ src: { platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00q33rm7lpfc319pf6him05ak76gfy7i04iiddrz317q7swbq55i"; + sha256 = "0g817hjx1rh4zhvcpb9m6lr6l8yyq3n8vnjm9x1rc5wr51hv6d9n"; type = "gem"; }; - version = "3.16.13"; + version = "3.16.16"; }; oj-introspect = { dependencies = [ "oj" ]; @@ -5800,10 +5800,10 @@ src: { platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0r4jgnw44qvswidfd8fh4s7pkdg34bmmrxn2wn0lhab0klq1bfsw"; + sha256 = "0kw38qahkkbj3pmn89dss1vwbhamc74pww5p5f8371sfcms4kbxp"; type = "gem"; }; - version = "0.8.0"; + version = "0.9.0"; }; omniauth = { dependencies = [ @@ -7105,10 +7105,10 @@ src: { platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fgpa9qm5qgza69fjnagg2alxs2wmj41aq7z4kj5yib50wpzgqhl"; + sha256 = "0hj5yq200wlq1clpdvh44pqwllbxll0k3gjajxnrcn95hxzhpky5"; type = "gem"; }; - version = "2.2.21"; + version = "2.2.22"; }; rack-accept = { dependencies = [ "rack" ]; From 0fcabb4a2cc2f969ac71fe9b2f80bf0f6dc298f4 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Wed, 25 Mar 2026 08:34:15 +0100 Subject: [PATCH 65/80] gitlab-container-registry: 4.37.0 -> 4.39.0 part of the gitlab 18.9.2 -> 18.9.3 bump --- pkgs/by-name/gi/gitlab-container-registry/package.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gi/gitlab-container-registry/package.nix b/pkgs/by-name/gi/gitlab-container-registry/package.nix index 415d68950743..49a9c7bcf156 100644 --- a/pkgs/by-name/gi/gitlab-container-registry/package.nix +++ b/pkgs/by-name/gi/gitlab-container-registry/package.nix @@ -6,7 +6,7 @@ buildGo125Module rec { pname = "gitlab-container-registry"; - version = "4.37.0"; + version = "4.39.0"; rev = "v${version}-gitlab"; # nixpkgs-update: no auto update @@ -14,10 +14,14 @@ buildGo125Module rec { owner = "gitlab-org"; repo = "container-registry"; inherit rev; - hash = "sha256-ZsnmJEzoLSH5bspxTQjOV8EOeQVeFn+rYCl8QqfzGaA="; + hash = "sha256-7dGKV2Pc3OPdM4OZqYjp3B9/s6DHtPvrqcWnWb3wHYw="; }; - vendorHash = "sha256-xUkfcgsw6nRDxq1Tj5Y1CYgnJ7rbCcncB94Aeh9Ek+M="; + vendorHash = "sha256-s08LsgYZTRJm0sWkbEUsmTYGkfb/5PJl9o9ozY1KOms="; + + excludedPackages = [ + "devvm/*" + ]; checkFlags = let From 806ab32612197d607935a6c4f313dfe5462aecb1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 09:16:48 +0000 Subject: [PATCH 66/80] crc: 2.58.0 -> 2.59.0 --- pkgs/by-name/cr/crc/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/cr/crc/package.nix b/pkgs/by-name/cr/crc/package.nix index 425afb4db9f3..e3497b0cd54a 100644 --- a/pkgs/by-name/cr/crc/package.nix +++ b/pkgs/by-name/cr/crc/package.nix @@ -8,16 +8,16 @@ }: let - openShiftVersion = "4.21.0"; - okdVersion = "4.20.0-okd-scos.11"; + openShiftVersion = "4.21.4"; + okdVersion = "4.21.0-okd-scos.5"; microshiftVersion = "4.21.0"; writeKey = "$(MODULEPATH)/pkg/crc/segment.WriteKey=cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp"; - gitCommit = "275f36851d44a1dba8407f960f763b546ba8fc32"; - gitHash = "sha256-M622rTWsz35EVmMm/EyIAYbRFFBvpXYjcNp4HrcFl3o="; + gitCommit = "e90757a62cf73025d22e2bcdc7b04bf5e5e9a0e0"; + gitHash = "sha256-0Rs+kpuiCQzgLKpZ4fkspZEiH/cnkkN3jdObgAK9hGw="; in buildGoModule (finalAttrs: { pname = "crc"; - version = "2.58.0"; + version = "2.59.0"; src = fetchFromGitHub { owner = "crc-org"; From 2e7d15303cd9f208ac698a0ea25c7be056e38c89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 25 Mar 2026 10:16:50 +0100 Subject: [PATCH 67/80] nixos/sd-image: add type and improve postBuildCommands description The option was missing a type declaration. Use types.lines so multiple modules can contribute commands that get merged with newlines. While at it, document the $img shell variable so users do not have to read the module source to discover it. --- nixos/modules/installer/sd-card/sd-image.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/sd-card/sd-image.nix b/nixos/modules/installer/sd-card/sd-image.nix index b3251f9c6e1d..223961228ba5 100644 --- a/nixos/modules/installer/sd-card/sd-image.nix +++ b/nixos/modules/installer/sd-card/sd-image.nix @@ -180,11 +180,16 @@ in }; postBuildCommands = mkOption { + type = types.lines; example = literalExpression "'' dd if=\${pkgs.myBootLoader}/SPL of=$img bs=1024 seek=1 conv=notrunc ''"; default = ""; description = '' - Shell commands to run after the image is built. - Can be used for boards requiring to dd u-boot SPL before actual partitions. + Shell commands to run after the SD image has been assembled. + + The path to the image is available in the {var}`img` shell + variable. This hook is typically used for boards that require + writing a bootloader (such as u-boot SPL) to a fixed offset + before the first partition. ''; }; From 6fec0974dcc3a6a839e6eff42853611a7d70f3d9 Mon Sep 17 00:00:00 2001 From: Tanel Dettenborn Date: Wed, 25 Mar 2026 10:17:09 +0100 Subject: [PATCH 68/80] nixos/sd-image: add preBuildCommands option Allow running shell commands after the root filesystem image has been prepared but before the final SD image is assembled. This is useful for adjusting the rootfs, such as resizing it to a fixed size or injecting additional files, without having to override the entire build derivation. Signed-off-by: Tanel Dettenborn --- nixos/modules/installer/sd-card/sd-image.nix | 29 ++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/nixos/modules/installer/sd-card/sd-image.nix b/nixos/modules/installer/sd-card/sd-image.nix index 223961228ba5..237a96f4e3c6 100644 --- a/nixos/modules/installer/sd-card/sd-image.nix +++ b/nixos/modules/installer/sd-card/sd-image.nix @@ -179,6 +179,33 @@ in ''; }; + preBuildCommands = mkOption { + type = types.lines; + example = literalExpression '' + ''' + if [ ! -w "$root_fs" ]; then + cp --no-preserve=mode "$root_fs" ./root-fs.img + root_fs=./root-fs.img + fi + resize2fs $root_fs 15G + ''' + ''; + default = ""; + description = '' + Shell commands to run after the root filesystem image has been + prepared, but before the final SD image is assembled. + + The path to the root filesystem image is available in the + {var}`root_fs` shell variable. This hook can be used to modify + the rootfs, for example to resize it or inject additional files. + + Note that when {option}`sdImage.compressImage` is disabled, + {var}`root_fs` points to a read-only store path. To modify it, + first copy it to a writable location and update {var}`root_fs` + to point to the copy. + ''; + }; + postBuildCommands = mkOption { type = types.lines; example = literalExpression "'' dd if=\${pkgs.myBootLoader}/SPL of=$img bs=1024 seek=1 conv=notrunc ''"; @@ -289,6 +316,8 @@ in zstd -d --no-progress "${config.sdImage.rootFilesystemImage}" -o $root_fs ''} + ${config.sdImage.preBuildCommands} + # Gap in front of the first partition, in MiB gap=${toString config.sdImage.firmwarePartitionOffset} From a45e90e0963cd283aa64b2e672887bcf7b9af39a Mon Sep 17 00:00:00 2001 From: phaer Date: Wed, 25 Mar 2026 10:52:29 +0100 Subject: [PATCH 69/80] backblaze-b2: relax tabulate version constraint tabulate 0.10.0 is incompatible with the pinned ==0.9.0 requirement, causing a build failure. Tested manually that listing files still works --- pkgs/by-name/ba/backblaze-b2/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ba/backblaze-b2/package.nix b/pkgs/by-name/ba/backblaze-b2/package.nix index 2bd1ddf273a4..c581a11a372e 100644 --- a/pkgs/by-name/ba/backblaze-b2/package.nix +++ b/pkgs/by-name/ba/backblaze-b2/package.nix @@ -42,7 +42,10 @@ python3Packages.buildPythonApplication (finalAttrs: { tqdm ]; - pythonRelaxDeps = [ "docutils" ]; + pythonRelaxDeps = [ + "docutils" + "tabulate" + ]; nativeCheckInputs = with python3Packages; [ backoff From 2f015148dc25d8fed9959091727f738fb1e063b3 Mon Sep 17 00:00:00 2001 From: phaer Date: Wed, 25 Mar 2026 11:01:21 +0100 Subject: [PATCH 70/80] backblaze-b2: add phaer as maintainer --- pkgs/by-name/ba/backblaze-b2/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ba/backblaze-b2/package.nix b/pkgs/by-name/ba/backblaze-b2/package.nix index c581a11a372e..beb32465cae5 100644 --- a/pkgs/by-name/ba/backblaze-b2/package.nix +++ b/pkgs/by-name/ba/backblaze-b2/package.nix @@ -104,6 +104,7 @@ python3Packages.buildPythonApplication (finalAttrs: { meta = { description = "Command-line tool for accessing the Backblaze B2 storage service"; homepage = "https://github.com/Backblaze/B2_Command_Line_Tool"; + maintainers = with lib.maintainers; [ phaer ]; changelog = "https://github.com/Backblaze/B2_Command_Line_Tool/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; mainProgram = "backblaze-b2"; From cbd15794dedf42d6841b16914fca3b0ecd1bfe0c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 10:16:14 +0000 Subject: [PATCH 71/80] terraform-providers.spacelift-io_spacelift: 1.44.0 -> 1.45.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 264dfab916fb..431c939caefc 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1229,13 +1229,13 @@ "vendorHash": "sha256-skswuFKhN4FFpIunbom9rM/FVRJVOFb1WwHeAIaEjn8=" }, "spacelift-io_spacelift": { - "hash": "sha256-W05b6v8OEPLRUzh0w5Wu7bySuaCkrD3Rl9CkomgEyEE=", + "hash": "sha256-HPryfdykq6m9L66z4gC8tb1F4tTHLk9H4UN2/lnNpu4=", "homepage": "https://registry.terraform.io/providers/spacelift-io/spacelift", "owner": "spacelift-io", "repo": "terraform-provider-spacelift", - "rev": "v1.44.0", + "rev": "v1.45.0", "spdx": "MIT", - "vendorHash": "sha256-E9e4+n12uSc12F428D8Oqe0iquTMywAY4DYWhSC+hmk=" + "vendorHash": "sha256-Ub0lqMdCu44UX3LkcjErsxfWdL9C6CxhVKPOn1AAdEc=" }, "splunk-terraform_signalfx": { "hash": "sha256-N9vAa6/FAGQaLFv2GUz4P8vKXR1F8QPFJ+sIaFoNFpw=", From b97b202401bf62e83ff0fb661677333b001d8464 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 25 Mar 2026 10:38:07 +0000 Subject: [PATCH 72/80] linux_testing: 7.0-rc4 -> 7.0-rc5 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 1028c242a000..c9737c389c8b 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,7 +1,7 @@ { "testing": { - "version": "7.0-rc4", - "hash": "sha256:1954j1rlzv3qqmk8a96gvmcwsji5rjdzdm7yhjfs3jyrdahz37pz", + "version": "7.0-rc5", + "hash": "sha256:00q4scz3kyrbd8v23pjdzgmaz9scmxg10cqlfwrrd7xj0hxp3pah", "lts": false }, "6.1": { From ba36626f0c69d054191bcf79acdc78360bca6f66 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 25 Mar 2026 10:38:11 +0000 Subject: [PATCH 73/80] linux_6_19: 6.19.9 -> 6.19.10 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index c9737c389c8b..ef9d7bda0956 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -35,8 +35,8 @@ "lts": true }, "6.19": { - "version": "6.19.9", - "hash": "sha256:1gsmklhqpx5k9wca3gr8j439q8khr9byy7ivxqyr9qqjmyinhq61", + "version": "6.19.10", + "hash": "sha256:072s76238rnf87yhdy15nbxfyq7x3ch7p2v14dq4pq551qd48va6", "lts": false } } From ca4bbc18c935c93c338aebe4b57fb463e0a9e566 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 25 Mar 2026 10:38:13 +0000 Subject: [PATCH 74/80] linux_6_18: 6.18.19 -> 6.18.20 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index ef9d7bda0956..c3802968e6d5 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -30,8 +30,8 @@ "lts": true }, "6.18": { - "version": "6.18.19", - "hash": "sha256:0309xd8ifsy9pa19s8qnsyxkmcqq4z3p16jckjnnhz6h3hkpibza", + "version": "6.18.20", + "hash": "sha256:0lrm76rdlr92kjq3g410qdff9v49mpdf400lmsh7hq74k2ymlyl3", "lts": true }, "6.19": { From 511245f5bf59a7cde396a73fb575d6b78283ac65 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 25 Mar 2026 10:38:15 +0000 Subject: [PATCH 75/80] linux_6_12: 6.12.77 -> 6.12.78 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index c3802968e6d5..712c7e1ef01a 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -25,8 +25,8 @@ "lts": true }, "6.12": { - "version": "6.12.77", - "hash": "sha256:0rzz5hdixa5xmr99gja3xr9nxgpmrpxyg4llmvkl3vyawpmkd21m", + "version": "6.12.78", + "hash": "sha256:0gdgykr4nqk1dzb5ms2m07saxx58zvacpfv8ynhfrv7snjs835vi", "lts": true }, "6.18": { From 26d8b73647e93520af7d0d2356f40f7bd39c281b Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 25 Mar 2026 10:38:17 +0000 Subject: [PATCH 76/80] linux_6_6: 6.6.129 -> 6.6.130 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 712c7e1ef01a..3997dcdb57e5 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -20,8 +20,8 @@ "lts": true }, "6.6": { - "version": "6.6.129", - "hash": "sha256:12j42awg44w97zq8fzifpm300jm9q9ya7qkpn7xbnkr2480qz86a", + "version": "6.6.130", + "hash": "sha256:139480lyi3if8pd2j3yld5a01lk7113kbcn2kxpzyk29p5kslq14", "lts": true }, "6.12": { From 798e8c8aa7d7346fd8e70a6c691df8090ad44535 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 25 Mar 2026 10:38:19 +0000 Subject: [PATCH 77/80] linux_6_1: 6.1.166 -> 6.1.167 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 3997dcdb57e5..8eaa7261baa0 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -5,8 +5,8 @@ "lts": false }, "6.1": { - "version": "6.1.166", - "hash": "sha256:0jcl12gjlfdf9pwqg1m84rzwnrj3grxxgk5blrq8zlaq45sgr3c1", + "version": "6.1.167", + "hash": "sha256:1jwqwp2fg3wdsh9w663rbnbv1rvsvksv1pj4bzns8swp0wy0a618", "lts": true }, "5.15": { From 55a3694ca97d118d8f3431b3103d9a15a249229f Mon Sep 17 00:00:00 2001 From: Defelo Date: Wed, 25 Mar 2026 11:34:13 +0100 Subject: [PATCH 78/80] radicle-job: fetch from `seed.radicle.xyz` --- pkgs/by-name/ra/radicle-job/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ra/radicle-job/package.nix b/pkgs/by-name/ra/radicle-job/package.nix index bbbf3b3de996..8d33bcf3a38e 100644 --- a/pkgs/by-name/ra/radicle-job/package.nix +++ b/pkgs/by-name/ra/radicle-job/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { version = "0.5.1"; src = fetchFromRadicle { - seed = "iris.radicle.xyz"; + seed = "seed.radicle.xyz"; repo = "z2UcCU1LgMshWvXj6hXSDDrwB8q8M"; tag = "releases/v${finalAttrs.version}"; hash = "sha256-1gvOpdgnug46PUD+4LZF8u73L3XpQGMGZyQCvnYvkgE="; @@ -32,8 +32,8 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Create, update, and query Radicle Job Collaborative Objects"; - homepage = "https://app.radicle.xyz/nodes/iris.radicle.xyz/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M"; - changelog = "https://app.radicle.xyz/nodes/iris.radicle.xyz/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M/tree/CHANGELOG.md"; + homepage = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M"; + changelog = "https://app.radicle.xyz/nodes/seed.radicle.xyz/rad:z2UcCU1LgMshWvXj6hXSDDrwB8q8M/tree/CHANGELOG.md"; license = with lib.licenses; [ mit asl20 From fd51a53c9f9dd7491cf919d610e753127171edbe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 00:09:09 +0000 Subject: [PATCH 79/80] radicle-job: 0.5.1 -> 0.5.2 --- pkgs/by-name/ra/radicle-job/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ra/radicle-job/package.nix b/pkgs/by-name/ra/radicle-job/package.nix index 8d33bcf3a38e..b688e421b6af 100644 --- a/pkgs/by-name/ra/radicle-job/package.nix +++ b/pkgs/by-name/ra/radicle-job/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "radicle-job"; - version = "0.5.1"; + version = "0.5.2"; src = fetchFromRadicle { seed = "seed.radicle.xyz"; repo = "z2UcCU1LgMshWvXj6hXSDDrwB8q8M"; tag = "releases/v${finalAttrs.version}"; - hash = "sha256-1gvOpdgnug46PUD+4LZF8u73L3XpQGMGZyQCvnYvkgE="; + hash = "sha256-kFlSig0eiUdw6GHwacNHtuGkuW14CkHkc3okN2ZeTns="; }; - cargoHash = "sha256-nRif/ab+7r9ODuZVXOnYbEDHiipFg91XjezS1OBYYb4="; + cargoHash = "sha256-kZg2X9GXyqr1kj82Pxq6+tjhIXAhOk0vMeU0owSi7gU="; nativeCheckInputs = [ radicle-node From 1078800aae47f8877e7d04d7beef363da24d06ee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Mar 2026 11:04:06 +0000 Subject: [PATCH 80/80] phpstan: 2.1.41 -> 2.1.43 --- pkgs/by-name/ph/phpstan/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ph/phpstan/package.nix b/pkgs/by-name/ph/phpstan/package.nix index 04daf5710983..43a107d7e9ae 100644 --- a/pkgs/by-name/ph/phpstan/package.nix +++ b/pkgs/by-name/ph/phpstan/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "phpstan"; - version = "2.1.41"; + version = "2.1.43"; src = fetchFromGitHub { owner = "phpstan"; repo = "phpstan"; tag = finalAttrs.version; - hash = "sha256-qmexB+JpL9mpWVmTeXmffM+oChdNCRc6be1O+WJcML0="; + hash = "sha256-HIRM73A+pXWUV0gdcGPI4vjEKAYntNUAVqg4iEKx9To="; }; nativeBuildInputs = [