From 2ce153e20d7e5170681c4f9800514bcd86ff1d2e Mon Sep 17 00:00:00 2001 From: whispers Date: Wed, 1 Jul 2026 09:11:00 -0400 Subject: [PATCH 01/43] libfaketime: add patch for gcc 16 gcc 16's unused variable analysis is more advanced than previous versions, and detects that some variables used in tests are unused. upstream patched this away, so we fetch their patch. alternatively, we could pass `-Wno-error=unused-but-set-variable` if that is preferred. --- pkgs/by-name/li/libfaketime/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/li/libfaketime/package.nix b/pkgs/by-name/li/libfaketime/package.nix index d66ac6704ecb..e39ba8807cb7 100644 --- a/pkgs/by-name/li/libfaketime/package.nix +++ b/pkgs/by-name/li/libfaketime/package.nix @@ -28,6 +28,15 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./nix-store-date.patch + + # GCC 16's unused variable analysis is more advanced than previous + # versions, and detects that these variables are unused. + # https://github.com/wolfcw/libfaketime/pull/528 + (fetchpatch { + name = "libfaketime-silence-unused-variable-warning.patch"; + url = "https://github.com/wolfcw/libfaketime/commit/712733e5f01e45372f3160cfdbcfd91520cb093d.patch"; + hash = "sha256-Gu13gFhgvkncj8aowAnSRbHbUCctF5sakbX4uRwdy+A="; + }) ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ (fetchpatch { From 5cc1bf97155c9ff2cf6534473966b5755a273d9e Mon Sep 17 00:00:00 2001 From: whispers Date: Wed, 1 Jul 2026 23:48:10 -0400 Subject: [PATCH 02/43] grub2_efi: apply patch for gcc 16 gcc 16 gains stricter analysis of whether attributes are ignored, leading to build failures when built with -Werror. we could silence the error, but this was fixed in a trivial commit upstream that is obviously correct, so we pull it in: https://cgit.git.savannah.gnu.org/cgit/grub.git/commit/?id=9922ed133c2c754ec9f37198da2b3e3e8a4fd5ff --- pkgs/by-name/gr/grub2/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/gr/grub2/package.nix b/pkgs/by-name/gr/grub2/package.nix index 0fba3264c7c8..0c8a57992686 100644 --- a/pkgs/by-name/gr/grub2/package.nix +++ b/pkgs/by-name/gr/grub2/package.nix @@ -583,6 +583,13 @@ stdenv.mkDerivation rec { url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=ac1512b872af8567b408518a7efa01607a0219ae"; hash = "sha256-deyp6Yatlgv86bYMt7WcWhKg8J6StDPUEy4UPHqJYIc="; }) + # Required to build grub2_efi with GCC 16, or fails with "error: 'regparm' + # attribute ignored [-Werror=attributes]" + (fetchpatch { + name = "gcc16_make_regparm_attribute_more_conditional.patch"; + url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=9922ed133c2c754ec9f37198da2b3e3e8a4fd5ff"; + hash = "sha256-V2vffDxL/qQ14YN5scc3CFPBFBWvkh57dc5/hWd/6F4="; + }) ]; postPatch = From 4a2acc3c769c7a0c92e5d1a3661b0883abea73c0 Mon Sep 17 00:00:00 2001 From: whispers Date: Wed, 1 Jul 2026 23:16:12 -0400 Subject: [PATCH 03/43] toml11: make maybe-uninitialized non-fatal for gcc 16 GCC 16 flags various calls here as if they're uninitialized, but they appear (to me as a non-C++ expert) to be false positives. Accordingly, we make those non-fatal. This fixes the build on GCC 16. --- pkgs/by-name/to/toml11/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/to/toml11/package.nix b/pkgs/by-name/to/toml11/package.nix index dd5924edd489..74b4ec4f1d4e 100644 --- a/pkgs/by-name/to/toml11/package.nix +++ b/pkgs/by-name/to/toml11/package.nix @@ -37,6 +37,11 @@ stdenv.mkDerivation (finalAttrs: { cmake ]; cmakeFlags = [ + # GCC 16 warns that various uses of `fmt` in value.hpp are used + # uninitialized. This may be a true failure, but it does not seem like a + # major concern, so we silence it for now. + # https://github.com/ToruNiina/toml11/issues/313 + (lib.cmakeFeature "CMAKE_CXX_FLAGS" "-Wno-error=maybe-uninitialized") (lib.cmakeBool "TOML11_BUILD_TOML_TESTS" finalAttrs.finalPackage.doCheck) ]; checkInputs = [ From 6b905e28e3d559d714d90081f91c986bc096900d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 8 Jul 2026 00:34:26 +0000 Subject: [PATCH 04/43] scdoc: 1.11.4 -> 1.11.5 --- pkgs/by-name/sc/scdoc/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sc/scdoc/package.nix b/pkgs/by-name/sc/scdoc/package.nix index 9582a863a332..85629dec8123 100644 --- a/pkgs/by-name/sc/scdoc/package.nix +++ b/pkgs/by-name/sc/scdoc/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "scdoc"; - version = "1.11.4"; + version = "1.11.5"; src = fetchFromSourcehut { owner = "~sircmpwn"; repo = "scdoc"; rev = finalAttrs.version; - hash = "sha256-gldCHzLigeLKDFDcE3TYrNOEWoSt/uYIg9aTg6wwW54="; + hash = "sha256-Tjafa7m+YcUTryYHnW2EF0yaXPRc3uNzWdeEucCdEso="; }; outputs = [ From aaee0af229c4c7c5b617e954dcf1df7cba84c478 Mon Sep 17 00:00:00 2001 From: LRFLEW Date: Mon, 13 Jul 2026 22:34:10 -0500 Subject: [PATCH 05/43] nixos-artwork.wallpapers: fix incorrect pname simple-dark-gray-bottom incorrectly used the pname of simple-dark-gray --- pkgs/data/misc/nixos-artwork/wallpapers.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/data/misc/nixos-artwork/wallpapers.nix b/pkgs/data/misc/nixos-artwork/wallpapers.nix index 776b2f5ec02a..800f34163887 100644 --- a/pkgs/data/misc/nixos-artwork/wallpapers.nix +++ b/pkgs/data/misc/nixos-artwork/wallpapers.nix @@ -403,7 +403,7 @@ rec { }; simple-dark-gray-bottom = mkNixBackground { - pname = "simple-dark-gray"; + pname = "simple-dark-gray-bottom"; version = "2018-08-28"; description = "Simple dark gray background for NixOS, specifically bootloaders and graphical login"; src = fetchurl { From bc4d862eba126b12f6849a1bb22fe606f067677b Mon Sep 17 00:00:00 2001 From: LRFLEW Date: Mon, 13 Jul 2026 22:29:58 -0500 Subject: [PATCH 06/43] nixos-artwork.wallpapers: add KDE Plasma 6 support --- pkgs/data/misc/nixos-artwork/wallpapers.nix | 49 +++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/pkgs/data/misc/nixos-artwork/wallpapers.nix b/pkgs/data/misc/nixos-artwork/wallpapers.nix index 800f34163887..c9c1c480a87f 100644 --- a/pkgs/data/misc/nixos-artwork/wallpapers.nix +++ b/pkgs/data/misc/nixos-artwork/wallpapers.nix @@ -11,6 +11,7 @@ let version, src, description, + dimensions, license ? lib.licenses.free, }: @@ -58,6 +59,18 @@ let [Desktop Entry] Name=${pname} X-KDE-PluginInfo-Name=${pname} + _EOF + + # KDE 6 + ln -s $src $out/share/wallpapers/${pname}/contents/images/${dimensions}.png + cat >>$out/share/wallpapers/${pname}/metadata.json <<_EOF + { + "KPlugin": { + "Id": "${pname}", + ${lib.optionalString (builtins.hasAttr "spdxId" license) "\"Licence\": \"${license.spdxId}\","} + "Name": "${pname}" + } + } _EOF runHook postInstall @@ -89,6 +102,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/8957e93c95867faafec7f9988cedddd6837859fa/wallpapers/nix-wallpaper-binary-black.png"; hash = "sha256-mhSh0wz2ntH/kri3PF5ZrFykjjdQLhmlIlDDGFQIYWw="; }; + dimensions = "4096x4096"; license = lib.licenses.cc-by-sa-40; }; @@ -100,6 +114,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/8957e93c95867faafec7f9988cedddd6837859fa/wallpapers/nix-wallpaper-binary-blue.png"; hash = "sha256-oVIRSgool/CsduGingDr0FuJJIkGtfQHXYn0JBI2eho="; }; + dimensions = "4096x4096"; license = lib.licenses.cc-by-sa-40; }; @@ -111,6 +126,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/8957e93c95867faafec7f9988cedddd6837859fa/wallpapers/nix-wallpaper-binary-red.png"; hash = "sha256-18UvtroyuAnluJ3EoLJWJAwN8T83s/ImPtsr5QTqvAA="; }; + dimensions = "4096x4096"; license = lib.licenses.cc-by-sa-40; }; @@ -122,6 +138,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/8957e93c95867faafec7f9988cedddd6837859fa/wallpapers/nix-wallpaper-binary-white.png"; hash = "sha256-imj+OmuhTNxRtE54715wWQUA7pe1f32+q3qi2V37i8U="; }; + dimensions = "4096x4096"; license = lib.licenses.cc-by-sa-40; }; @@ -133,6 +150,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/97444e18b7fe97705e8caedd29ae05e62cb5d4b7/wallpapers/nixos-wallpaper-catppuccin-frappe.png"; hash = "sha256-wtBffKK9rqSJo8+7Wo8OMruRlg091vdroyUZj5mDPfI="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -144,6 +162,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/97444e18b7fe97705e8caedd29ae05e62cb5d4b7/wallpapers/nixos-wallpaper-catppuccin-latte.png"; hash = "sha256-Y6WCwmHOLBStj1D9mcU2082y1fhAFHna01ajfUHxehk="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -155,6 +174,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/97444e18b7fe97705e8caedd29ae05e62cb5d4b7/wallpapers/nixos-wallpaper-catppuccin-macchiato.png"; hash = "sha256-SkXrLbHvBOItJ7+8vW+6iXV+2g0f8bUJf9KcCXYOZF0="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -166,6 +186,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/97444e18b7fe97705e8caedd29ae05e62cb5d4b7/wallpapers/nixos-wallpaper-catppuccin-mocha.png"; hash = "sha256-fmKFYw2gYAYFjOv4lr8IkXPtZfE1+88yKQ4vjEcax1s="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -177,6 +198,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/03c6c20be96c38827037d2238357f2c777ec4aa5/wallpapers/nix-wallpaper-dracula.png"; hash = "sha256-SykeFJXCzkeaxw06np0QkJCK28e0k30PdY8ZDVcQnh4="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -188,6 +210,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/bcdd2770f5f4839fddc9b503e68db2bc3a87ca4d/wallpapers/nix-wallpaper-gear.png"; hash = "sha256-2sT6b49/iClTs9QuUvpmZ5gcIeXI9kebs5IqgQN1RL8="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -201,6 +224,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/3f7695afe75239720a32d6c38df7c9888b5ed581/wallpapers/NixOS-Gradient-grey.png"; hash = "sha256-Tf4Xruf608hpl7YwL4Mq9l9egBOCN+W4KFKnqrgosLE="; }; + dimensions = "2560x1440"; # license not clarified }; @@ -212,6 +236,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/bcdd2770f5f4839fddc9b503e68db2bc3a87ca4d/wallpapers/nix-wallpaper-moonscape.png"; hash = "sha256-AR3W8avHzQLxMNLfD/A1efyZH+vAdTLKllEhJwBl0xc="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -223,6 +248,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-mosaic-blue.png"; hash = "sha256-xZbNK8s3/ooRvyeHGxhcYnnifeGAiAnUjw9EjJTWbLE="; }; + dimensions = "1920x1080"; license = lib.licenses.cc0; }; @@ -234,6 +260,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/da01f68d21ddfdc9f1c6e520c2170871c81f1cf5/wallpapers/nix-wallpaper-nineish.png"; hash = "sha256-EMSD1XQLaqHs0NbLY0lS1oZ4rKznO+h9XOGDS121m9c="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -245,6 +272,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/f07707cecfd89bc1459d5dad76a3a4c5315efba1/wallpapers/nix-wallpaper-nineish-dark-gray.png"; hash = "sha256-nhIUtCy/Hb8UbuxXeL3l3FMausjQrnjTVi1B3GkL9B8="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -256,6 +284,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/f99638d8d1a11d97a99ff7e0e1e7df58c28643ff/wallpapers/nix-wallpaper-nineish-solarized-dark.png"; hash = "sha256-ZBrk9izKvsY4Hzsr7YovocCbkRVgUN9i/y1B5IzOOKo="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -267,6 +296,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/f99638d8d1a11d97a99ff7e0e1e7df58c28643ff/wallpapers/nix-wallpaper-nineish-solarized-light.png"; hash = "sha256-gb5s5ePdw7kuIL3SI8VVhOcLcHu0cHMJJ623vg1kz40="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -278,6 +308,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-frappe-alt.png"; hash = "sha256-ZbtgfBE09FhCTPPCzDlOrSoRUmv1lmhxiNTvHDldF/4="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -289,6 +320,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-frappe.png"; hash = "sha256-/HAtpGwLxjNfJvX5/4YZfM8jPNStaM3gisK8+ImRmQ4="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -300,6 +332,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-latte-alt.png"; hash = "sha256-UyUQ4YQYlJrjoUX6qU6cGWjhA1AnIpQgniQermUtO2w="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -311,6 +344,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-latte.png"; hash = "sha256-+DirQiQ1TUeB+e2AeJD8mWjt0OTWtrqkeqZrVr5v5iY="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -322,6 +356,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-macchiato-alt.png"; hash = "sha256-OUT0SsToRH5Zdd+jOwhr9iVBoVNUKhUkJNBYFDKZGOU="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -333,6 +368,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-macchiato.png"; hash = "sha256-1JWgytxOvI0hwkCk+1hdZqhLB0u5aHEyEcsmlo4kMuw="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -344,6 +380,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-mocha-alt.png"; hash = "sha256-ThDrZIJIyO2DdIW41sV6iYyCNhM89cwHr8l6DAfbXjI="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -355,6 +392,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/33856d7837cb8ba76c4fc9e26f91a659066ee31f/wallpapers/nix-wallpaper-nineish-catppuccin-mocha.png"; hash = "sha256-zlYqSid5Q1L5sUrAcvR+7aN2jImiuoR9gygBRk8x9Wo="; }; + dimensions = "1920x1080"; license = lib.licenses.cc-by-sa-40; }; @@ -366,6 +404,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/bcdd2770f5f4839fddc9b503e68db2bc3a87ca4d/wallpapers/nix-wallpaper-recursive.png"; hash = "sha256-YvFrlysNGMwJ7eMFOoz0KI8AjoPN3ao+AVOgnVZzkFE="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -377,6 +416,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-blue.png"; hash = "sha256-utrcjzfeJoFOpUbFY2eIUNCKy5rjLt57xIoUUssJmdI="; }; + dimensions = "1920x1080"; license = lib.licenses.cc0; }; @@ -388,6 +428,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-dark-gray.png"; hash = "sha256-JaLHdBxwrphKVherDVe5fgh+3zqUtpcwuNbjwrBlAok="; }; + dimensions = "1920x1080"; license = lib.licenses.cc0; }; @@ -399,6 +440,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/9d1f11f652ed5ffe460b6c602fbfe2e7e9a08dff/bootloader/nix-wallpaper-simple-dark-gray_bootloader.png"; hash = "sha256-Sd52CEw/pHmk6Cs+yrM/8wscG9bvYuECylQd27ybRmw="; }; + dimensions = "628x535"; # license not clarified }; @@ -410,6 +452,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/783c38b22de09f6ee33aacc817470a4513392d83/wallpapers/nix-wallpaper-simple-dark-gray_bottom.png"; hash = "sha256-JUyzf9dYRyLQmxJPKptDxXL7yRqAFt5uM0C9crkkEY4="; }; + dimensions = "1920x1080"; # license not clarified }; @@ -421,6 +464,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-light-gray.png"; hash = "sha256-Ylo5H5OrU/t9vwLbfO0OyPIsB/0vS5iUPTt/G3YHzUQ="; }; + dimensions = "1920x1080"; license = lib.licenses.cc0; }; @@ -432,6 +476,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-simple-red.png"; hash = "sha256-WnKjgvnn5Rg4R3xaJQ2mhBHQqCfl9jV6Xx3hEXW+uZk="; }; + dimensions = "1920x1080"; license = lib.licenses.cc0; }; @@ -443,6 +488,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-stripes-logo.png"; hash = "sha256-1MoPwytw8kBiy+Sx70xmHnxMJgqEaOR9YEgQMO6bEjM="; }; + dimensions = "1920x1080"; license = lib.licenses.cc0; }; @@ -454,6 +500,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/766f10e0c93cb1236a85925a089d861b52ed2905/wallpapers/nix-wallpaper-stripes.png"; hash = "sha256-o3GqbFZ/18ScLOlAL6GRy54l8P/U6wUeeK4HtPkZw4Q="; }; + dimensions = "1920x1080"; license = lib.licenses.cc0; }; @@ -465,6 +512,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/bcdd2770f5f4839fddc9b503e68db2bc3a87ca4d/wallpapers/nix-wallpaper-waterfall.png"; hash = "sha256-ULFNUZPU9khDG6rtkMskLe5sYpUcrJVvcFvEkpvXjMM="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; @@ -476,6 +524,7 @@ rec { url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/bcdd2770f5f4839fddc9b503e68db2bc3a87ca4d/wallpapers/nix-wallpaper-watersplash.png"; hash = "sha256-6Gdjzq3hTvUH7GeZmZnf+aOQruFxReUNEryAvJSgycQ="; }; + dimensions = "3840x2160"; license = lib.licenses.cc-by-sa-40; }; From 27ffce9d573933f2931e7061e6e2cea00ca1797d Mon Sep 17 00:00:00 2001 From: klea Date: Tue, 14 Jul 2026 20:11:44 +0000 Subject: [PATCH 07/43] nixos-enter: set pname and version --- pkgs/by-name/ni/nixos-enter/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nixos-enter/package.nix b/pkgs/by-name/ni/nixos-enter/package.nix index 4839b3a34053..44dd978d4fd8 100644 --- a/pkgs/by-name/ni/nixos-enter/package.nix +++ b/pkgs/by-name/ni/nixos-enter/package.nix @@ -6,7 +6,8 @@ util-linuxMinimal, }: replaceVarsWith { - name = "nixos-enter"; + pname = "nixos-enter"; + version = lib.trivial.release; src = ./nixos-enter.sh; replacements = { From 1c34bdfe4cc2374dafefd2454eb39f8e798f2d6c Mon Sep 17 00:00:00 2001 From: klea Date: Tue, 14 Jul 2026 20:27:09 +0000 Subject: [PATCH 08/43] nixos-install: set pname and version --- pkgs/by-name/ni/nixos-install/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nixos-install/package.nix b/pkgs/by-name/ni/nixos-install/package.nix index babc3b14ad65..ae72a5ad270e 100644 --- a/pkgs/by-name/ni/nixos-install/package.nix +++ b/pkgs/by-name/ni/nixos-install/package.nix @@ -9,7 +9,9 @@ nixosTests, }: replaceVarsWith { - name = "nixos-install"; + pname = "nixos-install"; + version = lib.trivial.release; + src = ./nixos-install.sh; replacements = { From 4b309135ab26e150db4679bcd1f5eea6c644e294 Mon Sep 17 00:00:00 2001 From: klea Date: Tue, 14 Jul 2026 21:28:24 +0000 Subject: [PATCH 09/43] nixos-build-vms: set pname and version --- pkgs/by-name/ni/nixos-build-vms/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nixos-build-vms/package.nix b/pkgs/by-name/ni/nixos-build-vms/package.nix index 0de2fe24c7f1..9566848c2cf1 100644 --- a/pkgs/by-name/ni/nixos-build-vms/package.nix +++ b/pkgs/by-name/ni/nixos-build-vms/package.nix @@ -2,9 +2,11 @@ replaceVarsWith, runtimeShell, installShellFiles, + lib, }: replaceVarsWith { - name = "nixos-build-vms"; + pname = "nixos-build-vms"; + version = lib.trivial.release; src = ./nixos-build-vms.sh; From 15f04744d9d1b35d302c9d7e91684a9ccc874d8d Mon Sep 17 00:00:00 2001 From: klea Date: Tue, 14 Jul 2026 21:22:27 +0000 Subject: [PATCH 10/43] nixos-container: set pname and version --- pkgs/by-name/ni/nixos-container/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nixos-container/package.nix b/pkgs/by-name/ni/nixos-container/package.nix index cd6da383696b..41c3b51ae2e3 100644 --- a/pkgs/by-name/ni/nixos-container/package.nix +++ b/pkgs/by-name/ni/nixos-container/package.nix @@ -8,9 +8,11 @@ stateDirectory ? "/var/lib/nixos-containers", nixosTests, path, + lib, }: replaceVarsWith { - name = "nixos-container"; + pname = "nixos-container"; + version = lib.trivial.release; dir = "bin"; isExecutable = true; src = ./nixos-container.pl; From a5f4424afe571e1644b9d299cf46bbd7a1288a21 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Sat, 27 Jun 2026 14:37:05 +0200 Subject: [PATCH 11/43] bind: enable tests, always disable time_test partially --- pkgs/by-name/bi/bind/package.nix | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index 1da6cba11479..89c72de4556d 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -112,30 +112,15 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; strictDeps = true; - doCheck = false; - # TODO: investigate failures; see this and linked discussions: - # https://github.com/NixOS/nixpkgs/pull/192962 - /* - doCheck = with stdenv.hostPlatform; !isStatic && !(isAarch64 && isLinux) - # https://gitlab.isc.org/isc-projects/bind9/-/issues/4269 - && !is32bit; - */ + doCheck = with stdenv.hostPlatform; !isStatic && isLinux; checkTarget = "unit"; checkInputs = [ cmocka - ] - ++ lib.optionals (!stdenv.hostPlatform.isMusl) [ - tzdata ]; - preCheck = - lib.optionalString stdenv.hostPlatform.isMusl '' - # musl doesn't respect TZDIR, skip timezone-related tests - sed -i '/^ISC_TEST_ENTRY(isc_time_formatISO8601L/d' tests/isc/time_test.c - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - # Test timeouts on Darwin - sed -i '/^ISC_TEST_ENTRY(tcpdns_recv_one/d' tests/isc/netmgr_test.c - ''; + preCheck = '' + # skip timezone-related tests, they are flaky inside the nix sandbox + sed -i '/^ISC_TEST_ENTRY(isc_time_formatISO8601L/d' tests/isc/time_test.c + ''; postFixup = '' remove-references-to -t "$out" "$dnsutils/bin/delv" From 3af077a023c39694c0c72d75f3c4e1922873c149 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Sat, 27 Jun 2026 14:37:28 +0200 Subject: [PATCH 12/43] bind: enable structuredAttrs --- pkgs/by-name/bi/bind/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index 89c72de4556d..a1d35167c524 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -111,6 +111,7 @@ stdenv.mkDerivation (finalAttrs: { enableParallelBuilding = true; strictDeps = true; + __structuredAttrs = true; doCheck = with stdenv.hostPlatform; !isStatic && isLinux; checkTarget = "unit"; From dc51fd7311aa5c07ebb050111a3e659d9ccc7287 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Sat, 27 Jun 2026 14:37:49 +0200 Subject: [PATCH 13/43] bind: add bartoostveen as a maintainer --- pkgs/by-name/bi/bind/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index a1d35167c524..9446086b2828 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -154,7 +154,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://downloads.isc.org/isc/bind9/cur/${lib.versions.majorMinor finalAttrs.version}/doc/arm/html/notes.html#notes-for-bind-${ lib.replaceStrings [ "." ] [ "-" ] finalAttrs.version }"; - maintainers = [ ]; + maintainers = with lib.maintainers; [ bartoostveen ]; platforms = lib.platforms.unix; outputsToInstall = [ From d4b42fbc4106dd472f6f028b4aa38c1b0f28350b Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Wed, 22 Jul 2026 13:48:27 +0200 Subject: [PATCH 14/43] bind: 9.20.24 -> 9.20.26 Changelog: https://downloads.isc.org/isc/bind9/cur/9.20/doc/arm/html/notes.html#notes-for-bind-9-20-26 --- pkgs/by-name/bi/bind/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bi/bind/package.nix b/pkgs/by-name/bi/bind/package.nix index 9446086b2828..2b13d020cd6c 100644 --- a/pkgs/by-name/bi/bind/package.nix +++ b/pkgs/by-name/bi/bind/package.nix @@ -30,11 +30,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "bind"; - version = "9.20.24"; + version = "9.20.26"; src = fetchurl { url = "https://downloads.isc.org/isc/bind9/${finalAttrs.version}/bind-${finalAttrs.version}.tar.xz"; - hash = "sha256-mJ/vH8iOpZ0EzYb4VNylpGFqIKmWi83ePBo2aKs2vgg="; + hash = "sha256-VSSN7w+HDExGs95yl46pcmFRMVFmYxiKRWTcodIL81A="; }; outputs = [ From 50ec0c0d9b1bd9c54521f7fb274a1437cc8baa49 Mon Sep 17 00:00:00 2001 From: Peter Bynum Date: Thu, 23 Jul 2026 09:30:59 -0400 Subject: [PATCH 15/43] nixos-test-driver: Drop temporary directory in copy_from_machine --- .../src/test_driver/machine/__init__.py | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/nixos/lib/test-driver/src/test_driver/machine/__init__.py b/nixos/lib/test-driver/src/test_driver/machine/__init__.py index d1f519c803b9..f47d5ce7f7af 100644 --- a/nixos/lib/test-driver/src/test_driver/machine/__init__.py +++ b/nixos/lib/test-driver/src/test_driver/machine/__init__.py @@ -660,25 +660,22 @@ class BaseMachine(ABC): def copy_from_machine(self, source: str, target_dir: str = "") -> None: """Copy a file from the machine (specified by an in-machine source path) to a path relative to `$out`. The file is copied via the `shared_dir` shared among - all the machines (using a temporary directory). + all the machines. """ # Compute the source, target, and intermediate shared file names vm_src = Path(source) - with tempfile.TemporaryDirectory(dir=self.shared_dir) as shared_td: - shared_temp = Path(shared_td) - vm_shared_temp = Path("/tmp/shared") / shared_temp.name - vm_intermediate = vm_shared_temp / vm_src.name - intermediate = shared_temp / vm_src.name - # Copy the file to the shared directory inside machines - self.succeed(make_command(["mkdir", "-p", vm_shared_temp])) - self.succeed(make_command(["cp", "-r", vm_src, vm_intermediate])) - abs_target = self.out_dir / target_dir / vm_src.name - abs_target.parent.mkdir(exist_ok=True, parents=True) - # Copy the file from the shared directory outside machines - if intermediate.is_dir(): - shutil.copytree(intermediate, abs_target) - else: - shutil.copy(intermediate, abs_target) + vm_intermediate = Path("/tmp/shared") / target_dir / vm_src.name + intermediate = self.shared_dir / target_dir / vm_src.name + # Copy the file to the shared directory inside machines + self.succeed(make_command(["mkdir", "-p", vm_intermediate.parent])) + self.succeed(make_command(["cp", "-r", vm_src, vm_intermediate])) + abs_target = self.out_dir / target_dir / vm_src.name + abs_target.parent.mkdir(exist_ok=True, parents=True) + # Copy the file from the shared directory outside machines + if intermediate.is_dir(): + shutil.copytree(intermediate, abs_target) + else: + shutil.copy(intermediate, abs_target) @warnings.deprecated("Use copy_from_machine() instead") def copy_from_vm(self, source: str, target_dir: str = "") -> None: From 9fcb0693b8a6069464cf0bf91b508cd70be6645e Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Wed, 22 Jul 2026 09:55:24 +0200 Subject: [PATCH 16/43] ty: 0.0.61 -> 0.0.63 Changelog: https://github.com/astral-sh/ty/releases/tag/0.0.63 Diff: https://github.com/astral-sh/ty/compare/0.0.61...0.0.63 --- pkgs/by-name/ty/ty/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index 8e76a8c23f7b..b5081a0bf240 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.61"; + version = "0.0.63"; __structuredAttrs = true; src = fetchFromGitHub { @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-wmNYWfIdgNErP8rw7J43IsEyCg8YuQiaPHd34yzH92M="; + hash = "sha256-Y4wTDSLjzjxgYCwrHwnf/2hDfwamgialmWre6ql6jI8="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-9hF5JxwCaARBwKaaNhfOzVL2CAp8EOrJ8nPIFLlkN9g="; + cargoHash = "sha256-dW6GPbGoQ9Roo0GJA6zmFTZG+Fv36o7dKC5mvqaCJsc="; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ rust-jemalloc-sys ]; From 9eb9dda0213c35f21330953a1df6c3ba0eab6965 Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Thu, 23 Jul 2026 22:59:57 +0200 Subject: [PATCH 17/43] ruff: 0.15.22 -> 0.16.0 Changelog: https://github.com/astral-sh/ruff/releases/tag/0.16.0 Diff: https://github.com/astral-sh/ruff/compare/0.15.22...0.16.0 --- 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 866f615d0339..f1fde0a9a966 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.15.22"; + version = "0.16.0"; __structuredAttrs = true; @@ -24,12 +24,12 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-pa42J3M5iwSjfnuatqOOR9DEqzyVtdBbMk6JIRbu12Q="; + hash = "sha256-H9ZcqMzPiu2ACyzlYNStKHAX71u9FCTEYwpKqwJcg/E="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-jDm0pIrq09ETU+djMLsKSFZJzRx0lKSUx6kjJ4hAkvE="; + cargoHash = "sha256-T3bWSLScIXgXXoGaogTF1N+jG0yFhAqxbZxQE12mkR8="; nativeBuildInputs = [ installShellFiles ]; From bffac658435efe9c2b977d07cafaab308846ac5c Mon Sep 17 00:00:00 2001 From: Leon Hubrich Date: Fri, 24 Jul 2026 19:40:23 +0200 Subject: [PATCH 18/43] linux/common-config: enable TCP_AO on >= 6.7 Enables TCP Authentication Option (RFC 5925) support in the kernel. Gated to 6.7+ where the option was introduced. --- pkgs/os-specific/linux/kernel/common-config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index b30adcd27ea4..70b251065dc2 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -303,6 +303,7 @@ let XDP_SOCKETS = yes; XDP_SOCKETS_DIAG = yes; WAN = yes; + TCP_AO = whenAtLeast "6.7" yes; TCP_CONG_ADVANCED = yes; TCP_CONG_CUBIC = yes; # This is the default congestion control algorithm since 2.6.19 # Required by systemd per-cgroup firewalling From 503d46170d6fa1e9dd510c5cc339323055e05e50 Mon Sep 17 00:00:00 2001 From: figsoda Date: Sat, 25 Jul 2026 15:40:26 -0400 Subject: [PATCH 19/43] nixos/nspawn-container: fix build --- .../run-nspawn/src/run_nspawn/__init__.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py b/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py index 9d5d73433e66..7c439b729358 100644 --- a/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py +++ b/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py @@ -158,7 +158,7 @@ def mk_veth( def run( container_name: str, root_dir_str: str, - shared_dir_str: typing.Optional[str], + shared_dir_str: str | None, interfaces: dict, nspawn_options: list[str], init: str, @@ -193,13 +193,6 @@ def run( ) ) - def print_pid() -> None: - print( - f"systemd-nspawn's PID is {os.getpid()}", - # Need to flush stdout before systemd-nspawn gets exec-ed. - flush=True, - ) - shared_dir = Path(shared_dir_str) if shared_dir_str else None cp = subprocess.Popen( @@ -216,7 +209,11 @@ def run( init, *cmdline, ], - preexec_fn=print_pid, + ) + print( + f"systemd-nspawn's PID is {cp.pid}", + # Need to flush stdout before systemd-nspawn gets exec-ed. + flush=True, ) try: From ccdca65d82a0120bba72a5512eb1dbe069f73c7e Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Sat, 25 Jul 2026 22:22:51 +0200 Subject: [PATCH 20/43] bcachefs-tools: Fetch patch to fix compile-time assertion failure on big-endian --- pkgs/by-name/bc/bcachefs-tools/package.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/by-name/bc/bcachefs-tools/package.nix b/pkgs/by-name/bc/bcachefs-tools/package.nix index 887fe38cecdf..0c7bd211bd33 100644 --- a/pkgs/by-name/bc/bcachefs-tools/package.nix +++ b/pkgs/by-name/bc/bcachefs-tools/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, pkg-config, libuuid, libsodium, @@ -45,6 +46,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-F1+FeAlYSqOxeWJI8vHShpXrOZqYXjNGvty/s6f6u8w="; }; + patches = [ + # Fix compile-time assertion failure on big-endian + (fetchpatch { + name = "0001-bcachefs-tools-debug-copy-packed-bkey-fields-before-asserting.patch"; + url = "https://evilpiepirate.org/git/bcachefs-tools.git/patch/?id=79f119c4cd6900ab9ea27b0aa671f68300d9d38e"; + hash = "sha256-ACrpad93wrZOXhc73otnXBNQvyoDeZSfgtwze5nKaUE="; + }) + ]; + postPatch = '' substituteInPlace Makefile \ --replace-fail "target/release/bcachefs" "target/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/bcachefs" From 5b4655232a2e74c8fa2b8f44a86eac11fa8336ba Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 26 Jul 2026 11:33:05 +0200 Subject: [PATCH 21/43] python3Packages.pytest-examples: fix build w/ latest ruff See https://github.com/pydantic/pytest-examples/issues/69 Unbreaks lasuite-docs, amongst others on staging-nixos. --- pkgs/development/python-modules/pytest-examples/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/pytest-examples/default.nix b/pkgs/development/python-modules/pytest-examples/default.nix index 54ab8c681969..286b11617cc7 100644 --- a/pkgs/development/python-modules/pytest-examples/default.nix +++ b/pkgs/development/python-modules/pytest-examples/default.nix @@ -53,6 +53,11 @@ buildPythonPackage rec { "test_black_error" "test_black_error_dot_space" "test_black_error_multiline" + # Breaks with ruff 0.16. + # https://github.com/pydantic/pytest-examples/issues/69 + "test_ruff_ok" + "test_ruff_error" + "test_ruff_config" ]; disabledTestPaths = [ From 8d721cd4327e1835f42d35b0a4f0cb97a296b924 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Sun, 26 Jul 2026 20:29:05 -0700 Subject: [PATCH 22/43] linux: add MODULE_DECOMPRESS to common-config.nix Enabling `CONFIG_MODULE_DECOMPRESS` allows for the kernel to natively support module decompression via the `MODULE_INIT_COMPRESSED_FILE` flag to `finit_module()`. This makes it easier for kernel module loading utilities such as kmod since they don't need to be shipped with the userspace decompression libraries. --- pkgs/os-specific/linux/kernel/common-config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index b30adcd27ea4..805ad48e033b 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1181,6 +1181,7 @@ let ]; MODULE_COMPRESS_ALL = whenAtLeast "6.12" yes; MODULE_COMPRESS_XZ = yes; + MODULE_DECOMPRESS = whenAtLeast "6.0" yes; SYSVIPC = yes; # System-V IPC From 3d6a4d6b5e39738d243e9c29a56c289c0e553225 Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Mon, 27 Jul 2026 22:33:38 +0200 Subject: [PATCH 23/43] ty: 0.0.63 -> 0.0.64 Changelog: https://github.com/astral-sh/ty/releases/tag/0.0.64 Diff: https://github.com/astral-sh/ty/compare/0.0.63...0.0.64 --- pkgs/by-name/ty/ty/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index b5081a0bf240..39a8f7263080 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.63"; + version = "0.0.64"; __structuredAttrs = true; src = fetchFromGitHub { @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-Y4wTDSLjzjxgYCwrHwnf/2hDfwamgialmWre6ql6jI8="; + hash = "sha256-Czk1MpUzWiSNynUtm+hO3NbU+HGLtBWrNnuo1jy4NvA="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-dW6GPbGoQ9Roo0GJA6zmFTZG+Fv36o7dKC5mvqaCJsc="; + cargoHash = "sha256-Jpm6te8+I0Qlq+wA7DIPpIlLoF38pwgChgntKYZY5uc="; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ rust-jemalloc-sys ]; From 92453f265c5016405b5f1775a99b0e16934bee10 Mon Sep 17 00:00:00 2001 From: Avery Terrel Date: Mon, 27 Jul 2026 21:41:18 -0500 Subject: [PATCH 24/43] linux: enable BSD_DISKLABEL This enables support for reading subpartitions created on BSD systems. UFS read-only support is already enabled (=m) by default, so no changes are necessary. --- pkgs/os-specific/linux/kernel/common-config.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 70b251065dc2..813406c55d3a 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1292,7 +1292,7 @@ let KEXEC_HANDOVER = whenAtLeast "6.16" (option yes); LIVEUPDATE = whenAtLeast "6.19" (option yes); - PARTITION_ADVANCED = yes; # Needed for LDM_PARTITION + PARTITION_ADVANCED = yes; # Needed for LDM_PARTITION and BSD_DISKLABEL # Windows Logical Disk Manager (Dynamic Disk) support LDM_PARTITION = yes; LOGIRUMBLEPAD2_FF = yes; # Logitech Rumblepad 2 force feedback @@ -1300,6 +1300,8 @@ let MEDIA_ATTACH = yes; MEGARAID_NEWGEN = yes; + BSD_DISKLABEL = yes; + MLX5_CORE_EN = option yes; NVME_MULTIPATH = yes; From 83a89abeef7b94f0f6847e4c7ef6dd3933755cef Mon Sep 17 00:00:00 2001 From: SandaruKasa Date: Tue, 28 Jul 2026 23:31:25 +0300 Subject: [PATCH 25/43] nixos-rebuild-ng: flake repl: resolve flake url with `nix flake metadata` This aims to fix the issue when for a flake in a git repo, `nixos-rebuild repl` would not respect `.gitignore`, because it would effectively use `path:` instead of `git+file:`, due to how `builtins.getFlake` works. https://github.com/NixOS/nixpkgs/issues/545430 --- .../src/nixos_rebuild/models.py | 4 ++++ .../nixos-rebuild-ng/src/nixos_rebuild/nix.py | 22 +++++++++++++++++++ .../src/nixos_rebuild/repl.nix.template | 2 +- .../ni/nixos-rebuild-ng/src/tests/test_nix.py | 11 ++++++++-- 4 files changed, 36 insertions(+), 3 deletions(-) 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 ad28e368c2f5..ec84383e5f16 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 @@ -166,6 +166,10 @@ class GenerationJson(TypedDict): current: bool +class FlakeMetadataJson(TypedDict): + resolvedUrl: str + + @dataclass(frozen=True) class GroupedNixArgs: build_flags: Args 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 5a4be4d1a557..f79f8e7c8808 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 @@ -19,6 +19,7 @@ from .models import ( Action, BuildAttr, Flake, + FlakeMetadataJson, Generation, GenerationJson, ImageVariants, @@ -576,12 +577,33 @@ def repl(build_attr: BuildAttr, nix_flags: Args | None = None) -> None: run_wrapper([*run_args, *dict_to_flags(nix_flags)]) +def get_flake_metadata( + flake: Flake, flake_flags: Args | None = None +) -> FlakeMetadataJson: + r = run_wrapper( + [ + "nix", + *FLAKE_FLAGS, + "flake", + "metadata", + "--json", + flake.resolve_path_if_exists(), + *dict_to_flags(flake_flags), + ], + stdout=PIPE, + ) + j: FlakeMetadataJson = json.loads(r.stdout.strip()) + return j + + def repl_flake(flake: Flake, flake_flags: Args | None = None) -> None: expr = Template( files(__package__).joinpath(FLAKE_REPL_TEMPLATE).read_text() ).substitute( flake=flake, flake_path=flake.resolve_path_if_exists(), + # Normalize flake url to respect VSC if present: + flake_resolved=get_flake_metadata(flake, flake_flags)["resolvedUrl"], flake_attr=flake.attr, bold="\033[1m", blue="\033[34;1m", diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template index 76c5ab2977ac..37d93f9597a3 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template @@ -1,6 +1,6 @@ # vim: set syntax=nix: let - flake = builtins.getFlake ''${flake_path}''; + flake = builtins.getFlake ''${flake_resolved}''; configuration = flake.${flake_attr}; motd = '' $${"\n"} diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index 848a09bb742b..7917764a6f72 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -1,3 +1,4 @@ +import json import sys import textwrap import uuid @@ -639,12 +640,18 @@ def test_repl(mock_run: Mock) -> None: mock_run.assert_called_with(["nix", "repl", "--file", Path("file.nix"), "myAttr"]) -@patch(get_qualified_name(n.run_wrapper, n), autospec=True) +@patch( + get_qualified_name(n.run_wrapper, n), + autospec=True, + return_value=CompletedProcess( + [], 0, stdout=json.dumps({"resolvedUrl": "path:/flake.nix"}) + ), +) def test_repl_flake(mock_run: Mock) -> None: n.repl_flake(m.Flake("flake.nix", "myAttr"), {"nix_flag": True}) # See nixos-rebuild-ng.tests.repl for a better test, # this is mostly for sanity check - assert mock_run.call_count == 1 + assert mock_run.call_count == 2 @patch(get_qualified_name(n.run_wrapper, n), autospec=True) From f914a7e33e5c471eae1382b53bf2acf70c23b71d Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Wed, 29 Jul 2026 15:59:06 +0100 Subject: [PATCH 26/43] nixos-rebuild-ng: flake_resolved -> flake_path --- pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py | 3 +-- .../ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) 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 f79f8e7c8808..03ce2e9660b1 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 @@ -601,9 +601,8 @@ def repl_flake(flake: Flake, flake_flags: Args | None = None) -> None: files(__package__).joinpath(FLAKE_REPL_TEMPLATE).read_text() ).substitute( flake=flake, - flake_path=flake.resolve_path_if_exists(), # Normalize flake url to respect VSC if present: - flake_resolved=get_flake_metadata(flake, flake_flags)["resolvedUrl"], + flake_path=get_flake_metadata(flake, flake_flags)["resolvedUrl"], flake_attr=flake.attr, bold="\033[1m", blue="\033[34;1m", diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template index 37d93f9597a3..76c5ab2977ac 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/repl.nix.template @@ -1,6 +1,6 @@ # vim: set syntax=nix: let - flake = builtins.getFlake ''${flake_resolved}''; + flake = builtins.getFlake ''${flake_path}''; configuration = flake.${flake_attr}; motd = '' $${"\n"} From 39c9101c3a0bc4c590308f4a1f8d85a89348a571 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Wed, 29 Jul 2026 17:35:19 +0100 Subject: [PATCH 27/43] nixos-rebuild-ng: fix ruff linter warns A recent ruff update triggered new warns, let's fix them. --- .../ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py | 9 ++++++--- .../nixos-rebuild-ng/src/nixos_rebuild/utils.py | 3 +-- .../ni/nixos-rebuild-ng/src/pyproject.toml | 4 ++++ .../ni/nixos-rebuild-ng/src/tests/test_main.py | 16 +++++++--------- .../nixos-rebuild-ng/src/tests/test_process.py | 6 ++++-- 5 files changed, 22 insertions(+), 16 deletions(-) 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 03ce2e9660b1..eb59898b8561 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 @@ -30,6 +30,8 @@ from .models import ( from .process import run_wrapper, ssh_default_opts from .utils import Args, dict_to_flags +local_tz: Final = datetime.now().astimezone().tzinfo + FLAKE_FLAGS: Final = ["--extra-experimental-features", "nix-command flakes"] FLAKE_REPL_TEMPLATE: Final = "repl.nix.template" SWITCH_TO_CONFIGURATION_CMD_PREFIX: Final = [ @@ -433,9 +435,10 @@ def get_generations(profile: Profile) -> list[Generation]: def parse_path(path: Path, profile: Profile) -> Generation: entry_id = path.name.split("-")[1] current = path.name == profile.path.readlink().name - timestamp = datetime.fromtimestamp(path.stat().st_ctime).strftime( - "%Y-%m-%d %H:%M:%S" - ) + timestamp = datetime.fromtimestamp( + timestamp=path.stat().st_ctime, + tz=local_tz, + ).strftime("%Y-%m-%d %H:%M:%S") return Generation( id=int(entry_id), diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py index 90c12261025d..2ba01e24a928 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/utils.py @@ -46,8 +46,7 @@ def dict_to_flags(d: Args | None) -> list[str]: for vs in value: flags.append(flag) if isinstance(vs, list): - for v in vs: - flags.append(v) + flags.extend(vs) else: flags.append(vs) case _: diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml b/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml index efe8da7ffd6a..1636cb31d6a0 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/pyproject.toml @@ -82,6 +82,10 @@ extend-select = [ # allow Any type "ANN401" ] +"nixos_rebuild/constants.py" = [ + # allow constant comparison since the values are replaced at build-time + "PLR0133" +] [tool.pytest.ini_options] pythonpath = ["."] 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 12bacafba8d5..221067f0bc08 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 @@ -993,9 +993,9 @@ def test_execute_nix_switch_flake_build_host( config_path.touch() def run_side_effect(args: list[str], **kwargs: Any) -> CompletedProcess[str]: - if args[0] == "nix" and "eval" in args: - return CompletedProcess([], 0, str(config_path)) - elif args[0] == "ssh" and "nix" in args: + if (args[0] == "nix" and "eval" in args) or ( + args[0] == "ssh" and "nix" in args + ): return CompletedProcess([], 0, str(config_path)) elif args[0] == "nix-instantiate": return CompletedProcess([], 1) @@ -1316,9 +1316,7 @@ 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": + elif args[0] == "nix-instantiate" or args[0] == "test": return CompletedProcess([], 1) else: return CompletedProcess([], 0) @@ -1386,9 +1384,9 @@ 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": + elif (args[0] == "nix-instantiate" and "nixos-system" in args) or args[ + 0 + ] == "test": return CompletedProcess([], 1) else: return CompletedProcess([], 0) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py index c8f1ec9126e9..e99a2d32e8cb 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py @@ -29,8 +29,10 @@ def test_remote_env_shell_argv() -> None: "sudo", "/bin/sh", "-c", - """exec /usr/bin/env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" """ - '''NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"''', + ( + """exec /usr/bin/env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" """ + '''NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"''' + ), "sh", "cmd", "arg", From f7cffb8ff3a82cb39cd360a3f21137f6144abe94 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Wed, 29 Jul 2026 20:29:25 +0100 Subject: [PATCH 28/43] nixos-rebuild-ng: remove old comment and unnecessary cast --- pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py index 230e51c56e44..8e9d6b6bf34d 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py @@ -86,7 +86,7 @@ def get_parser() -> tuple[argparse.ArgumentParser, dict[str, argparse.ArgumentPa main_parser = argparse.ArgumentParser( prog="nixos-rebuild", - parents=list(sub_parsers.values()), + parents=sub_parsers.values(), description="Reconfigure a NixOS machine", add_help=False, allow_abbrev=False, @@ -260,7 +260,6 @@ def parse_args( if args.v or args.debug: logger.setLevel(logging.DEBUG) - # https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh#L56 if args.action == Action.DRY_RUN.value: args.action = Action.DRY_BUILD.value From dd5dce68bec46c6e3b14cf11d0e03fc7b8b5a547 Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Wed, 29 Jul 2026 22:32:54 +0200 Subject: [PATCH 29/43] ty: 0.0.64 -> 0.0.65 Changelog: https://github.com/astral-sh/ty/releases/tag/0.0.65 Diff: https://github.com/astral-sh/ty/compare/0.0.64...0.0.65 --- pkgs/by-name/ty/ty/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ty/ty/package.nix b/pkgs/by-name/ty/ty/package.nix index 39a8f7263080..48002ef11e0b 100644 --- a/pkgs/by-name/ty/ty/package.nix +++ b/pkgs/by-name/ty/ty/package.nix @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ty"; - version = "0.0.64"; + version = "0.0.65"; __structuredAttrs = true; src = fetchFromGitHub { @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { repo = "ty"; tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-Czk1MpUzWiSNynUtm+hO3NbU+HGLtBWrNnuo1jy4NvA="; + hash = "sha256-+P0mtnz/syeLk7E6GI5OdocjthDtrdMdCc0BrW+C8UQ="; }; # For Darwin platforms, remove the integration test for file notifications, @@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoBuildFlags = [ "--package=ty" ]; - cargoHash = "sha256-Jpm6te8+I0Qlq+wA7DIPpIlLoF38pwgChgntKYZY5uc="; + cargoHash = "sha256-dAfb5lDt5v7tuqJGbey1mRrLL+zI7eb8GH1DUAtaaT4="; nativeBuildInputs = [ installShellFiles ]; buildInputs = [ rust-jemalloc-sys ]; From 08e0e1b6673c68e7419072c034273af3bf60fbe9 Mon Sep 17 00:00:00 2001 From: figsoda Date: Wed, 29 Jul 2026 18:51:25 -0400 Subject: [PATCH 30/43] nixos/nspawn-container: remove outdated comment and flush --- .../nspawn-container/run-nspawn/src/run_nspawn/__init__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py b/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py index 7c439b729358..bbf4edcc7cb2 100644 --- a/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py +++ b/nixos/modules/virtualisation/nspawn-container/run-nspawn/src/run_nspawn/__init__.py @@ -212,8 +212,6 @@ def run( ) print( f"systemd-nspawn's PID is {cp.pid}", - # Need to flush stdout before systemd-nspawn gets exec-ed. - flush=True, ) try: From 96b713497e4bde6490fae1ebc253c4ea3e5bcdec Mon Sep 17 00:00:00 2001 From: Juan C Nuno Date: Wed, 8 Jul 2026 08:50:31 -0400 Subject: [PATCH 31/43] nixos/version: Add an optionalAttr function --- nixos/modules/misc/version.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 898c0326cf0b..7b523522852d 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -34,6 +34,7 @@ let osReleaseContents = let isNixos = cfg.distroId == "nixos"; + optionalAttr = cond: attr: if cond then attr else null; in { NAME = "${cfg.distroName}"; @@ -54,8 +55,7 @@ let BUG_REPORT_URL = optionalString isNixos "https://github.com/NixOS/nixpkgs/issues"; ANSI_COLOR = optionalString isNixos "0;38;2;126;186;228"; IMAGE_ID = optionalString (config.system.image.id != null) config.system.image.id; - ${if config.system.image.version != null then "IMAGE_VERSION" else null} = - config.system.image.version; + ${optionalAttr (config.system.image.version != null) "IMAGE_VERSION"} = config.system.image.version; VARIANT = optionalString (cfg.variantName != null) cfg.variantName; VARIANT_ID = optionalString (cfg.variant_id != null) cfg.variant_id; DEFAULT_HOSTNAME = config.system.nixos.distroId; From 0e49ad90f4ac557124cc6677c19166ffff9c2565 Mon Sep 17 00:00:00 2001 From: Juan C Nuno Date: Wed, 8 Jul 2026 08:50:42 -0400 Subject: [PATCH 32/43] nixos/version: Handle the other attributes Handle the other optional attributes like IMAGE_VERSION --- nixos/modules/misc/version.nix | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 7b523522852d..b61e00d647b2 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -14,7 +14,6 @@ let concatStringsSep mapAttrsToList toLower - optionalString literalExpression match mkRenamedOptionModule @@ -39,7 +38,7 @@ let { NAME = "${cfg.distroName}"; ID = "${cfg.distroId}"; - ID_LIKE = optionalString (!isNixos) "nixos"; + ${optionalAttr (!isNixos) "ID_LIKE"} = "nixos"; VENDOR_NAME = cfg.vendorName; VERSION = "${cfg.release} (${cfg.codeName})"; VERSION_CODENAME = toLower cfg.codeName; @@ -48,16 +47,16 @@ let PRETTY_NAME = "${cfg.distroName} ${cfg.release} (${cfg.codeName})"; CPE_NAME = "cpe:/o:${cfg.vendorId}:${cfg.distroId}:${cfg.release}"; LOGO = "nix-snowflake"; - HOME_URL = optionalString isNixos "https://nixos.org/"; - VENDOR_URL = optionalString isNixos "https://nixos.org/"; - DOCUMENTATION_URL = optionalString isNixos "https://nixos.org/learn.html"; - SUPPORT_URL = optionalString isNixos "https://nixos.org/community.html"; - BUG_REPORT_URL = optionalString isNixos "https://github.com/NixOS/nixpkgs/issues"; - ANSI_COLOR = optionalString isNixos "0;38;2;126;186;228"; - IMAGE_ID = optionalString (config.system.image.id != null) config.system.image.id; + ${optionalAttr isNixos "HOME_URL"} = "https://nixos.org/"; + ${optionalAttr isNixos "VENDOR_URL"} = "https://nixos.org/"; + ${optionalAttr isNixos "DOCUMENTATION_URL"} = "https://nixos.org/learn.html"; + ${optionalAttr isNixos "SUPPORT_URL"} = "https://nixos.org/community.html"; + ${optionalAttr isNixos "BUG_REPORT_URL"} = "https://github.com/NixOS/nixpkgs/issues"; + ${optionalAttr isNixos "ANSI_COLOR"} = "0;38;2;126;186;228"; + ${optionalAttr (config.system.image.id != null) "IMAGE_ID"} = config.system.image.id; ${optionalAttr (config.system.image.version != null) "IMAGE_VERSION"} = config.system.image.version; - VARIANT = optionalString (cfg.variantName != null) cfg.variantName; - VARIANT_ID = optionalString (cfg.variant_id != null) cfg.variant_id; + ${optionalAttr (cfg.variantName != null) "VARIANT"} = cfg.variantName; + ${optionalAttr (cfg.variant_id != null) "VARIANT_ID"} = cfg.variant_id; DEFAULT_HOSTNAME = config.system.nixos.distroId; } // cfg.extraOSReleaseArgs; From 5e4be6ae9905cd7885f0ba98c58f6892d4567dd6 Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Thu, 30 Jul 2026 23:56:25 +0200 Subject: [PATCH 33/43] ruff: 0.16.0 -> 0.16.1 Changelog: https://github.com/astral-sh/ruff/releases/tag/0.16.1 Diff: https://github.com/astral-sh/ruff/compare/0.16.0...0.16.1 --- 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 f1fde0a9a966..56bd5f9b3071 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.16.0"; + version = "0.16.1"; __structuredAttrs = true; @@ -24,12 +24,12 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-H9ZcqMzPiu2ACyzlYNStKHAX71u9FCTEYwpKqwJcg/E="; + hash = "sha256-77h1f8LV9ZTYqs5SymLij6CXe3TzrXEMcCPASOHj/UU="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-T3bWSLScIXgXXoGaogTF1N+jG0yFhAqxbZxQE12mkR8="; + cargoHash = "sha256-fgcl0JhGkzbXD+ajDdIwnIUHEuKj3XwDH81JkDEqntc="; nativeBuildInputs = [ installShellFiles ]; From 8d75fd2828f18d4f7c854c579aeecd6887750b3b Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Fri, 31 Jul 2026 00:38:06 +0200 Subject: [PATCH 34/43] linux_6_18: 6.18.40 -> 6.18.41 --- 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 5d9aaeea6438..a48c6b44f62e 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.40", - "hash": "sha256:0cd42fb4390x73jdzbhacm9g9s0ji58whxhik2ndmr1rr0ggq4ip", + "version": "6.18.41", + "hash": "sha256:1skk2aimvhhymsvs15p83v2mwnlwbmghh82x79isia6lz3q75z0p", "lts": true }, "7.1": { From 324efc5a8b33115f89dc8d3f699275fa56bd6206 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Fri, 31 Jul 2026 00:38:12 +0200 Subject: [PATCH 35/43] linux_6_12: 6.12.97 -> 6.12.100 --- 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 a48c6b44f62e..433e8b828639 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.97", - "hash": "sha256:0vswyjh91x52ay99mqrdfhwnvd6nnzv4hpncywk908njpfixzgbc", + "version": "6.12.100", + "hash": "sha256:147fvkpsa9n5gv207xyb6if0vmahmvpvrb2bfy32wj866i9p7yb7", "lts": true }, "6.18": { From 68ac597bdfda6236e64e24e45ee2c0729b95ed84 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Fri, 31 Jul 2026 00:38:14 +0200 Subject: [PATCH 36/43] linux_6_6: 6.6.145 -> 6.6.147 --- 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 433e8b828639..303b8fa0e747 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.145", - "hash": "sha256:09h1pzcai0i10pdyyfbsmq03rgk1x5wv2d937m5nz2xdv0rhw46y", + "version": "6.6.147", + "hash": "sha256:1fsavd2armiwrnz0w556dmm54z76zwy2as0qbbaq6s04xsvjjqz7", "lts": true }, "6.12": { From 12608ef2a45ec9488253ec9719d992996eb64b80 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Fri, 31 Jul 2026 00:38:16 +0200 Subject: [PATCH 37/43] linux_6_1: 6.1.178 -> 6.1.180 --- 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 303b8fa0e747..b61cb25c876b 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.178", - "hash": "sha256:03vjdk7lk9zgydzamhwvrg066f8748vrfjggqqd2n0vmr9kzm0vx", + "version": "6.1.180", + "hash": "sha256:0spql1ybfr879wl35rfd2nwlzirvp5chi6gl1d6zqp5mb4bn03jg", "lts": true }, "5.15": { From 49aa3425d7a9180517638b410ae0d5468275b7d3 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Fri, 31 Jul 2026 00:38:19 +0200 Subject: [PATCH 38/43] linux_5_15: 5.15.212 -> 5.15.213 --- 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 b61cb25c876b..0081fb63c360 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -10,8 +10,8 @@ "lts": true }, "5.15": { - "version": "5.15.212", - "hash": "sha256:1zk51f3pv7ghz68hxkxhds9cjwmk35651pxbyyvyqyhcr7msx5n3", + "version": "5.15.213", + "hash": "sha256:1n71f4im5jg836wk2g4llkxxvmdzbxj7172pxqcf9wrmhm5inwn4", "lts": true }, "5.10": { From 357e545218d0950ee03a3c2767ef32d9cb1ead99 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Fri, 31 Jul 2026 00:38:21 +0200 Subject: [PATCH 39/43] linux_5_10: 5.10.261 -> 5.10.262 --- 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 0081fb63c360..39ae3efec3ce 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -15,8 +15,8 @@ "lts": true }, "5.10": { - "version": "5.10.261", - "hash": "sha256:1i6pzaib30r1nmyxsrhqmfsdxy1jvvlmzc9f8lxzv9a00q8a3751", + "version": "5.10.262", + "hash": "sha256:10xlfmblynqcba5ab4h75p7pzqcbm34cbhrx19pkircpkf5dmrzs", "lts": true }, "6.6": { From 812b012911ea6f155120b0e94ed90fc4a4474e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 31 Jul 2026 08:30:35 +0200 Subject: [PATCH 40/43] Revert "nixos-container: set pname and version" --- pkgs/by-name/ni/nixos-container/package.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/by-name/ni/nixos-container/package.nix b/pkgs/by-name/ni/nixos-container/package.nix index 41c3b51ae2e3..cd6da383696b 100644 --- a/pkgs/by-name/ni/nixos-container/package.nix +++ b/pkgs/by-name/ni/nixos-container/package.nix @@ -8,11 +8,9 @@ stateDirectory ? "/var/lib/nixos-containers", nixosTests, path, - lib, }: replaceVarsWith { - pname = "nixos-container"; - version = lib.trivial.release; + name = "nixos-container"; dir = "bin"; isExecutable = true; src = ./nixos-container.pl; From 59474eab88270640251cf4bc438d94317e002af6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 31 Jul 2026 10:43:17 +0200 Subject: [PATCH 41/43] Revert "nixos-install: set pname and version" --- pkgs/by-name/ni/nixos-install/package.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/by-name/ni/nixos-install/package.nix b/pkgs/by-name/ni/nixos-install/package.nix index ae72a5ad270e..babc3b14ad65 100644 --- a/pkgs/by-name/ni/nixos-install/package.nix +++ b/pkgs/by-name/ni/nixos-install/package.nix @@ -9,9 +9,7 @@ nixosTests, }: replaceVarsWith { - pname = "nixos-install"; - version = lib.trivial.release; - + name = "nixos-install"; src = ./nixos-install.sh; replacements = { From 02679254d1a1d2d5d663d32e6aca58457c80471a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 31 Jul 2026 10:45:47 +0200 Subject: [PATCH 42/43] Revert "nixos-enter: set pname and version" This reverts commit 27ffce9d573933f2931e7061e6e2cea00ca1797d. --- pkgs/by-name/ni/nixos-enter/package.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/by-name/ni/nixos-enter/package.nix b/pkgs/by-name/ni/nixos-enter/package.nix index 44dd978d4fd8..4839b3a34053 100644 --- a/pkgs/by-name/ni/nixos-enter/package.nix +++ b/pkgs/by-name/ni/nixos-enter/package.nix @@ -6,8 +6,7 @@ util-linuxMinimal, }: replaceVarsWith { - pname = "nixos-enter"; - version = lib.trivial.release; + name = "nixos-enter"; src = ./nixos-enter.sh; replacements = { From 0565f0ece9a4dec3ad1ca85297c61bdc1c97d9b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 31 Jul 2026 10:54:34 +0200 Subject: [PATCH 43/43] Revert "nixos-build-vms: set pname and version" --- pkgs/by-name/ni/nixos-build-vms/package.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/by-name/ni/nixos-build-vms/package.nix b/pkgs/by-name/ni/nixos-build-vms/package.nix index 9566848c2cf1..0de2fe24c7f1 100644 --- a/pkgs/by-name/ni/nixos-build-vms/package.nix +++ b/pkgs/by-name/ni/nixos-build-vms/package.nix @@ -2,11 +2,9 @@ replaceVarsWith, runtimeShell, installShellFiles, - lib, }: replaceVarsWith { - pname = "nixos-build-vms"; - version = lib.trivial.release; + name = "nixos-build-vms"; src = ./nixos-build-vms.sh;