From 1862eac9faed7f87915a8b3a2748c9898fe9e424 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 21 Oct 2025 19:26:21 +0000 Subject: [PATCH 01/97] obs-studio-plugins.obs-source-clone: 0.1.5 -> 0.2.0 --- .../video/obs-studio/plugins/obs-source-clone.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix b/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix index 4229602144e9..405ef5ad2b6c 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-source-clone.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "obs-source-clone"; - version = "0.1.5"; + version = "0.2.0"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-source-clone"; tag = finalAttrs.version; - hash = "sha256-0rBtFPfqVvB333eeWRpVe4TgrJTiBTIzsV/SSe3EgOc="; + hash = "sha256-LvxeADojLM33N3CmdwEHQ2FuORMlbKq961do5J7891M="; }; nativeBuildInputs = [ cmake ]; From 47d00f011e79834b7e53881b45e2cc42383598ac Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 8 Nov 2025 01:51:07 +0000 Subject: [PATCH 02/97] obs-studio-plugins.obs-text-pthread: 2.0.7 -> 2.1.0 --- .../video/obs-studio/plugins/obs-text-pthread.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix b/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix index 61d203999ebc..bb388b242d8a 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-text-pthread.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "obs-text-pthread"; - version = "2.0.7"; + version = "2.1.0"; src = fetchFromGitHub { owner = "norihiro"; repo = "obs-text-pthread"; rev = version; - sha256 = "sha256-YjMZfDSO5VRIY+HBGniNV3HG5vs+zbiqfbrPKs9v804="; + sha256 = "sha256-Br7cX1/7VYIruLA5107+PjTMNEFAE2P/cvmu5EuXbWI="; }; nativeBuildInputs = [ From c2de49f2ac42a2e835cc3069e1c09f7f8ad81973 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 12 Nov 2025 01:50:35 +0000 Subject: [PATCH 03/97] obs-studio-plugins.obs-gradient-source: 0.3.2 -> 0.3.3 --- .../video/obs-studio/plugins/obs-gradient-source.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix index c092185b5f90..15fabc6ee51c 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "obs-gradient-source"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-gradient-source"; rev = version; - sha256 = "sha256-5pll84UZYOTESrid2UuC1aWlaLrWf1LpXqlV09XKLug="; + sha256 = "sha256-Y9PTvaZr7ANwHhqgWsNIikRQLdKO8sA4OXI+mKyUnaM="; }; nativeBuildInputs = [ cmake ]; From aacd8ed45de6afb4e536ebba3b67b7ca4c2448b6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 14 Nov 2025 01:43:33 +0000 Subject: [PATCH 04/97] obs-studio-plugins.obs-retro-effects: 1.0.1 -> 1.0.2 --- .../video/obs-studio/plugins/obs-retro-effects.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/obs-studio/plugins/obs-retro-effects.nix b/pkgs/applications/video/obs-studio/plugins/obs-retro-effects.nix index 10e92ac5a8bd..05aa0735874e 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-retro-effects.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-retro-effects.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "obs-retro-effects"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "FiniteSingularity"; repo = "obs-retro-effects"; rev = "${version}"; - sha256 = "sha256-bWUGuCgCNAaSc0+NRRYsx/8EhrlWuPcipkuUlQZvWDk="; + sha256 = "sha256-oQGXBd/KGPGTK+CoomMjjgrnxTqVIefEKqKH11SPHSY="; }; nativeBuildInputs = [ cmake ]; From 440910d589585a4c4e86cc89bf99d804e8060fb4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 18 Dec 2025 15:42:08 +0000 Subject: [PATCH 05/97] sherpa: 3.0.2 -> 3.0.3 --- pkgs/by-name/sh/sherpa/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sh/sherpa/package.nix b/pkgs/by-name/sh/sherpa/package.nix index c05b4522f66c..8b79450dad1a 100644 --- a/pkgs/by-name/sh/sherpa/package.nix +++ b/pkgs/by-name/sh/sherpa/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "sherpa"; - version = "3.0.2"; + version = "3.0.3"; src = fetchFromGitLab { owner = "sherpa-team"; repo = "sherpa"; tag = "v${version}"; - hash = "sha256-VlC5MnbrXp2fdO2EtBjtw45Gx6PhF/hcLy0ajlKp10E="; + hash = "sha256-bh5C0BYbuAkbPrp27P0oD0yoxd53ViRtmpUKfN7kZ90="; }; postPatch = lib.optionalString (stdenv.hostPlatform.libc == "glibc") '' From 14b623fabf3a6773c8169360d05f3d6593a3a8dd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 26 Dec 2025 15:37:53 +0000 Subject: [PATCH 06/97] altair: 8.3.0 -> 8.5.0 --- pkgs/by-name/al/altair/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/al/altair/package.nix b/pkgs/by-name/al/altair/package.nix index 160c2e3cb69b..6f46cf3feabd 100644 --- a/pkgs/by-name/al/altair/package.nix +++ b/pkgs/by-name/al/altair/package.nix @@ -7,11 +7,11 @@ let pname = "altair"; - version = "8.3.0"; + version = "8.5.0"; src = fetchurl { url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage"; - sha256 = "sha256-uLqtrF5WWJ5+6bN/h4u/vdvTlbQtZID1osujfuJad4U="; + sha256 = "sha256-ImcnV+Z1J+6wGs3HmlCpXmLb/BbyEcunY+IZ2cbD8Ns="; }; appimageContents = appimageTools.extract { inherit pname version src; }; From 97eb03b1f778183ddfc26e264db3752854bc1b45 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 28 Dec 2025 00:36:32 +0000 Subject: [PATCH 07/97] python3Packages.pdfminer-six: 20251107 -> 20251227 --- pkgs/development/python-modules/pdfminer-six/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pdfminer-six/default.nix b/pkgs/development/python-modules/pdfminer-six/default.nix index 653ad14c40df..7cfcac144c7f 100644 --- a/pkgs/development/python-modules/pdfminer-six/default.nix +++ b/pkgs/development/python-modules/pdfminer-six/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pdfminer-six"; - version = "20251107"; + version = "20251227"; pyproject = true; src = fetchFromGitHub { owner = "pdfminer"; repo = "pdfminer.six"; tag = version; - hash = "sha256-PuRxiKL1rLpfdabH3cMywkwBoeImu/yNgEhckLzr0Z4="; + hash = "sha256-O/9B04lLFNoqvvyGAFADuqzIGnthN50V1+PMAFt1ysc="; }; build-system = [ From cd47e80da4c42d5dc307d9175e7170a04f06a9f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 30 Dec 2025 15:42:22 +0000 Subject: [PATCH 08/97] recoll: 1.43.5 -> 1.43.9 --- pkgs/applications/search/recoll/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index 9692b6f0877b..fc88a70ce5a8 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -75,11 +75,11 @@ in mkDerivation rec { pname = "recoll"; - version = "1.43.5"; + version = "1.43.9"; src = fetchurl { url = "https://www.recoll.org/${pname}-${version}.tar.gz"; - hash = "sha256-Px3uK7I/MkrJbAOmV2ipVct/+p05SST6TLTYoDaLNdQ="; + hash = "sha256-irloDtMO9CBvtI+oEicUOy2myrGskieWoqNk5eapzU8="; }; mesonFlags = [ From 84c982d44783ac9ec973f4921543083bfa565ea5 Mon Sep 17 00:00:00 2001 From: teto <886074+teto@users.noreply.github.com> Date: Sun, 28 Dec 2025 01:21:16 +0100 Subject: [PATCH 09/97] neovimUtils.makeVimPackageInfo: to help deal with plugin dependencies Add utility to generate an attrset containing information about vim package that can be used in various ways by users to build their neovim configuration. The initial motivation is for usage in home-manager, to skip nixpkgs wrapper and give more control to home-manager on how to install the package and the user control their config. Might be useful for other projects such as nixvim. --- pkgs/applications/editors/neovim/utils.nix | 66 +++++++++++++++++++- pkgs/applications/editors/neovim/wrapper.nix | 49 +++++---------- 2 files changed, 80 insertions(+), 35 deletions(-) diff --git a/pkgs/applications/editors/neovim/utils.nix b/pkgs/applications/editors/neovim/utils.nix index 675aae8a9c57..6a7d1f83573f 100644 --- a/pkgs/applications/editors/neovim/utils.nix +++ b/pkgs/applications/editors/neovim/utils.nix @@ -59,6 +59,70 @@ let opt = map (x: x.plugin) pluginsPartitioned.right; }; + /** + * Builds a vim package (see ':h packages') with additionnal info: + - the user lua configuration (specified by user) + - the advised and advised by nixpkgs in passthru.initLua) + - runtime dependencies (specified in plugins' "runtimeDeps") + - plugin dependencies (vim plugins, python deps) + */ + makeVimPackageInfo = + # a list of neovim plugin derivations, for instance + # plugins = [ + # { plugin=vimPlugins.far-vim; config = "let g:far#source='rg'"; optional = false; } + # vimPlugins.vim-fugitive + # ] + plugins: + + let + pluginsNormalized = normalizePlugins plugins; + + vimPackage = normalizedPluginsToVimPackage pluginsNormalized; + + userPluginLua = lib.foldl ( + acc: p: if p.config != null then acc ++ [ p.config ] else acc + ) [ ] pluginsNormalized; + + pluginAdvisedLua = + let + op = + acc: normalizedPlugin: + acc + ++ lib.optional ( + normalizedPlugin.plugin.passthru ? initLua + ) normalizedPlugin.plugin.passthru.initLua; + in + lib.foldl' op [ ] pluginsNormalized; + + getDeps = attrname: map (plugin: plugin.${attrname} or (_: [ ])); + + requiredPlugins = vimUtils.requiredPluginsForPackage vimPackage; + pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins; + in + { + # plugins' python dependencies + inherit pluginPython3Packages; + + # lua config set by the user along with the plugin + inherit userPluginLua; + + # recommanded configuration set in vim plugins ".passthru.initLua" + inherit pluginAdvisedLua; + + # A Vim "package", see ':h packages' + # You most likely want to use vimPackage as follows: + # packpathDirs.myNeovimPackages = vimPackage; + # finalPackdir = neovimUtils.packDir packpathDirs; + inherit vimPackage; + + runtimeDeps = + let + op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [ ]; + in + lib.foldl' op [ ] pluginsNormalized; + + }; + /* returns everything needed for the caller to wrap its own neovim: - the generated content of the future init.vim @@ -297,7 +361,6 @@ let packages: let rawPackDir = vimUtils.packDir packages; - in rawPackDir.override { postBuild = '' @@ -311,6 +374,7 @@ let in { inherit makeNeovimConfig; + inherit makeVimPackageInfo; inherit generateProviderRc; inherit legacyWrapper; inherit grammarToPlugin; diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 5c91bac0b11b..ef2372c54f34 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -81,9 +81,6 @@ let stdenv.mkDerivation ( finalAttrs: let - pluginsNormalized = neovimUtils.normalizePlugins finalAttrs.plugins; - - myVimPackage = neovimUtils.normalizedPluginsToVimPackage pluginsNormalized; rubyEnv = bundlerEnv { name = "neovim-ruby-env"; @@ -93,49 +90,38 @@ let ''; }; - pluginRC = lib.foldl ( - acc: p: if p.config != null then acc ++ [ p.config ] else acc - ) [ ] pluginsNormalized; - # a limited RC script used only to generate the manifest for remote plugins manifestRc = ""; + + # plugin-related information + vimPackageInfo = neovimUtils.makeVimPackageInfo finalAttrs.plugins; + # we call vimrcContent without 'packages' to avoid the init.vim generation neovimRcContent' = lib.concatStringsSep "\n" ( - pluginRC ++ lib.optional (neovimRcContent != null) neovimRcContent + vimPackageInfo.userPluginLua ++ lib.optional (neovimRcContent != null) neovimRcContent ); - packpathDirs.myNeovimPackages = myVimPackage; + packpathDirs.myNeovimPackages = vimPackageInfo.vimPackage; finalPackdir = neovimUtils.packDir packpathDirs; - luaPluginRC = - let - op = - acc: normalizedPlugin: - acc - ++ lib.optional ( - finalAttrs.autoconfigure && normalizedPlugin.plugin.passthru ? initLua - ) normalizedPlugin.plugin.passthru.initLua; - in - lib.foldl' op [ ] pluginsNormalized; - rcContent = '' ${luaRcContent} '' + lib.optionalString (neovimRcContent' != "") '' vim.cmd.source "${writeText "init.vim" neovimRcContent'}" '' - + lib.concatStringsSep "\n" luaPluginRC; - - getDeps = attrname: map (plugin: plugin.${attrname} or (_: [ ])); - - requiredPlugins = vimUtils.requiredPluginsForPackage myVimPackage; - pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins; + + lib.optionalString autoconfigure (lib.concatStringsSep "\n" vimPackageInfo.pluginAdvisedLua); python3Env = lib.warnIf (attrs ? python3Env) "Pass your python packages via the `extraPython3Packages`, e.g., `extraPython3Packages = ps: [ ps.pandas ]`" python3.pkgs.python.withPackages - (ps: [ ps.pynvim ] ++ (extraPython3Packages ps) ++ (lib.concatMap (f: f ps) pluginPython3Packages)); + ( + ps: + [ ps.pynvim ] + ++ (extraPython3Packages ps) + ++ (lib.concatMap (f: f ps) vimPackageInfo.pluginPython3Packages) + ); wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs; @@ -234,14 +220,10 @@ let inherit wrapperArgs generatedWrapperArgs; runtimeDeps = - let - op = acc: normalizedPlugin: acc ++ normalizedPlugin.plugin.runtimeDeps or [ ]; - runtimeDeps = lib.foldl' op [ ] pluginsNormalized; - in lib.optionals finalAttrs.waylandSupport [ wl-clipboard ] ++ lib.optional finalAttrs.withRuby rubyEnv ++ lib.optional finalAttrs.withNodeJs nodejs - ++ lib.optionals finalAttrs.autowrapRuntimeDeps runtimeDeps; + ++ lib.optionals finalAttrs.autowrapRuntimeDeps vimPackageInfo.runtimeDeps; luaRcContent = rcContent; # Remove the symlinks created by symlinkJoin which we need to perform @@ -342,8 +324,7 @@ let lndir ]; - # A Vim "package", see ':h packages' - vimPackage = myVimPackage; + vimPackage = vimPackageInfo.vimPackage; checkPhase = '' runHook preCheck From 5e60b000a96ebe26caeef2299b870131fc80331d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 31 Dec 2025 21:17:27 +0000 Subject: [PATCH 10/97] jackett: 0.24.532 -> 0.24.645 --- pkgs/servers/jackett/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix index 6e3775e63816..2e68bcfc40c2 100644 --- a/pkgs/servers/jackett/default.nix +++ b/pkgs/servers/jackett/default.nix @@ -11,13 +11,13 @@ buildDotnetModule rec { pname = "jackett"; - version = "0.24.532"; + version = "0.24.645"; src = fetchFromGitHub { owner = "jackett"; repo = "jackett"; tag = "v${version}"; - hash = "sha256-9dLBQOAyR2oyN1lGLPN/QLZtGLASRKUXUCLCdvqOmmE="; + hash = "sha256-nb5WDMhba4kTGxtX4rLLZdM9iJI6dM6kPBu3hht/CYk="; }; projectFile = "src/Jackett.Server/Jackett.Server.csproj"; From 25dcf113c83685da29a1f373c8484061a45afc69 Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Thu, 1 Jan 2026 19:13:46 +0000 Subject: [PATCH 11/97] prisma_7, prisma-engines_7: 7.0.1 -> 7.2.0 --- pkgs/by-name/pr/prisma-engines_7/package.nix | 6 +++--- pkgs/by-name/pr/prisma_7/package.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/pr/prisma-engines_7/package.nix b/pkgs/by-name/pr/prisma-engines_7/package.nix index 88164ec1e541..fb0d8de22367 100644 --- a/pkgs/by-name/pr/prisma-engines_7/package.nix +++ b/pkgs/by-name/pr/prisma-engines_7/package.nix @@ -11,16 +11,16 @@ # function correctly. rustPlatform.buildRustPackage rec { pname = "prisma-engines_7"; - version = "7.0.1"; + version = "7.2.0"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma-engines"; tag = version; - hash = "sha256-+8k+M2+WySR2CeywYlhU/jd3av/4UeUoEOlO/qHUk5o="; + hash = "sha256-1CwpUtNuqxGNjBmmmo/Aet8XrmnCQfDToI7vZaNupDI="; }; - cargoHash = "sha256-n83hJfSlvuaoBb3w9Rk8+q2emjGCoPDHhFdoVzhf4sM="; + cargoHash = "sha256-U5d/HkuWnD/XSrAJr5AYh+WPVGDOcK/e4sC0udPZoyU="; # Use system openssl. OPENSSL_NO_VENDOR = 1; diff --git a/pkgs/by-name/pr/prisma_7/package.nix b/pkgs/by-name/pr/prisma_7/package.nix index 710c5d4b8051..f767d11986ca 100644 --- a/pkgs/by-name/pr/prisma_7/package.nix +++ b/pkgs/by-name/pr/prisma_7/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "prisma_7"; - version = "7.0.1"; + version = "7.2.0"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma"; tag = finalAttrs.version; - hash = "sha256-bmmthEFMBMJAracWUCU/6Nyic05JglP5t1VAWPVKFnU="; + hash = "sha256-oDfb/RwSa63ErWHF86q5xPPUUsRUV2DwNHARTV5gxyk="; }; nativeBuildInputs = [ @@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 1; - hash = "sha256-sJmlMF8nay4/3LTHEWzBWaS8Xq91JRZlzKBfeMnJEMM="; + hash = "sha256-2I3QeSWCoZDNVrWY0VySHT05T4FQ0PQLoMirs2vuuNM="; }; patchPhase = '' From 62928f5547ad9bf033b2e8158dfa99e19b59f751 Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Thu, 1 Jan 2026 19:17:49 +0000 Subject: [PATCH 12/97] prisma-engines_{6,7}: use finalAttrs construct --- pkgs/by-name/pr/prisma-engines_6/package.nix | 6 +++--- pkgs/by-name/pr/prisma-engines_7/package.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/pr/prisma-engines_6/package.nix b/pkgs/by-name/pr/prisma-engines_6/package.nix index c49edabc8d2d..74f5d5964d3d 100644 --- a/pkgs/by-name/pr/prisma-engines_6/package.nix +++ b/pkgs/by-name/pr/prisma-engines_6/package.nix @@ -10,14 +10,14 @@ # Updating this package will force an update for prisma. The # version of prisma-engines and prisma must be the same for them to # function correctly. -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "prisma-engines_6"; version = "6.19.1"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma-engines"; - tag = version; + tag = finalAttrs.version; hash = "sha256-z3GdnrLEMJIGPKXXbz2wrbiGpuNlgYxqg3iYINYTnPI="; }; @@ -70,7 +70,7 @@ rustPlatform.buildRustPackage rec { aqrln ]; }; -} +}) ### Troubleshooting # Here's an example application using Prisma with Nix: https://github.com/pimeys/nix-prisma-example diff --git a/pkgs/by-name/pr/prisma-engines_7/package.nix b/pkgs/by-name/pr/prisma-engines_7/package.nix index fb0d8de22367..91854e23a96e 100644 --- a/pkgs/by-name/pr/prisma-engines_7/package.nix +++ b/pkgs/by-name/pr/prisma-engines_7/package.nix @@ -9,14 +9,14 @@ # Updating this package will force an update for prisma. The # version of prisma-engines and prisma must be the same for them to # function correctly. -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "prisma-engines_7"; version = "7.2.0"; src = fetchFromGitHub { owner = "prisma"; repo = "prisma-engines"; - tag = version; + tag = finalAttrs.version; hash = "sha256-1CwpUtNuqxGNjBmmmo/Aet8XrmnCQfDToI7vZaNupDI="; }; @@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec { aqrln ]; }; -} +}) ### Troubleshooting # Here's an example application using Prisma with Nix: https://github.com/pimeys/nix-prisma-example From 4c1d99b9b7fa9cc2f14cafa9e8608c7e1657156f Mon Sep 17 00:00:00 2001 From: Diogo Correia Date: Thu, 1 Jan 2026 19:26:52 +0000 Subject: [PATCH 13/97] prisma_7: update fetchPnpmDeps.fetcherVersion to 3 --- pkgs/by-name/pr/prisma_7/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/prisma_7/package.nix b/pkgs/by-name/pr/prisma_7/package.nix index f767d11986ca..113c33111ead 100644 --- a/pkgs/by-name/pr/prisma_7/package.nix +++ b/pkgs/by-name/pr/prisma_7/package.nix @@ -36,8 +36,8 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; pnpm = pnpm_10; - fetcherVersion = 1; - hash = "sha256-2I3QeSWCoZDNVrWY0VySHT05T4FQ0PQLoMirs2vuuNM="; + fetcherVersion = 3; + hash = "sha256-HZsrHYUh4nxUgwVbmJ+fV4/OZvEWDKkD4CT8hIt1SRY="; }; patchPhase = '' From 98e83d7550bce3f3d484714e626be0720d29487b Mon Sep 17 00:00:00 2001 From: Rhys-T <108157737+Rhys-T@users.noreply.github.com> Date: Sat, 3 Jan 2026 12:43:27 -0500 Subject: [PATCH 14/97] maintainers: add Rhys-T --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6d0c3f8174b3..5fce3315a215 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -22294,6 +22294,11 @@ github = "RhydianJenkins"; githubId = 9198690; }; + Rhys-T = { + name = "Rhys T."; + github = "Rhys-T"; + githubId = 108157737; + }; rhysmdnz = { email = "rhys@memes.nz"; matrix = "@rhys:memes.nz"; From 2ce53c31d2305f270e75f7d870711370e43374dd Mon Sep 17 00:00:00 2001 From: Rhys-T <108157737+Rhys-T@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:08:07 -0500 Subject: [PATCH 15/97] neverball: add support for darwin Main change is removing `-lX11 -lgcc_s`, and updating the platform list. Everything else is just turning the games into proper macOS `.app` bundles. --- pkgs/by-name/ne/neverball/package.nix | 49 +++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ne/neverball/package.nix b/pkgs/by-name/ne/neverball/package.nix index 9526c928c514..ecc9828ab8dd 100644 --- a/pkgs/by-name/ne/neverball/package.nix +++ b/pkgs/by-name/ne/neverball/package.nix @@ -12,6 +12,8 @@ libvorbis, gettext, physfs, + iconv, + makeBinaryWrapper, }: stdenv.mkDerivation rec { @@ -31,6 +33,10 @@ stdenv.mkDerivation rec { }) ]; + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + iconv + makeBinaryWrapper + ]; buildInputs = [ libpng SDL2 @@ -38,9 +44,11 @@ stdenv.mkDerivation rec { libjpeg SDL2_ttf libvorbis - libX11 gettext physfs + ] + ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ + libX11 ]; dontPatchELF = true; @@ -48,7 +56,21 @@ stdenv.mkDerivation rec { postPatch = '' sed -i -e 's@\./data@'$out/share/neverball/data@ share/base_config.h Makefile sed -i -e 's@\./locale@'$out/share/neverball/locale@ share/base_config.h Makefile - sed -i -e 's@-lvorbisfile@-lvorbisfile -lX11 -lgcc_s@' Makefile + sed -i -e 's@-lvorbisfile@-lvorbisfile${ + lib.optionalString (!stdenv.hostPlatform.isDarwin) " -lX11" + + lib.optionalString stdenv.cc.isGNU " -lgcc_s" + }@' Makefile + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + for game in ball putt; do + pushd macosx/xcode/''${game}_items/ + substituteInPlace Info.plist --replace-fail '1.5.3' "$version" + iconv -f UTF-16LE -t UTF-8 English.lproj/InfoPlist.strings > English.lproj/InfoPlist.strings.tmp + substituteInPlace English.lproj/InfoPlist.strings.tmp --replace-fail '1.5.3' "$version" --replace-fail '2002-2009' '2002-2014' + iconv -f UTF-8 -t UTF-16LE English.lproj/InfoPlist.strings.tmp > English.lproj/InfoPlist.strings + rm English.lproj/InfoPlist.strings.tmp + popd + done ''; # The map generation code requires a writable HOME @@ -57,8 +79,23 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin $out/share/neverball cp -R data locale $out/share/neverball - cp neverball $out/bin - cp neverputt $out/bin + ${ + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications/Never{ball,putt}.app/Contents/{MacOS,Resources} + for game in ball putt; do + cp never$game $out/Applications/Never$game.app/Contents/MacOS/Never$game + makeWrapper $out/Applications/Never$game.app/Contents/MacOS/Never$game $out/bin/never$game + cp macosx/xcode/''${game}_items/Info.plist $out/Applications/Never$game.app/Contents/Info.plist + cp -r macosx/icons/never$game.icns macosx/xcode/''${game}_items/English.lproj $out/Applications/Never$game.app/Contents/Resources/ + done + '' + else + '' + cp neverball $out/bin + cp neverputt $out/bin + '' + } cp mapc $out/bin ''; @@ -73,7 +110,7 @@ stdenv.mkDerivation rec { mit gpl3Only ]; - maintainers = [ ]; - platforms = with lib.platforms; linux; + maintainers = with lib.maintainers; [ Rhys-T ]; + platforms = with lib.platforms; linux ++ darwin; }; } From 97b8213725b290e74e3b01ec8639109c81c660f9 Mon Sep 17 00:00:00 2001 From: Alois Wohlschlager Date: Sat, 13 Dec 2025 11:22:43 +0100 Subject: [PATCH 16/97] lixPackageSets.*.lix: remove unneeded libsodium dependency In ce375feadf84cdffebeaa89ff4a8109e4a443121, by accident the conditional libsodium was introduced in addition to the previously existing unconditional one, instead of replacing it. Correct this mistake now. --- pkgs/tools/package-management/lix/common-lix.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix index f792ad9b561d..5143ab284ead 100644 --- a/pkgs/tools/package-management/lix/common-lix.nix +++ b/pkgs/tools/package-management/lix/common-lix.nix @@ -196,7 +196,6 @@ stdenv.mkDerivation (finalAttrs: { curl capnproto editline - libsodium openssl sqlite xz From aba5e58b7dec581910410b8a3a3c3282e038aa1c Mon Sep 17 00:00:00 2001 From: Alois Wohlschlager Date: Sun, 4 Jan 2026 11:48:23 +0100 Subject: [PATCH 17/97] lixPackageSets.*.lix: unbreak cross builds by disabling install checks Due to an issue [1] in the Python splices uncovered by the setuptools-rust cross compilation fix [2], some dependencies will otherwise fail to build. Unfortunately this actually means losing the tests when the build platform can execute host binaries (such as in `pkgsStatic`), but there's not a lot one can do about this without fixing the Python splicing. [1] https://github.com/NixOS/nixpkgs/issues/476822 [2] https://github.com/NixOS/nixpkgs/pull/467817 --- pkgs/tools/package-management/lix/common-lix.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix index 5143ab284ead..38c112a005e2 100644 --- a/pkgs/tools/package-management/lix/common-lix.nix +++ b/pkgs/tools/package-management/lix/common-lix.nix @@ -346,7 +346,8 @@ stdenv.mkDerivation (finalAttrs: { rapidcheck ]; - doInstallCheck = true; + # Python splices are broken (https://github.com/NixOS/nixpkgs/issues/476822), causing build failure in `buildPackages.python3Packages.bcrypt`. + doInstallCheck = stdenv.buildPlatform == stdenv.hostPlatform; mesonInstallCheckFlags = [ "--suite=installcheck" "--print-errorlogs" From a4620e9203a55133ffcd71f578b875de6e9e0727 Mon Sep 17 00:00:00 2001 From: Alois Wohlschlager Date: Sat, 29 Nov 2025 11:57:44 +0100 Subject: [PATCH 18/97] lixPackageSets.git: 2.95.0-pre-20251121_b707403a3080 -> 2.95.0-pre-20260103_d387c9113c73 --- pkgs/tools/package-management/lix/common-lix.nix | 14 +++++++++++++- pkgs/tools/package-management/lix/default.nix | 8 +++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/package-management/lix/common-lix.nix b/pkgs/tools/package-management/lix/common-lix.nix index 38c112a005e2..7e0ddc4f4846 100644 --- a/pkgs/tools/package-management/lix/common-lix.nix +++ b/pkgs/tools/package-management/lix/common-lix.nix @@ -294,9 +294,21 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals - (stdenv.hostPlatform.isLinux && finalAttrs.doInstallCheck && lib.versionAtLeast version "2.94") + ( + stdenv.hostPlatform.isLinux + && finalAttrs.doInstallCheck + && lib.versionAtLeast version "2.94" + && lib.versionOlder version "2.95" + ) [ (lib.mesonOption "build-test-shell" "${pkgsStatic.busybox}/bin") + ] + ++ + lib.optionals + (stdenv.hostPlatform.isLinux && finalAttrs.doInstallCheck && lib.versionAtLeast version "2.95") + [ + (lib.mesonOption "build-test-env" "${pkgsStatic.busybox}/bin") + (lib.mesonOption "build-test-shell" "${pkgsStatic.bash}/bin") ]; ninjaFlags = [ "-v" ]; diff --git a/pkgs/tools/package-management/lix/default.nix b/pkgs/tools/package-management/lix/default.nix index 80df0b52c248..814bd457e050 100644 --- a/pkgs/tools/package-management/lix/default.nix +++ b/pkgs/tools/package-management/lix/default.nix @@ -265,14 +265,14 @@ lib.makeExtensible ( attrName = "git"; lix-args = rec { - version = "2.95.0-pre-20251121_${builtins.substring 0 12 src.rev}"; + version = "2.95.0-pre-20260103_${builtins.substring 0 12 src.rev}"; src = fetchFromGitea { domain = "git.lix.systems"; owner = "lix-project"; repo = "lix"; - rev = "b707403a308030739dfeacc5b0aaaeef8ba3f633"; - hash = "sha256-kas7FT2J86DVJlPH5dNNHM56OgdQQyfCE/dX/EOKDp8="; + rev = "d387c9113c73f04bed46dbdd59b6c36de2253d73"; + hash = "sha256-jYUcmXA4FNwoJtxRgH+Be96wQv8h9Y9dByYf+KmcgK4="; }; cargoDeps = rustPlatform.fetchCargoVendor { @@ -280,8 +280,6 @@ lib.makeExtensible ( inherit src; hash = "sha256-APm8m6SVEAO17BBCka13u85/87Bj+LePP7Y3zHA3Mpg="; }; - - patches = [ lixMdbookPatch ]; }; }; From 4abb28013cdcc2811a95934f47fb66edf0ae736a Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 19/97] webmacs: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/applications/networking/browsers/webmacs/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/webmacs/default.nix b/pkgs/applications/networking/browsers/webmacs/default.nix index 737affc42bb9..a3816002a53b 100644 --- a/pkgs/applications/networking/browsers/webmacs/default.nix +++ b/pkgs/applications/networking/browsers/webmacs/default.nix @@ -7,9 +7,7 @@ herbstluftwm, }: -mkDerivationWith python3Packages.buildPythonApplication rec { - inherit stdenv; - +mkDerivationWith (python3Packages.buildPythonApplication.override { inherit stdenv; }) rec { pname = "webmacs"; version = "0.8"; format = "setuptools"; From d8ef82cbdef8dc3e53d3ee6b915ab1cf2ede643c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 4 Jan 2026 20:13:53 +0000 Subject: [PATCH 20/97] lms: 3.73.0 -> 3.74.0 --- pkgs/by-name/lm/lms/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lm/lms/package.nix b/pkgs/by-name/lm/lms/package.nix index 59f17dcfd316..3137d88a0563 100644 --- a/pkgs/by-name/lm/lms/package.nix +++ b/pkgs/by-name/lm/lms/package.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "lms"; - version = "3.73.0"; + version = "3.74.0"; src = fetchFromGitHub { owner = "epoupon"; repo = "lms"; rev = "v${version}"; - hash = "sha256-9m1YvuYuiiEXAX8HFt61VGZN/ThYXdBcwOSeL05mwOU="; + hash = "sha256-D1Sg6XzZ8t/dFKrVh7k+KGLg2r6LeLGJk4FweVb4L1A="; }; strictDeps = true; From 17eba81d9d8d0ea75529a0c314f58b82cfb9e480 Mon Sep 17 00:00:00 2001 From: cor Date: Sun, 4 Jan 2026 21:16:19 +0100 Subject: [PATCH 21/97] biome: 2.3.9 -> 2.3.11 --- pkgs/by-name/bi/biome/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/bi/biome/package.nix b/pkgs/by-name/bi/biome/package.nix index b6e450ca832a..0b8119e4702c 100644 --- a/pkgs/by-name/bi/biome/package.nix +++ b/pkgs/by-name/bi/biome/package.nix @@ -10,16 +10,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "biome"; - version = "2.3.9"; + version = "2.3.11"; src = fetchFromGitHub { owner = "biomejs"; repo = "biome"; rev = "@biomejs/biome@${finalAttrs.version}"; - hash = "sha256-2eW60IoEeh3pnnsnZLdS6paw0f6vf+2LBM95WyOKDwc="; + hash = "sha256-AWVFrzIDg+mVnUYTMLr10o8IOSvewVhVMcYd2wvT5y0="; }; - cargoHash = "sha256-WSl/OObiOXx4MJcnGQtvGVfM2i5k8lLIQoPy9s+GT/U="; + cargoHash = "sha256-N2TauXj1pRrYnVD0qPtruy7qwdWBGJaa47++AaY8TMQ="; nativeBuildInputs = [ pkg-config ]; From 5fc995e36dc7b361dd72e90258ecaac93c67d4ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 4 Jan 2026 23:05:56 +0000 Subject: [PATCH 22/97] adguardhome: 0.107.69 -> 0.107.71 --- pkgs/by-name/ad/adguardhome/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ad/adguardhome/package.nix b/pkgs/by-name/ad/adguardhome/package.nix index b175a5ea5a38..124f19ca0a04 100644 --- a/pkgs/by-name/ad/adguardhome/package.nix +++ b/pkgs/by-name/ad/adguardhome/package.nix @@ -9,15 +9,15 @@ buildGoModule (finalAttrs: { pname = "adguardhome"; - version = "0.107.69"; + version = "0.107.71"; src = fetchFromGitHub { owner = "AdguardTeam"; repo = "AdGuardHome"; tag = "v${finalAttrs.version}"; - hash = "sha256-eUMssp4rYmkreYdaSDlYP0bQsZgsrrN9e65UF7NseN8="; + hash = "sha256-uyDmS/C1nd0DEHy91tMw/2W5Rih/0j59yxGCwTjFjPc="; }; - vendorHash = "sha256-qee3ifDDR1U23VZAu0gj1CPPaDrSQfwfrKte1OUZPlE="; + vendorHash = "sha256-KSDvI7SljFUZSUFytT1U76HzQydv3rNsOmDMKCXDl6M="; dashboard = buildNpmPackage { inherit (finalAttrs) src version; @@ -45,7 +45,7 @@ buildGoModule (finalAttrs: { passthru = { updateScript = ./update.sh; - schema_version = 31; + schema_version = 32; tests.adguardhome = nixosTests.adguardhome; tests.version = testers.testVersion { package = finalAttrs.finalPackage; From 78f0bc8e0f7268dfec6c299d6e2e167fe340b8a7 Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Fri, 2 Jan 2026 21:34:33 +0100 Subject: [PATCH 23/97] opencode: install shell completions (bash only) Related to https://github.com/sst/opencode/pull/6239 --- pkgs/by-name/op/opencode/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index 1d6076a7b127..801626c102b4 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -9,6 +9,7 @@ nix-update-script, ripgrep, testers, + installShellFiles, writableTmpDirAsHomeHook, }: let @@ -85,8 +86,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { nativeBuildInputs = [ bun + installShellFiles makeBinaryWrapper models-dev + writableTmpDirAsHomeHook ]; patches = [ @@ -197,6 +200,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { $out/lib/opencode/node_modules/@opentui/$pkgName fi done + + ${lib.optionalString (stdenvNoCC.hostPlatform.system != "x86_64-darwin") '' + installShellCompletion --cmd opencode \ + --bash <($out/bin/opencode completion) + ''} ''; passthru = { From 75f384604ee9aae03e62df53fd63284fe1d1c043 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 05:26:44 +0000 Subject: [PATCH 24/97] python3Packages.cmudict: 1.1.2 -> 1.1.3 --- pkgs/development/python-modules/cmudict/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index b75eb3e66209..e13e07b23717 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "cmudict"; - version = "1.1.2"; + version = "1.1.3"; pyproject = true; disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version; - hash = "sha256-IhZd73NPGpwZHKFowGbX6lgsi42nkNo+g0TpZeJkfbg="; + hash = "sha256-9sHLmi/+zvOHvxobk75sYckbxvQXFPGDw+tNWz4f9fY="; }; build-system = [ From 8de435f22e3f7db4fbfa38a4f0057953b31a47bb Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Mon, 5 Jan 2026 14:55:06 +0800 Subject: [PATCH 25/97] limine: 10.6.0 -> 10.6.1 --- pkgs/by-name/li/limine/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/li/limine/package.nix b/pkgs/by-name/li/limine/package.nix index 5ee9c05a017d..238f21a95b06 100644 --- a/pkgs/by-name/li/limine/package.nix +++ b/pkgs/by-name/li/limine/package.nix @@ -47,14 +47,14 @@ in # as bootloader for various platforms and corresponding binary and helper files. stdenv.mkDerivation (finalAttrs: { pname = "limine"; - version = "10.6.0"; + version = "10.6.1"; # We don't use the Git source but the release tarball, as the source has a # `./bootstrap` script performing network access to download resources. # Packaging that in Nix is very cumbersome. src = fetchurl { url = "https://codeberg.org/Limine/Limine/releases/download/v${finalAttrs.version}/limine-${finalAttrs.version}.tar.gz"; - hash = "sha256-rNLPfDHYVGOzO7pnv7w+l8kevmKPFFJ3O5MtPN6YlG4="; + hash = "sha256-juCivgLVpGY7hiHLMhZwhTTcIPA2CfYyKHTp8Oy33mI="; }; enableParallelBuilding = true; From 4124e02976fcdab6e3aaad71442ca6e72607bff0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 08:22:13 +0000 Subject: [PATCH 26/97] slade: 3.2.9 -> 3.2.10 --- pkgs/by-name/sl/slade/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sl/slade/package.nix b/pkgs/by-name/sl/slade/package.nix index 85c3758264d1..3dd90e566256 100644 --- a/pkgs/by-name/sl/slade/package.nix +++ b/pkgs/by-name/sl/slade/package.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "slade"; - version = "3.2.9"; + version = "3.2.10"; src = fetchFromGitHub { owner = "sirjuddington"; repo = "SLADE"; tag = finalAttrs.version; - hash = "sha256-N+rCtrfvVJnkfj8kU4ahzF6o7lp1VWJbVmkvaZoxBv8="; + hash = "sha256-r1tfp0NomZEETY41wXIDvZbgCbBFEh4oW0qcnr/t/9E="; }; nativeBuildInputs = [ From 82d8751b6c50e576c086179200b3f1f8f218f8b2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 12:27:21 +0100 Subject: [PATCH 27/97] python313Packages.cmudict: update changelog entry --- pkgs/development/python-modules/cmudict/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index e13e07b23717..54791fad377b 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { ]; meta = { - changelog = "https://github.com/prosegrinder/python-cmudict/blob/main/CHANGELOG.md"; + changelog = "https://github.com/prosegrinder/python-cmudict/blob/v${version}/CHANGELOG.md"; description = "A versioned python wrapper package for The CMU Pronouncing Dictionary data files"; homepage = "https://pypi.org/project/cmudict/"; license = lib.licenses.gpl3Only; From 7540690ca71c1592d393315aa0375e2f93e07021 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 12:28:40 +0100 Subject: [PATCH 28/97] python3Packages.cmudict: remove disabled --- pkgs/development/python-modules/cmudict/default.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index 54791fad377b..601b51676d2a 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchPypi, - pythonOlder, poetry-core, importlib-metadata, importlib-resources, @@ -13,24 +12,19 @@ buildPythonPackage rec { version = "1.1.3"; pyproject = true; - disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version; hash = "sha256-9sHLmi/+zvOHvxobk75sYckbxvQXFPGDw+tNWz4f9fY="; }; - build-system = [ - poetry-core - ]; + build-system = [ poetry-core ]; dependencies = [ importlib-metadata importlib-resources ]; - pythonImportsCheck = [ - "cmudict" - ]; + pythonImportsCheck = [ "cmudict" ]; meta = { changelog = "https://github.com/prosegrinder/python-cmudict/blob/v${version}/CHANGELOG.md"; From 7a33cc6a6723f0a94970f9674bbee827b047a228 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 12:31:27 +0100 Subject: [PATCH 29/97] python3Packages.cmudict: migrate to finalAttrs --- pkgs/development/python-modules/cmudict/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index 601b51676d2a..c43bb3089540 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -7,7 +7,7 @@ importlib-resources, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "cmudict"; version = "1.1.3"; pyproject = true; @@ -27,10 +27,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "cmudict" ]; meta = { - changelog = "https://github.com/prosegrinder/python-cmudict/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/prosegrinder/python-cmudict/blob/v${finalAttrs.version}/CHANGELOG.md"; description = "A versioned python wrapper package for The CMU Pronouncing Dictionary data files"; homepage = "https://pypi.org/project/cmudict/"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ sandarukasa ]; }; -} +}) From 9d729253cfac7754d04e8314720e047d1f501885 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 12:51:06 +0100 Subject: [PATCH 30/97] python313Packages.cmudict: modernize --- pkgs/development/python-modules/cmudict/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index c43bb3089540..52c11ee115e2 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -2,9 +2,9 @@ lib, buildPythonPackage, fetchPypi, - poetry-core, importlib-metadata, importlib-resources, + poetry-core, }: buildPythonPackage (finalAttrs: { @@ -13,7 +13,7 @@ buildPythonPackage (finalAttrs: { pyproject = true; src = fetchPypi { - inherit pname version; + inherit (finalAttrs) pname version; hash = "sha256-9sHLmi/+zvOHvxobk75sYckbxvQXFPGDw+tNWz4f9fY="; }; @@ -27,9 +27,9 @@ buildPythonPackage (finalAttrs: { pythonImportsCheck = [ "cmudict" ]; meta = { + description = "Python wrapper package for The CMU Pronouncing Dictionary data files"; + homepage = "https://github.com/prosegrinder/python-cmudict"; changelog = "https://github.com/prosegrinder/python-cmudict/blob/v${finalAttrs.version}/CHANGELOG.md"; - description = "A versioned python wrapper package for The CMU Pronouncing Dictionary data files"; - homepage = "https://pypi.org/project/cmudict/"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ sandarukasa ]; }; From 16a151c310104eb2d3a7771c5fe28f84e43193cb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 13:01:22 +0100 Subject: [PATCH 31/97] python313Packages.cmudict: enable tests --- .../development/python-modules/cmudict/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/cmudict/default.nix b/pkgs/development/python-modules/cmudict/default.nix index 52c11ee115e2..ad9878c10d9b 100644 --- a/pkgs/development/python-modules/cmudict/default.nix +++ b/pkgs/development/python-modules/cmudict/default.nix @@ -1,10 +1,11 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, importlib-metadata, importlib-resources, poetry-core, + pytestCheckHook, }: buildPythonPackage (finalAttrs: { @@ -12,9 +13,12 @@ buildPythonPackage (finalAttrs: { version = "1.1.3"; pyproject = true; - src = fetchPypi { - inherit (finalAttrs) pname version; - hash = "sha256-9sHLmi/+zvOHvxobk75sYckbxvQXFPGDw+tNWz4f9fY="; + src = fetchFromGitHub { + owner = "prosegrinder"; + repo = "python-cmudict"; + tag = "v${finalAttrs.version}"; + hash = "sha256-pOqzezrDlwlVsvBHreHmLKxYKDxllZNs0TgLwxBhy58="; + fetchSubmodules = true; }; build-system = [ poetry-core ]; @@ -24,6 +28,8 @@ buildPythonPackage (finalAttrs: { importlib-resources ]; + nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "cmudict" ]; meta = { From 9a7d74c9a1d2c85a435aca4584411f58b4baea0f Mon Sep 17 00:00:00 2001 From: arminius-smh Date: Mon, 5 Jan 2026 14:29:52 +0100 Subject: [PATCH 32/97] vlc: libbluray -> libbluray-full add support for playback of encrypted blurays --- pkgs/by-name/vl/vlc/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vl/vlc/package.nix b/pkgs/by-name/vl/vlc/package.nix index 3880b90314b7..94af6b973cc7 100644 --- a/pkgs/by-name/vl/vlc/package.nix +++ b/pkgs/by-name/vl/vlc/package.nix @@ -27,7 +27,7 @@ libXpm, libarchive, libass, - libbluray, + libbluray-full, libcaca, libcddb, libdc1394, @@ -153,7 +153,7 @@ stdenv.mkDerivation (finalAttrs: { libSM libarchive libass - libbluray + libbluray-full libcaca libcddb libdc1394 From 8d063fdf3d111e913edcad43d5c0e47a7c24d8f7 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 33/97] xpra: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/by-name/xp/xpra/package.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/xp/xpra/package.nix b/pkgs/by-name/xp/xpra/package.nix index fd921eb40923..b2344e9477aa 100644 --- a/pkgs/by-name/xp/xpra/package.nix +++ b/pkgs/by-name/xp/xpra/package.nix @@ -48,7 +48,7 @@ withHtml ? true, xpra-html5, udevCheckHook, -}@args: +}: let inherit (python3.pkgs) cython buildPythonApplication; @@ -86,14 +86,15 @@ let mkdir -p $out/include $out/lib/pkgconfig substituteAll ${cudaPackages.libnvjpeg.dev}/share/pkgconfig/nvjpeg.pc $out/lib/pkgconfig/nvjpeg.pc ''; + effectiveBuildPythonApplication = buildPythonApplication.override { + stdenv = if withNvenc then cudaPackages.backendStdenv else stdenv; + }; in -buildPythonApplication rec { +effectiveBuildPythonApplication rec { pname = "xpra"; version = "6.3.6"; format = "setuptools"; - stdenv = if withNvenc then cudaPackages.backendStdenv else args.stdenv; - src = fetchFromGitHub { owner = "Xpra-org"; repo = "xpra"; From 1127e9df030ec2682f5b4ac8bd0f19265aeaf7df Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 34/97] python3Packages.cupy: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/cupy/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix index 0eb635c06a15..3af28161ba4e 100644 --- a/pkgs/development/python-modules/cupy/default.nix +++ b/pkgs/development/python-modules/cupy/default.nix @@ -49,13 +49,11 @@ let outpaths ++ lib.concatMap (outpath: lib.map (output: outpath.${output}) outpath.outputs) outpaths; }; in -buildPythonPackage rec { +buildPythonPackage.override { stdenv = cudaPackages.backendStdenv; } rec { pname = "cupy"; version = "13.6.0"; pyproject = true; - stdenv = cudaPackages.backendStdenv; - src = fetchFromGitHub { owner = "cupy"; repo = "cupy"; From 00a680dcfd33bc1f46a827f5f5ed4834cad220b6 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 35/97] python3Packages.openusd: remove superfluous stdenv parameter to buildPythonApplication Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. Passing the normal `stdenv` to `buildPythonApplication` doensn't do anything. --- pkgs/development/python-modules/openusd/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/openusd/default.nix b/pkgs/development/python-modules/openusd/default.nix index 0354d1c923a6..7b7a8cf09168 100644 --- a/pkgs/development/python-modules/openusd/default.nix +++ b/pkgs/development/python-modules/openusd/default.nix @@ -33,6 +33,7 @@ python, qt6, setuptools, + stdenv, onetbb, withDocs ? false, withOsl ? true, @@ -61,8 +62,6 @@ buildPythonPackage rec { hash = "sha256-gxikEC4MqTkhgYaRsCVYtS/VmXClSaCMdzpQ0LmiR7Q="; }; - stdenv = python.stdenv; - outputs = [ "out" ] ++ lib.optional withDocs "doc"; patches = [ From 2bd654f9b11f724738f19cd3fd6ccff3730d596f Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 36/97] python3Packages.psutil: remove superfluous stdenv parameter to buildPythonApplication Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. Passing the normal `stdenv` to `buildPythonApplication` doensn't do anything. --- pkgs/development/python-modules/psutil/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix index d1d2f609d652..8a60fac56e20 100644 --- a/pkgs/development/python-modules/psutil/default.nix +++ b/pkgs/development/python-modules/psutil/default.nix @@ -14,8 +14,6 @@ buildPythonPackage rec { version = "7.1.3"; pyproject = true; - inherit stdenv; - src = fetchFromGitHub { owner = "giampaolo"; repo = "psutil"; From abb6ad9548ead9055f869f1c4b99014a6778b6c4 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 37/97] python3Packages.python-mapnik: remove superfluous stdenv parameter to buildPythonApplication Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. Passing `python.stdenv` to `buildPythonApplication` doensn't do anything --- pkgs/development/python-modules/python-mapnik/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix index 5a37c6cc8d32..8c5874ea7f19 100644 --- a/pkgs/development/python-modules/python-mapnik/default.nix +++ b/pkgs/development/python-modules/python-mapnik/default.nix @@ -5,6 +5,7 @@ replaceVars, isPyPy, python, + stdenv, setuptools, pillow, pycairo, @@ -27,7 +28,7 @@ pybind11, }: -buildPythonPackage rec { +buildPythonPackage { pname = "python-mapnik"; version = "4.1.3.unstable-2025-09-25"; pyproject = true; @@ -49,8 +50,6 @@ buildPythonPackage rec { }) ]; - stdenv = python.stdenv; - build-system = [ setuptools ]; nativeBuildInputs = [ From 6a673c97295baeb2a08aa0f1291e258d354df293 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 38/97] python3Packages.torchaudio: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/torchaudio/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/torchaudio/default.nix b/pkgs/development/python-modules/torchaudio/default.nix index 1b22d4efdf59..afea38e2ab98 100644 --- a/pkgs/development/python-modules/torchaudio/default.nix +++ b/pkgs/development/python-modules/torchaudio/default.nix @@ -74,14 +74,13 @@ let else throw "No GPU targets specified" ); + stdenv = torch.stdenv; in -buildPythonPackage rec { +buildPythonPackage.override { inherit stdenv; } rec { pname = "torchaudio"; version = "2.9.1"; pyproject = true; - stdenv = torch.stdenv; - src = fetchFromGitHub { owner = "pytorch"; repo = "audio"; From 8c40583b0e0b694382f5360da5759199f06727a2 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 39/97] python3Packages.torchvision: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/torchvision/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix index c13be8dfb523..ce38cc74401c 100644 --- a/pkgs/development/python-modules/torchvision/default.nix +++ b/pkgs/development/python-modules/torchvision/default.nix @@ -30,12 +30,10 @@ let pname = "torchvision"; version = "0.24.1"; in -buildPythonPackage { +buildPythonPackage.override { stdenv = torch.stdenv; } { format = "setuptools"; inherit pname version; - stdenv = torch.stdenv; - src = fetchFromGitHub { owner = "pytorch"; repo = "vision"; From c34997d830baba1ad0d5e992be0873947617d9d7 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 40/97] python3Packages.verilogae: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/verilogae/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/verilogae/default.nix b/pkgs/development/python-modules/verilogae/default.nix index 2e159af68a70..a60e2498e9d0 100644 --- a/pkgs/development/python-modules/verilogae/default.nix +++ b/pkgs/development/python-modules/verilogae/default.nix @@ -14,13 +14,11 @@ zlib, }: -buildPythonPackage rec { +buildPythonPackage.override { stdenv = llvmPackages.stdenv; } rec { pname = "verilogae"; version = "24.0.0mob-unstable-2025-07-21"; pyproject = true; - stdenv = llvmPackages.stdenv; - src = fetchFromGitHub { owner = "OpenVAF"; repo = "OpenVAF-Reloaded"; From f8158a6e13174a0b55884405db2534cc4ff29e35 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Fri, 2 Jan 2026 23:17:55 +0100 Subject: [PATCH 41/97] python3Packages.vllm: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/vllm/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/vllm/default.nix b/pkgs/development/python-modules/vllm/default.nix index 22211f4d38bd..ea1a1c1f625f 100644 --- a/pkgs/development/python-modules/vllm/default.nix +++ b/pkgs/development/python-modules/vllm/default.nix @@ -313,13 +313,11 @@ let in -buildPythonPackage rec { +buildPythonPackage.override { stdenv = torch.stdenv; } rec { pname = "vllm"; version = "0.13.0"; pyproject = true; - stdenv = torch.stdenv; - src = fetchFromGitHub { owner = "vllm-project"; repo = "vllm"; From 70efa53d2dcfd298697c18a4d286351702e29dcc Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Sat, 3 Jan 2026 00:13:17 +0100 Subject: [PATCH 42/97] python3Packages.dlib: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/dlib/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dlib/default.nix b/pkgs/development/python-modules/dlib/default.nix index d8b863ade3f8..5868705f1127 100644 --- a/pkgs/development/python-modules/dlib/default.nix +++ b/pkgs/development/python-modules/dlib/default.nix @@ -5,9 +5,8 @@ more-itertools, }: -buildPythonPackage { +buildPythonPackage.override { inherit (dlib) stdenv; } { inherit (dlib) - stdenv pname version src From 5e028cc7033391fce812f4b2648cc39c77aece9c Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Sat, 3 Jan 2026 00:13:17 +0100 Subject: [PATCH 43/97] python3Packages.llama-cpp-python: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/llama-cpp-python/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/llama-cpp-python/default.nix b/pkgs/development/python-modules/llama-cpp-python/default.nix index 27781bd0c2c2..5e9e79e390c8 100644 --- a/pkgs/development/python-modules/llama-cpp-python/default.nix +++ b/pkgs/development/python-modules/llama-cpp-python/default.nix @@ -39,7 +39,7 @@ let stdenvTarget = if cudaSupport then gcc13Stdenv else stdenv; in -buildPythonPackage rec { +buildPythonPackage.override { stdenv = stdenvTarget; } rec { pname = "llama-cpp-python"; version = "0.3.16"; pyproject = true; @@ -108,8 +108,6 @@ buildPythonPackage rec { ] ); - stdenv = stdenvTarget; - dependencies = [ diskcache jinja2 From 5f4c3b6941adc211c06b33d14b4dc97e10eee7ec Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Sat, 3 Jan 2026 00:13:17 +0100 Subject: [PATCH 44/97] python3Packages.warp-lang: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/warp-lang/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/warp-lang/default.nix b/pkgs/development/python-modules/warp-lang/default.nix index ca97757e3ff3..d9550d87bd0f 100644 --- a/pkgs/development/python-modules/warp-lang/default.nix +++ b/pkgs/development/python-modules/warp-lang/default.nix @@ -43,7 +43,7 @@ let libmathdx = callPackage ./libmathdx.nix { }; in -buildPythonPackage { +buildPythonPackage.override { stdenv = effectiveStdenv; } { pname = "warp-lang"; inherit version; pyproject = true; @@ -53,8 +53,6 @@ buildPythonPackage { # provided by NVCC. __structuredAttrs = true; - stdenv = effectiveStdenv; - src = fetchFromGitHub { owner = "NVIDIA"; repo = "warp"; From ee013f1a6c1c40db86e6e3777411aca05747b0d3 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Sat, 3 Jan 2026 00:13:17 +0100 Subject: [PATCH 45/97] python3Packages.xformers: pass custom stdenv to buildPythonApplication with an override Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated with `oldestSupportedRelease = 2511`. --- pkgs/development/python-modules/xformers/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/xformers/default.nix b/pkgs/development/python-modules/xformers/default.nix index a39f5154cf3d..8054520520d9 100644 --- a/pkgs/development/python-modules/xformers/default.nix +++ b/pkgs/development/python-modules/xformers/default.nix @@ -35,8 +35,9 @@ let # version 0.0.32.post2 was confirmed to break CUDA. # Remove this note once the latest published revision "just works". version = "0.0.30"; + effectiveStdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv; in -buildPythonPackage { +buildPythonPackage.override { stdenv = effectiveStdenv; } { pname = "xformers"; inherit version; pyproject = true; @@ -66,8 +67,6 @@ buildPythonPackage { TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}"; }; - stdenv = if cudaSupport then cudaPackages.backendStdenv else stdenv; - buildInputs = lib.optional stdenv.hostPlatform.isDarwin openmp ++ lib.optionals cudaSupport ( From 9667e939fa8d55fd49b360f15ffb73b45d116301 Mon Sep 17 00:00:00 2001 From: Leona Maroni Date: Sat, 3 Jan 2026 00:13:17 +0100 Subject: [PATCH 46/97] test/overriding: remove python deprecated stdenv override tests These tests now throw a warning which is prohibited inside Nixpkgs: Passing `stdenv` directly to `buildPythonPackage` or `buildPythonApplication` is deprecated. You should use their `.override` function instead, e.g: buildPythonPackage.override { stdenv = customStdenv; } { } --- pkgs/test/overriding.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/pkgs/test/overriding.nix b/pkgs/test/overriding.nix index 9ee13e3778d2..9d2d0612d23a 100644 --- a/pkgs/test/overriding.nix +++ b/pkgs/test/overriding.nix @@ -446,20 +446,6 @@ let expr = package-stub-libcxx.stdenv; expected = pkgs.libcxxStdenv; }; - overridePythonAttrs-stdenv-deprecated = { - expr = - (package-stub.overridePythonAttrs (_: { - stdenv = pkgs.clangStdenv; - })).stdenv; - expected = pkgs.clangStdenv; - }; - overridePythonAttrs-override-clangStdenv-deprecated-nested = { - expr = - (package-stub-gcc.overridePythonAttrs { - stdenv = pkgs.clangStdenv; - }).stdenv; - expected = pkgs.clangStdenv; - }; overridePythonAttrs = { expr = (applyOverridePythonAttrs package-stub).overridePythonAttrsFlag; From f31c1a89d995c224f9f6dea51b59e3e5a3db03c9 Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 5 Jan 2026 15:38:56 +0100 Subject: [PATCH 47/97] libretro.same_cdi: fix build with GCC 15 - Fix sol2 library compatibility by replacing this->construct() with this->emplace() (https://github.com/ThePhD/sol2/issues/1657) - Add missing cstdint include for uint8_t --- pkgs/applications/emulators/libretro/cores/same_cdi.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/applications/emulators/libretro/cores/same_cdi.nix b/pkgs/applications/emulators/libretro/cores/same_cdi.nix index 517fd721caea..a92e4390b89e 100644 --- a/pkgs/applications/emulators/libretro/cores/same_cdi.nix +++ b/pkgs/applications/emulators/libretro/cores/same_cdi.nix @@ -30,6 +30,15 @@ mkLibretroCore { }) ]; + postPatch = '' + # Fix sol2 compatibility with GCC 15 (construct -> emplace) + # https://github.com/ThePhD/sol2/issues/1657 + sed -i 's/this->construct(std::forward(args)\.\.\.);/this->emplace(std::forward(args)...);/g' 3rdparty/sol2/sol/sol.hpp + + # Fix missing cstdint include for uint8_t + sed -i '1i #include ' src/lib/util/corestr.cpp + ''; + extraNativeBuildInputs = [ python3 ]; extraBuildInputs = [ alsa-lib From 226ae141f95e0321cb401545eb29e5fdeef902ec Mon Sep 17 00:00:00 2001 From: lassulus Date: Mon, 5 Jan 2026 15:39:26 +0100 Subject: [PATCH 48/97] libretro.scummvm: fix build with GCC 15 Rename index/rindex functions in bundled libfaad to avoid conflict with glibc's string.h declarations. --- pkgs/applications/emulators/libretro/cores/scummvm.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/applications/emulators/libretro/cores/scummvm.nix b/pkgs/applications/emulators/libretro/cores/scummvm.nix index acd4315d0ed5..fe52e890a40b 100644 --- a/pkgs/applications/emulators/libretro/cores/scummvm.nix +++ b/pkgs/applications/emulators/libretro/cores/scummvm.nix @@ -50,6 +50,9 @@ mkLibretroCore { cp -a ${libretro-deps-src}/* deps/libretro-deps chmod -R u+w deps/ + # Fix conflicts with glibc index/rindex functions + sed -i 's/\bindex\b/faad_index/g; s/\brindex\b/faad_rindex/g' deps/libretro-deps/libfaad/libfaad/common.h + patchShebangs ./scripts/* ''; From 3bc9bc7e922df105325b148b0e15552b20b15d63 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 16:55:25 +0100 Subject: [PATCH 49/97] python314Packages.pypika: modernize --- .../development/python-modules/pypika/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/pypika/default.nix b/pkgs/development/python-modules/pypika/default.nix index 11fa9455b4bf..b13d5511783b 100644 --- a/pkgs/development/python-modules/pypika/default.nix +++ b/pkgs/development/python-modules/pypika/default.nix @@ -4,30 +4,35 @@ fetchFromGitHub, parameterized, unittestCheckHook, + setuptools, }: -buildPythonPackage rec { + +buildPythonPackage (finalAttrs: { pname = "pypika"; version = "0.49.0"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "kayak"; repo = "pypika"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-Lawsc19sJ3U7rCOnYvDWhWqK/J+Hd3zKG6TrhDsTtVs="; }; - pythonImportsCheck = [ "pypika" ]; + build-system = [ setuptools ]; nativeCheckInputs = [ parameterized unittestCheckHook ]; + pythonImportsCheck = [ "pypika" ]; + meta = { description = "Python SQL query builder"; homepage = "https://github.com/kayak/pypika"; + changelog = "https://github.com/kayak/pypika/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = [ ]; }; -} +}) From cbccbf934de511f2cceea39dca260bf308db5fa2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 16:55:50 +0100 Subject: [PATCH 50/97] python314Packages.pypika: add patch to fix ast deprecation --- pkgs/development/python-modules/pypika/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/development/python-modules/pypika/default.nix b/pkgs/development/python-modules/pypika/default.nix index b13d5511783b..bd29b60e11f6 100644 --- a/pkgs/development/python-modules/pypika/default.nix +++ b/pkgs/development/python-modules/pypika/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch, parameterized, unittestCheckHook, setuptools, @@ -19,6 +20,15 @@ buildPythonPackage (finalAttrs: { hash = "sha256-Lawsc19sJ3U7rCOnYvDWhWqK/J+Hd3zKG6TrhDsTtVs="; }; + patches = [ + # Fix ast deprecation warnings, https://github.com/HENNGE/arsenic/pull/160 + (fetchpatch { + name = "ast-deprecation.patch"; + url = "https://github.com/pyctrl/pypika/commit/e302e4d1c26242bcff61b50e0e8f157f181e1bc0.patch"; + hash = "sha256-pbJwOE5xaAapMKdm1xsNrISbCzHIKuhCgA2lA0vB1T8="; + }) + ]; + build-system = [ setuptools ]; nativeCheckInputs = [ From 3b262253109fd5a66143cc0f991cc44a6e728136 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 17:15:57 +0100 Subject: [PATCH 51/97] python314Packages.posthog: migrate to finalAttrs --- pkgs/development/python-modules/posthog/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/posthog/default.nix b/pkgs/development/python-modules/posthog/default.nix index f2411acfa845..a02e3791c053 100644 --- a/pkgs/development/python-modules/posthog/default.nix +++ b/pkgs/development/python-modules/posthog/default.nix @@ -18,7 +18,7 @@ typing-extensions, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "posthog"; version = "6.7.0"; pyproject = true; @@ -26,7 +26,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "PostHog"; repo = "posthog-python"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-//PjAWZF6FYsiG9UDg+MPv1x06Yp4msBkYkNAU9Rjsc="; }; @@ -73,8 +73,8 @@ buildPythonPackage rec { meta = { description = "Module for interacting with PostHog"; homepage = "https://github.com/PostHog/posthog-python"; - changelog = "https://github.com/PostHog/posthog-python/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/PostHog/posthog-python/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ happysalada ]; }; -} +}) From 444110509e3ee4494f9fb85e5d6da014d748f1b5 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 5 Jan 2026 17:26:55 +0100 Subject: [PATCH 52/97] python314Packages.posthog: 6.7.0 -> 7.0.1 Changelog: https://github.com/PostHog/posthog-python/blob/v7.0.1/CHANGELOG.md --- .../python-modules/posthog/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/posthog/default.nix b/pkgs/development/python-modules/posthog/default.nix index a02e3791c053..7d99bb575b18 100644 --- a/pkgs/development/python-modules/posthog/default.nix +++ b/pkgs/development/python-modules/posthog/default.nix @@ -10,8 +10,10 @@ monotonic, openai, parameterized, + pytest-asyncio, pytestCheckHook, python-dateutil, + pythonAtLeast, requests, setuptools, six, @@ -20,14 +22,14 @@ buildPythonPackage (finalAttrs: { pname = "posthog"; - version = "6.7.0"; + version = "7.0.1"; pyproject = true; src = fetchFromGitHub { owner = "PostHog"; repo = "posthog-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-//PjAWZF6FYsiG9UDg+MPv1x06Yp4msBkYkNAU9Rjsc="; + hash = "sha256-YDW3FneQec09BOUh3wBbgz1ng3n6tkzoAZhIynp4wGA="; }; build-system = [ setuptools ]; @@ -48,6 +50,7 @@ buildPythonPackage (finalAttrs: { mock openai parameterized + pytest-asyncio pytestCheckHook ]; @@ -62,12 +65,15 @@ buildPythonPackage (finalAttrs: { "test_upload" # AssertionError: 2 != 3 "test_flush_interval" + ] + ++ lib.optionals (pythonAtLeast "3.14") [ + # Pydantic V1 functionality isn't compatible with Python 3.14 + "test_clean_pydantic" ]; disabledTestPaths = [ - # Revisit this at the next version bump, issue open upstream - # See https://github.com/PostHog/posthog-python/issues/234 - "posthog/test/ai/openai/test_openai.py" + # Missing parts + "posthog/test/integrations/test_middleware.py" ]; meta = { From 608272b8a5c92446a40ba9d9276f4e2dfc23e596 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 16:48:28 +0000 Subject: [PATCH 53/97] libretro.ppsspp: 0-unstable-2025-12-30 -> 0-unstable-2026-01-04 --- pkgs/applications/emulators/libretro/cores/ppsspp.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/emulators/libretro/cores/ppsspp.nix b/pkgs/applications/emulators/libretro/cores/ppsspp.nix index 659b9c0c1dda..5d7c6373ae21 100644 --- a/pkgs/applications/emulators/libretro/cores/ppsspp.nix +++ b/pkgs/applications/emulators/libretro/cores/ppsspp.nix @@ -13,13 +13,13 @@ }: mkLibretroCore { core = "ppsspp"; - version = "0-unstable-2025-12-30"; + version = "0-unstable-2026-01-04"; src = fetchFromGitHub { owner = "hrydgard"; repo = "ppsspp"; - rev = "34fde065b76805c851d7c4b5bc4c67a3d347aab9"; - hash = "sha256-se8WptzipVwAE6Qwq2hTv7xBsY22HoACdVrPv+ssBDc="; + rev = "6c0aff3a28b8c1ee97e1346d0b2404179ce5e5c0"; + hash = "sha256-X/d3qGpdTJx7r6qtW2P/l7COMsv4oJ1nqjZC0QRLYiQ="; fetchSubmodules = true; }; From df64d9297ce397d29380600b17869e9dd8242ce7 Mon Sep 17 00:00:00 2001 From: bivsk Date: Sat, 3 Jan 2026 06:50:09 -0500 Subject: [PATCH 54/97] inshellisense: do not build against nodejs 24 Upstream does not yet support nodejs 24+; force nodejs 22. See: https://github.com/microsoft/inshellisense/issues/369 --- pkgs/by-name/in/inshellisense/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/in/inshellisense/package.nix b/pkgs/by-name/in/inshellisense/package.nix index c535edbbd344..3ce3096982d6 100644 --- a/pkgs/by-name/in/inshellisense/package.nix +++ b/pkgs/by-name/in/inshellisense/package.nix @@ -3,6 +3,7 @@ stdenv, buildNpmPackage, fetchFromGitHub, + nodejs_22, cacert, }: @@ -17,6 +18,10 @@ buildNpmPackage rec { hash = "sha256-zERwrvioPwGm/351kYuK9S3uOrrzs/6OFPRdNSSr7Tc="; }; + # Building against nodejs-24 is not yet supported by upstream. + # https://github.com/microsoft/inshellisense/issues/369 + nodejs = nodejs_22; + npmDepsHash = "sha256-iD5SvkVbrHh0Hx44y6VtNerwBA8K7vSe/yfvhgndMEw="; # Needed for dependency `@homebridge/node-pty-prebuilt-multiarch` From db467c36ec3a8054fcc68777b5ab842f625057f7 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 14:43:27 -0800 Subject: [PATCH 55/97] vmTools: use callPackage and fix rotted tests --- pkgs/build-support/vm/default.nix | 148 ++++++++++++++++++++---------- pkgs/build-support/vm/test.nix | 58 +++++------- pkgs/test/default.nix | 2 + pkgs/top-level/all-packages.nix | 5 +- 4 files changed, 128 insertions(+), 85 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index bb877c2a7ae3..0741ed1410cc 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1,9 +1,38 @@ { lib, + stdenv, + buildPackages, + bash, + bashInteractive, + busybox, + coreutils, + cpio, + dpkg, + e2fsprogs, + fetchurl, + glibc, + kmod, + linux, + makeInitrd, + makeModulesClosure, + mtdutils, + rpm, + runCommand, + util-linux, + virtiofsd, + writeScript, + writeText, + xz, + zstd, pkgs, + + # ---------------------------- + # The following arguments form the "interface" of `pkgs.vmTools`. + # Note that `img` is a real package, but is set to this default in `all-packages.nix`. + # ---------------------------- customQemu ? null, - kernel ? pkgs.linux, - img ? pkgs.stdenv.hostPlatform.linux-kernel.target, + kernel ? linux, + img ? stdenv.hostPlatform.linux-kernel.target, storeDir ? builtins.storeDir, rootModules ? [ "virtio_pci" @@ -18,30 +47,11 @@ }: let - inherit (pkgs) - bash - bashInteractive - busybox - cpio - coreutils - e2fsprogs - fetchurl - kmod - rpm - stdenv - util-linux - buildPackages - writeScript - writeText - runCommand - ; -in -rec { qemu-common = import ../../../nixos/lib/qemu-common.nix { inherit lib pkgs; }; qemu = buildPackages.qemu_kvm; - modulesClosure = pkgs.makeModulesClosure { + modulesClosure = makeModulesClosure { kernel = lib.getOutput "modules" kernel; inherit rootModules; firmware = kernel; @@ -64,18 +74,18 @@ rec { # Copy what we need from Glibc. cp -p \ - ${pkgs.stdenv.cc.libc}/lib/ld-*.so.? \ - ${pkgs.stdenv.cc.libc}/lib/libc.so.* \ - ${pkgs.stdenv.cc.libc}/lib/libm.so.* \ - ${pkgs.stdenv.cc.libc}/lib/libresolv.so.* \ - ${pkgs.stdenv.cc.libc}/lib/libpthread.so.* \ - ${pkgs.zstd.out}/lib/libzstd.so.* \ - ${pkgs.xz.out}/lib/liblzma.so.* \ + ${stdenv.cc.libc}/lib/ld-*.so.? \ + ${stdenv.cc.libc}/lib/libc.so.* \ + ${stdenv.cc.libc}/lib/libm.so.* \ + ${stdenv.cc.libc}/lib/libresolv.so.* \ + ${stdenv.cc.libc}/lib/libpthread.so.* \ + ${zstd.out}/lib/libzstd.so.* \ + ${xz.out}/lib/liblzma.so.* \ $out/lib # Copy BusyBox. - cp -pd ${pkgs.busybox}/bin/* $out/bin - cp -pd ${pkgs.kmod}/bin/* $out/bin + cp -pd ${busybox}/bin/* $out/bin + cp -pd ${kmod}/bin/* $out/bin # Run patchelf to make the programs refer to the copied libraries. for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done @@ -179,7 +189,7 @@ rec { exec switch_root /fs $command ''; - initrd = pkgs.makeInitrd { + initrd = makeInitrd { contents = [ { object = stage1Init; @@ -294,8 +304,8 @@ rec { ''${diskImage:+diskImage=$diskImage} # GitHub Actions runners seems to not allow installing seccomp filter: https://github.com/rcambrj/nix-pi-loader/issues/1#issuecomment-2605497516 # Since we are running in a sandbox already, the difference between seccomp and none is minimal - ${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-store.sock --sandbox none --seccomp none --shared-dir "${storeDir}" & - ${pkgs.virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-xchg.sock --sandbox none --seccomp none --shared-dir xchg & + ${virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-store.sock --sandbox none --seccomp none --shared-dir "${storeDir}" & + ${virtiofsd}/bin/virtiofsd --xattr --socket-path virtio-xchg.sock --sandbox none --seccomp none --shared-dir xchg & # Wait until virtiofsd has created these sockets to avoid race condition. until [[ -e virtio-store.sock ]]; do ${coreutils}/bin/sleep 1; done @@ -437,8 +447,8 @@ rec { stdenv.mkDerivation { name = "extract-file-mtd"; buildInputs = [ - pkgs.util-linux - pkgs.mtdutils + util-linux + mtdutils ]; buildCommand = '' ln -s ${kernel}/lib /lib @@ -729,9 +739,9 @@ rec { PATH=$PATH:${ lib.makeBinPath [ - pkgs.dpkg - pkgs.glibc - pkgs.xz + dpkg + glibc + xz ] } @@ -1100,24 +1110,24 @@ rec { }; debian13i386 = { - name = "debian-13.0-trixie-i386"; - fullName = "Debian 13.0 Trixie (i386)"; + name = "debian-13.2-trixie-i386"; + fullName = "Debian 13.2 Trixie (i386)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20250819T202603Z/dists/trixie/main/binary-i386/Packages.xz"; - hash = "sha256-fXjhaG1Y+kn6iMEtqVZLwYN7lZ0cEQKVfMS3hSHJipY="; + url = "https://snapshot.debian.org/archive/debian/20251203T144617Z/dists/trixie/main/binary-i386/Packages.xz"; + hash = "sha256-9zozvFZoWiv3wNe9rb+kPwSOgc5G5f4zmNpdoet5A78="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20250819T202603Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251203T144617Z"; packages = commonDebianPackages; }; debian13x86_64 = { - name = "debian-13.0-trixie-amd64"; - fullName = "Debian 13.0 Trixie (amd64)"; + name = "debian-13.2-trixie-amd64"; + fullName = "Debian 13.2 Trixie (amd64)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20250819T202603Z/dists/trixie/main/binary-amd64/Packages.xz"; - hash = "sha256-15cDoCcTv3m5fiZqP1hqWWnSG1BVUZSrm5YszTSKQs4="; + url = "https://snapshot.debian.org/archive/debian/20251203T144617Z/dists/trixie/main/binary-amd64/Packages.xz"; + hash = "sha256-g7f+tKljUXAC4gxJfzSC8+j0GbiwRZjonv25tYuvxtU="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20250819T202603Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251203T144617Z"; packages = commonDebianPackages; }; }; @@ -1284,5 +1294,43 @@ rec { `debDistros' sets. */ diskImages = lib.mapAttrs (name: f: f { }) diskImageFuns; - +in +{ + inherit + buildRPM + commonCentOSPackages + commonDebPackages + commonDebianPackages + commonFedoraPackages + commonOpenSUSEPackages + commonRHELPackages + createEmptyImage + debClosureGenerator + debDistros + defaultCreateRootFS + diskImageExtraFuns + diskImageFuns + diskImages + extractFs + extractMTDfs + fillDiskWithDebs + fillDiskWithRPMs + hd + initrd + initrdUtils + makeImageFromDebDist + makeImageFromRPMDist + makeImageTestScript + modulesClosure + qemu + qemu-common + qemuCommandLinux + rpmClosureGenerator + rpmDistros + runInLinuxImage + runInLinuxVM + stage1Init + stage2Init + vmRunCommand + ; } diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 313ca50e55f9..b99d4e5e7221 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -1,14 +1,12 @@ +{ + hello, + patchelf, + pcmanfm, + stdenv, + vmTools, +}: let - pkgs = import ../../.. { }; - - inherit (pkgs) - hello - patchelf - pcmanfm - stdenv - ; - - inherit (pkgs.vmTools) + inherit (vmTools) buildRPM diskImages makeImageTestScript @@ -18,9 +16,16 @@ let in { - - # Run the PatchELF derivation in a VM. buildPatchelfInVM = runInLinuxVM patchelf; + buildPatchelfInDebian = runInLinuxImage ( + stdenv.mkDerivation { + inherit (patchelf) pname version src; + + diskImage = diskImages.debian13x86_64; + diskImageFormat = "qcow2"; + memSize = 512; + } + ); buildHelloInVM = runInLinuxVM hello; buildStructuredAttrsHelloInVM = runInLinuxVM (hello.overrideAttrs { __structuredAttrs = true; }); @@ -32,28 +37,15 @@ in }) ); - testRPMImage = makeImageTestScript diskImages.fedora27x86_64; + #testRPMImage = makeImageTestScript diskImages.fedora27x86_64; - buildPatchelfRPM = buildRPM { - name = "patchelf-rpm"; - src = patchelf.src; - diskImage = diskImages.fedora27x86_64; - diskImageFormat = "qcow2"; - }; + #buildPatchelfRPM = buildRPM { + # name = "patchelf-rpm"; + # src = patchelf.src; + # diskImage = diskImages.fedora27x86_64; + # diskImageFormat = "qcow2"; + #}; - testUbuntuImage = makeImageTestScript diskImages.ubuntu1804i386; - - buildInDebian = runInLinuxImage ( - stdenv.mkDerivation { - name = "deb-compile"; - src = patchelf.src; - diskImage = diskImages.ubuntu1804i386; - diskImageFormat = "qcow2"; - memSize = 512; - postHook = '' - dpkg-query --list - ''; - } - ); + testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index cf49620be100..d1449a1f7f91 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -191,6 +191,8 @@ in trivial-builders = callPackage ../build-support/trivial-builders/test/default.nix { }; + vmTools = callPackage ../build-support/vm/test.nix { }; + writers = callPackage ../build-support/writers/test.nix { }; testers = callPackage ../build-support/testers/test/default.nix { }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 45fda231747f..1ec7e29d56f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -830,8 +830,9 @@ with pkgs; inherit (darwin) signingUtils; }; - # No callPackage. In particular, we don't want `img` *package* in parameters. - vmTools = makeOverridable (import ../build-support/vm) { inherit pkgs lib; }; + vmTools = callPackage ../build-support/vm { + img = stdenv.hostPlatform.linux-kernel.target; + }; releaseTools = callPackage ../build-support/release { }; From 9d6ee212624c7b6a331945f49c4c7afc86bd26e2 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 14:50:21 -0800 Subject: [PATCH 56/97] nixos: pass stdenv into qemu-common We also don't export it from `vmTools` anymore. --- nixos/lib/qemu-common.nix | 10 +++++----- nixos/lib/testing/network.nix | 2 +- nixos/modules/testing/test-instrumentation.nix | 2 +- nixos/modules/virtualisation/qemu-vm.nix | 2 +- nixos/tests/boot.nix | 2 +- nixos/tests/networking/router.nix | 2 +- pkgs/build-support/vm/default.nix | 5 +---- 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/nixos/lib/qemu-common.nix b/nixos/lib/qemu-common.nix index 5629b0b81d20..a43b624cdbce 100644 --- a/nixos/lib/qemu-common.nix +++ b/nixos/lib/qemu-common.nix @@ -1,5 +1,5 @@ # QEMU-related utilities shared between various Nix expressions. -{ lib, pkgs }: +{ lib, stdenv }: let zeroPad = @@ -17,19 +17,19 @@ rec { ]; qemuSerialDevice = - if with pkgs.stdenv.hostPlatform; isx86 || isLoongArch64 || isMips64 || isRiscV then + if with stdenv.hostPlatform; isx86 || isLoongArch64 || isMips64 || isRiscV then "ttyS0" - else if (with pkgs.stdenv.hostPlatform; isAarch || isPower) then + else if (with stdenv.hostPlatform; isAarch || isPower) then "ttyAMA0" else - throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'"; + throw "Unknown QEMU serial device for system '${stdenv.hostPlatform.system}'"; qemuBinary = qemuPkg: let hostStdenv = qemuPkg.stdenv; hostSystem = hostStdenv.system; - guestSystem = pkgs.stdenv.hostPlatform.system; + guestSystem = stdenv.hostPlatform.system; linuxHostGuestMatrix = { x86_64-linux = "${qemuPkg}/bin/qemu-system-x86_64 -machine accel=kvm:tcg -cpu max"; diff --git a/nixos/lib/testing/network.nix b/nixos/lib/testing/network.nix index 1188e9bec505..e65767e7fb99 100644 --- a/nixos/lib/testing/network.nix +++ b/nixos/lib/testing/network.nix @@ -30,7 +30,7 @@ let ... }: let - qemu-common = import ../qemu-common.nix { inherit lib pkgs; }; + qemu-common = import ../qemu-common.nix { inherit (pkgs) lib stdenv; }; # Convert legacy VLANs to named interfaces and merge with explicit interfaces. vlansNumbered = forEach (zipLists config.virtualisation.vlans (range 1 255)) (v: { diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index 3ec4fdc0e2a0..dce59a0a93b7 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -14,7 +14,7 @@ with lib; let cfg = config.testing; - qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; }; + qemu-common = import ../../lib/qemu-common.nix { inherit (pkgs) lib stdenv; }; backdoorService = { requires = [ diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index abded7525062..8a6c55cfc9fa 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -16,7 +16,7 @@ with lib; let - qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; }; + qemu-common = import ../../lib/qemu-common.nix { inherit (pkgs) lib stdenv; }; cfg = config.virtualisation; diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix index 863d80e41dac..d1ac1a8769fe 100644 --- a/nixos/tests/boot.nix +++ b/nixos/tests/boot.nix @@ -8,7 +8,7 @@ with import ../lib/testing-python.nix { inherit system pkgs; }; let lib = pkgs.lib; - qemu-common = import ../lib/qemu-common.nix { inherit lib pkgs; }; + qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib stdenv; }; mkStartCommand = { diff --git a/nixos/tests/networking/router.nix b/nixos/tests/networking/router.nix index 082f2bc7d227..ae9c64607a66 100644 --- a/nixos/tests/networking/router.nix +++ b/nixos/tests/networking/router.nix @@ -2,7 +2,7 @@ { config, pkgs, ... }: let inherit (pkgs) lib; - qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; }; + qemu-common = import ../../lib/qemu-common.nix { inherit (pkgs) lib stdenv; }; vlanIfs = lib.range 1 (lib.length config.virtualisation.vlans); in { diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 0741ed1410cc..de0b589a37e6 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -24,7 +24,6 @@ writeText, xz, zstd, - pkgs, # ---------------------------- # The following arguments form the "interface" of `pkgs.vmTools`. @@ -47,7 +46,7 @@ }: let - qemu-common = import ../../../nixos/lib/qemu-common.nix { inherit lib pkgs; }; + qemu-common = import ../../../nixos/lib/qemu-common.nix { inherit lib stdenv; }; qemu = buildPackages.qemu_kvm; @@ -1323,8 +1322,6 @@ in makeImageTestScript modulesClosure qemu - qemu-common - qemuCommandLinux rpmClosureGenerator rpmDistros runInLinuxImage From 5112cf457ad20ea6554efeeb507bd62b4e80fc69 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 15:14:10 -0800 Subject: [PATCH 57/97] vmTools: update Debian 11 to snapshot 20251217T203845Z --- pkgs/build-support/vm/default.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index de0b589a37e6..9524caccb312 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1065,24 +1065,24 @@ let }; debian11i386 = { - name = "debian-11.8-bullseye-i386"; - fullName = "Debian 11.8 Bullseye (i386)"; + name = "debian-11.11-bullseye-i386"; + fullName = "Debian 11.11 Bullseye (i386)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bullseye/main/binary-i386/Packages.xz"; - hash = "sha256-0bKSLLPhEC7FB5D1NA2jaQP0wTe/Qp1ddiA/NDVjRaI="; + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bullseye/main/binary-i386/Packages.xz"; + hash = "sha256-kUg1VBUO6co/5bKloxncta49191oCeF05Hm399+UuDA="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; debian11x86_64 = { - name = "debian-11.8-bullseye-amd64"; - fullName = "Debian 11.8 Bullseye (amd64)"; + name = "debian-11.11-bullseye-amd64"; + fullName = "Debian 11.11 Bullseye (amd64)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bullseye/main/binary-amd64/Packages.xz"; - hash = "sha256-CYPsGgQgJZkh3JmbcAQkYDWP193qrkOADOgrMETZIeo="; + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bullseye/main/binary-amd64/Packages.xz"; + hash = "sha256-HDQFREKX6thkcRwY5kvOSBDbY7SDQKL52BGC2fI1rXE="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; From 0e2d64bbd03a58cb44d7e70605c93dcf96e58726 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 15:15:31 -0800 Subject: [PATCH 58/97] vmTools: update Debian 12 to snapshot 20251217T203845Z --- pkgs/build-support/vm/default.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 9524caccb312..a1d0666a45a6 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1087,24 +1087,24 @@ let }; debian12i386 = { - name = "debian-12.2-bookworm-i386"; - fullName = "Debian 12.2 Bookworm (i386)"; + name = "debian-12.12-bookworm-i386"; + fullName = "Debian 12.12 Bookworm (i386)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bookworm/main/binary-i386/Packages.xz"; - hash = "sha256-OeN9Q2HFM3GsPNhOa4VhM7qpwT66yUNwC+6Z8SbGEeQ="; + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-i386/Packages.xz"; + hash = "sha256-nIijsNoHUYkrL6eiwN4FCLHnJy/Bv/RMvnbMIHvieVI="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; debian12x86_64 = { - name = "debian-12.2-bookworm-amd64"; - fullName = "Debian 12.2 Bookworm (amd64)"; + name = "debian-12.12-bookworm-amd64"; + fullName = "Debian 12.12 Bookworm (amd64)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20231124T031419Z/dists/bookworm/main/binary-amd64/Packages.xz"; - hash = "sha256-SZDElRfe9BlBwDlajQB79Qdn08rv8whYoQDeVCveKVs="; + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-amd64/Packages.xz"; + hash = "sha256-PfjQeu3tXmXZhH7foSD6WyFrvY4PfwSN/v5pBeShIBE="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20231124T031419Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; From e327ca205502b4987bdcf7e74e0dd9819f19b708 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 15:17:27 -0800 Subject: [PATCH 59/97] vmTools: update Debian 13 to snapshot 20251217T203845Z --- pkgs/build-support/vm/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index a1d0666a45a6..574533c044da 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1112,10 +1112,10 @@ let name = "debian-13.2-trixie-i386"; fullName = "Debian 13.2 Trixie (i386)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251203T144617Z/dists/trixie/main/binary-i386/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-i386/Packages.xz"; hash = "sha256-9zozvFZoWiv3wNe9rb+kPwSOgc5G5f4zmNpdoet5A78="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251203T144617Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; @@ -1123,10 +1123,10 @@ let name = "debian-13.2-trixie-amd64"; fullName = "Debian 13.2 Trixie (amd64)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251203T144617Z/dists/trixie/main/binary-amd64/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-amd64/Packages.xz"; hash = "sha256-g7f+tKljUXAC4gxJfzSC8+j0GbiwRZjonv25tYuvxtU="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251203T144617Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; }; From 0b2d855f936ffeca9ebf87461652153b5d5ecc4f Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 15:25:49 -0800 Subject: [PATCH 60/97] vmTools: update Ubuntu versions to use the snapshot.ubuntu.com server --- pkgs/build-support/vm/default.nix | 32 ++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 574533c044da..6b3edfdd5cc2 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1004,20 +1004,22 @@ let # The set of supported Dpkg-based distributions. debDistros = { + # Ubuntu's snapshot service returns the same data for 22.04 regardless of the timestamp in the + # URL. The hashes don't change between mirror://ubuntu and snapshot.ubuntu.com, so this is fine. ubuntu2204i386 = { name = "ubuntu-22.04-jammy-i386"; fullName = "Ubuntu 22.04 Jammy (i386)"; packagesLists = [ (fetchurl { - url = "mirror://ubuntu/dists/jammy/main/binary-i386/Packages.xz"; - sha256 = "sha256-iZBmwT0ep4v+V3sayybbOgZBOFFZwPGpOKtmuLMMVPQ="; + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/main/binary-i386/Packages.xz"; + hash = "sha256-iZBmwT0ep4v+V3sayybbOgZBOFFZwPGpOKtmuLMMVPQ="; }) (fetchurl { - url = "mirror://ubuntu/dists/jammy/universe/binary-i386/Packages.xz"; - sha256 = "sha256-DO2LdpZ9rDDBhWj2gvDWd0TJJVZHxKsYTKTi6GXjm1E="; + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/universe/binary-i386/Packages.xz"; + hash = "sha256-DO2LdpZ9rDDBhWj2gvDWd0TJJVZHxKsYTKTi6GXjm1E="; }) ]; - urlPrefix = "mirror://ubuntu"; + urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; packages = commonDebPackages ++ [ "diffutils" "libc-bin" @@ -1029,15 +1031,15 @@ let fullName = "Ubuntu 22.04 Jammy (amd64)"; packagesLists = [ (fetchurl { - url = "mirror://ubuntu/dists/jammy/main/binary-amd64/Packages.xz"; - sha256 = "sha256-N8tX8VVMv6ccWinun/7hipqMF4K7BWjgh0t/9M6PnBE="; + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/main/binary-amd64/Packages.xz"; + hash = "sha256-N8tX8VVMv6ccWinun/7hipqMF4K7BWjgh0t/9M6PnBE="; }) (fetchurl { - url = "mirror://ubuntu/dists/jammy/universe/binary-amd64/Packages.xz"; - sha256 = "sha256-0pyyTJP+xfQyVXBrzn60bUd5lSA52MaKwbsUpvNlXOI="; + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/universe/binary-amd64/Packages.xz"; + hash = "sha256-0pyyTJP+xfQyVXBrzn60bUd5lSA52MaKwbsUpvNlXOI="; }) ]; - urlPrefix = "mirror://ubuntu"; + urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; packages = commonDebPackages ++ [ "diffutils" "libc-bin" @@ -1049,15 +1051,15 @@ let fullName = "Ubuntu 24.04 Noble (amd64)"; packagesLists = [ (fetchurl { - url = "mirror://ubuntu/dists/noble/main/binary-amd64/Packages.xz"; - sha256 = "sha256-KmoZnhAxpcJ5yzRmRtWUmT81scA91KgqqgMjmA3ZJFE="; + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble/main/binary-amd64/Packages.xz"; + hash = "sha256-KmoZnhAxpcJ5yzRmRtWUmT81scA91KgqqgMjmA3ZJFE="; }) (fetchurl { - url = "mirror://ubuntu/dists/noble/universe/binary-amd64/Packages.xz"; - sha256 = "sha256-upBX+huRQ4zIodJoCNAMhTif4QHQwUliVN+XI2QFWZo="; + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble/universe/binary-amd64/Packages.xz"; + hash = "sha256-upBX+huRQ4zIodJoCNAMhTif4QHQwUliVN+XI2QFWZo="; }) ]; - urlPrefix = "mirror://ubuntu"; + urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; packages = commonDebPackages ++ [ "diffutils" "libc-bin" From 57c1584110c1d8b980f9053c6829c0822e37c09e Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 15:32:06 -0800 Subject: [PATCH 61/97] vmTools: add in updates and security pockets for all Ubuntu distros --- pkgs/build-support/vm/default.nix | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 6b3edfdd5cc2..9fa1050c76ec 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1018,6 +1018,22 @@ let url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/universe/binary-i386/Packages.xz"; hash = "sha256-DO2LdpZ9rDDBhWj2gvDWd0TJJVZHxKsYTKTi6GXjm1E="; }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/main/binary-i386/Packages.xz"; + hash = "sha256-g95BtOoMxacZEHMBbcMes4a1P9HKf/QGOMOPr+OKayo="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/universe/binary-i386/Packages.xz"; + hash = "sha256-AW/XNsA1SblUhfkUP9pC/TLF6cerGI41gfSBCihgt7w="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/main/binary-i386/Packages.xz"; + hash = "sha256-SkP4PqjUAbEMtktR5WQm/3jQl9O0T2VOVTP9QIYIVkQ="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/universe/binary-i386/Packages.xz"; + hash = "sha256-citjk8LAGSRlXgOXgf3oe9vBCUC6/DJGhRJl/3ppN9c="; + }) ]; urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; packages = commonDebPackages ++ [ @@ -1038,6 +1054,22 @@ let url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/universe/binary-amd64/Packages.xz"; hash = "sha256-0pyyTJP+xfQyVXBrzn60bUd5lSA52MaKwbsUpvNlXOI="; }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/main/binary-amd64/Packages.xz"; + hash = "sha256-kFHg+DogK+deDx9Tbp7+SaIegnotE5ZofqR8J7S73n8="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/universe/binary-amd64/Packages.xz"; + hash = "sha256-WQbtqdAWbhfd8/fwct1uuJXHiZQGPMw3KKhmha4MeTs="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/main/binary-amd64/Packages.xz"; + hash = "sha256-cifTPY1iyckkaLd7dp+VPRlF0viWKrWXhM8HVWaMuUw="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/universe/binary-amd64/Packages.xz"; + hash = "sha256-LTSOGbzkv0KrF2JM6oVT1Ml2KQkySXMbKNMBb9AyfQM="; + }) ]; urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; packages = commonDebPackages ++ [ @@ -1058,6 +1090,22 @@ let url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble/universe/binary-amd64/Packages.xz"; hash = "sha256-upBX+huRQ4zIodJoCNAMhTif4QHQwUliVN+XI2QFWZo="; }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-updates/main/binary-amd64/Packages.xz"; + hash = "sha256-f6hiUH9S1Bh8/Ljr9AkZYlwHF1vT2bqKGH6TfWnzI7Q="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-updates/universe/binary-amd64/Packages.xz"; + hash = "sha256-ROG+WO5zssfFUblTZxQjIDshdLIZn3meEgTsv6qYi5o="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-security/main/binary-amd64/Packages.xz"; + hash = "sha256-TYs8ugCYqzOleH2OebdrpB8E68PfxB+7sRb+PlfANEo="; + }) + (fetchurl { + url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-security/universe/binary-amd64/Packages.xz"; + hash = "sha256-bK9R8CUjLQ1V4GP7/KqZooSnKHF5+T5SuBs0butC82M="; + }) ]; urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; packages = commonDebPackages ++ [ From 8f9e96fd60bf4476e4b0e34f55cc97fa78dbdd8f Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 15:35:51 -0800 Subject: [PATCH 62/97] vmTools: add in backports packages for bookworm and trixie --- pkgs/build-support/vm/default.nix | 56 ++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 9fa1050c76ec..2335919d3d80 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1139,10 +1139,16 @@ let debian12i386 = { name = "debian-12.12-bookworm-i386"; fullName = "Debian 12.12 Bookworm (i386)"; - packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-i386/Packages.xz"; - hash = "sha256-nIijsNoHUYkrL6eiwN4FCLHnJy/Bv/RMvnbMIHvieVI="; - }; + packagesLists = [ + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-i386/Packages.xz"; + hash = "sha256-nIijsNoHUYkrL6eiwN4FCLHnJy/Bv/RMvnbMIHvieVI="; + }) + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm-backports/main/binary-i386/Packages.xz"; + hash = "sha256-9WXnIg1CgzTGaUXnCTs/n/EhJ11aNcKn7rV9FDAi+U8="; + }) + ]; urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; @@ -1150,10 +1156,16 @@ let debian12x86_64 = { name = "debian-12.12-bookworm-amd64"; fullName = "Debian 12.12 Bookworm (amd64)"; - packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-amd64/Packages.xz"; - hash = "sha256-PfjQeu3tXmXZhH7foSD6WyFrvY4PfwSN/v5pBeShIBE="; - }; + packagesLists = [ + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-amd64/Packages.xz"; + hash = "sha256-PfjQeu3tXmXZhH7foSD6WyFrvY4PfwSN/v5pBeShIBE="; + }) + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm-backports/main/binary-amd64/Packages.xz"; + hash = "sha256-i897N1JzuixjtZcFW90X/UJLXfxQOIQoJV9SC/VHpUE="; + }) + ]; urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; @@ -1161,10 +1173,16 @@ let debian13i386 = { name = "debian-13.2-trixie-i386"; fullName = "Debian 13.2 Trixie (i386)"; - packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-i386/Packages.xz"; - hash = "sha256-9zozvFZoWiv3wNe9rb+kPwSOgc5G5f4zmNpdoet5A78="; - }; + packagesLists = [ + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-i386/Packages.xz"; + hash = "sha256-9zozvFZoWiv3wNe9rb+kPwSOgc5G5f4zmNpdoet5A78="; + }) + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie-backports/main/binary-i386/Packages.xz"; + hash = "sha256-JdBVmdbD5LQhHbqIHnPeJiGnhrZbJoiYPWlh73A2/wA="; + }) + ]; urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; @@ -1172,10 +1190,16 @@ let debian13x86_64 = { name = "debian-13.2-trixie-amd64"; fullName = "Debian 13.2 Trixie (amd64)"; - packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-amd64/Packages.xz"; - hash = "sha256-g7f+tKljUXAC4gxJfzSC8+j0GbiwRZjonv25tYuvxtU="; - }; + packagesLists = [ + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-amd64/Packages.xz"; + hash = "sha256-g7f+tKljUXAC4gxJfzSC8+j0GbiwRZjonv25tYuvxtU="; + }) + (fetchurl { + url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie-backports/main/binary-amd64/Packages.xz"; + hash = "sha256-J7BcablKTswyfKmCIoWGlE32puSDFgcKQGNmhbvl+CY="; + }) + ]; urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; packages = commonDebianPackages; }; From b0bc31286904895184d0db1370ccae962586bc6a Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 16:02:53 -0800 Subject: [PATCH 63/97] vmTools: add in Fedora 42 support --- pkgs/build-support/vm/default.nix | 41 +++++++++++++++++++++++++++++-- pkgs/build-support/vm/test.nix | 20 +++++++-------- 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 2335919d3d80..68864c937986 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -836,12 +836,30 @@ let nativeBuildInputs = [ buildPackages.perl buildPackages.perlPackages.XMLSimple + buildPackages.zstd ]; inherit archs; } '' ${lib.concatImapStrings (i: pl: '' - gunzip < ${pl} > ./packages_${toString i}.xml + echo "decompressing ${pl}..." + case ${pl} in + *.zst) + zstd -d < ${pl} > ./packages_${toString i}.xml + ;; + *.xz | *.lzma) + xz -d < ${pl} > ./packages_${toString i}.xml + ;; + *.bz2) + bunzip2 < ${pl} > ./packages_${toString i}.xml + ;; + *.gz) + gunzip < ${pl} > ./packages_${toString i}.xml + ;; + *) + cp ${pl} ./packages_${toString i}.xml + ;; + esac '') packagesLists} perl -w ${rpm/rpm-closure.pl} \ ${ @@ -999,7 +1017,23 @@ let # The set of supported RPM-based distributions. - rpmDistros = { }; + rpmDistros = { + fedora42x86_64 = { + name = "fedora-42-x86_64"; + fullName = "Fedora 42 (x86_64)"; + packagesList = fetchurl { + url = "https://dl.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os/repodata/cd483b35df017d68b73a878a392bbf666a43d75db54c386e4720bc369eb5c3a3-primary.xml.zst"; + hash = "sha256-zUg7Nd8BfWi3OoeKOSu/ZmpD1121TDhuRyC8Np61w6M="; + }; + urlPrefix = "https://dl.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os"; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonFedoraPackages; + unifiedSystemDir = true; + }; + }; # The set of supported Dpkg-based distributions. @@ -1207,6 +1241,7 @@ let # Common packages for Fedora images. commonFedoraPackages = [ + "annobin-plugin-gcc" "autoconf" "automake" "basesystem" @@ -1217,6 +1252,8 @@ let "findutils" "gawk" "gcc-c++" + "gcc-plugin-annobin" + "glibc-gconv-extra" "gzip" "make" "patch" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index b99d4e5e7221..c312e3df1bbe 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -29,6 +29,15 @@ in buildHelloInVM = runInLinuxVM hello; buildStructuredAttrsHelloInVM = runInLinuxVM (hello.overrideAttrs { __structuredAttrs = true; }); + buildHelloInFedora = runInLinuxImage ( + stdenv.mkDerivation { + inherit (hello) pname version src; + + diskImage = diskImages.fedora42x86_64; + diskImageFormat = "qcow2"; + memSize = 512; + } + ); buildPcmanrmInVM = runInLinuxVM ( pcmanfm.overrideAttrs (old: { @@ -37,15 +46,6 @@ in }) ); - #testRPMImage = makeImageTestScript diskImages.fedora27x86_64; - - #buildPatchelfRPM = buildRPM { - # name = "patchelf-rpm"; - # src = patchelf.src; - # diskImage = diskImages.fedora27x86_64; - # diskImageFormat = "qcow2"; - #}; - + testFedoraImage = makeImageTestScript diskImages.fedora42x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; - } From 052667f52590387c00e7d29a0a93777ca3defaa1 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 17:20:51 -0800 Subject: [PATCH 64/97] vmTools: introduce Fedora 43 It uses unified sbin, which requires a slight tweak in the unifiedSystemDir setup --- pkgs/build-support/vm/default.nix | 21 +++++++++++++++++++-- pkgs/build-support/vm/rpm/rpm-closure.pl | 8 +++++++- pkgs/build-support/vm/test.nix | 3 ++- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 68864c937986..68e83e2962c3 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -557,9 +557,10 @@ let # Newer distributions like Fedora 18 require /lib etc. to be # symlinked to /usr. ${lib.optionalString unifiedSystemDir '' - mkdir -p /mnt/usr/bin /mnt/usr/sbin /mnt/usr/lib /mnt/usr/lib64 + mkdir -p /mnt/usr/bin /mnt/usr/lib /mnt/usr/lib64 ln -s /usr/bin /mnt/bin - ln -s /usr/sbin /mnt/sbin + ln -s /usr/bin /mnt/sbin + ln -s /usr/bin /mnt/usr/sbin ln -s /usr/lib /mnt/lib ln -s /usr/lib64 /mnt/lib64 ${util-linux}/bin/mount -t proc none /mnt/proc @@ -1033,6 +1034,22 @@ let packages = commonFedoraPackages; unifiedSystemDir = true; }; + + fedora43x86_64 = { + name = "fedora-43-x86_64"; + fullName = "Fedora 43 (x86_64)"; + packagesList = fetchurl { + url = "https://dl.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os/repodata/fffa3e9f63fffd3d21b8ea5e9bb0fe349a7ed1d4e09777a618cec93a2bcc305f-primary.xml.zst"; + hash = "sha256-//o+n2P//T0huOpem7D+NJp+0dTgl3emGM7JOivMMF8="; + }; + urlPrefix = "https://dl.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os"; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonFedoraPackages ++ [ "gpgverify" ]; + unifiedSystemDir = true; + }; }; # The set of supported Dpkg-based distributions. diff --git a/pkgs/build-support/vm/rpm/rpm-closure.pl b/pkgs/build-support/vm/rpm/rpm-closure.pl index 6442cd91a957..51ebfc9ade64 100644 --- a/pkgs/build-support/vm/rpm/rpm-closure.pl +++ b/pkgs/build-support/vm/rpm/rpm-closure.pl @@ -156,7 +156,13 @@ sub closePackage { foreach my $pkgName (@toplevelPkgs) { - closePackage $pkgName; + # If the package doesn't exist by name, check if something provides it + if (!defined $pkgs{$pkgName} && defined $provides{$pkgName}) { + print STDERR "package $pkgName is provided by $provides{$pkgName}\n"; + closePackage $provides{$pkgName}; + } else { + closePackage $pkgName; + } } diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index c312e3df1bbe..65bb49b18ef8 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -46,6 +46,7 @@ in }) ); - testFedoraImage = makeImageTestScript diskImages.fedora42x86_64; + testFedora42Image = makeImageTestScript diskImages.fedora42x86_64; + testFedora43Image = makeImageTestScript diskImages.fedora43x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From 627a540b239bbefa0fefdea2f5c7875238c012bd Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 17:28:33 -0800 Subject: [PATCH 65/97] vmTools: introduce CentOS Stream 9 --- pkgs/build-support/vm/default.nix | 50 +++++++++++++++++++++++++++++++ pkgs/build-support/vm/test.nix | 1 + 2 files changed, 51 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 68e83e2962c3..333848f1bdca 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1050,6 +1050,31 @@ let packages = commonFedoraPackages ++ [ "gpgverify" ]; unifiedSystemDir = true; }; + + centosStream9x86_64 = { + name = "centos-stream-9-x86_64"; + fullName = "CentOS Stream 9 (x86_64)"; + packagesLists = [ + (fetchurl { + url = "https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/repodata/737e7bb91d5464e0cc258ff5ae5070a00d682c39fc2de0b9b55df671022ba732-primary.xml.gz"; + hash = "sha256-c357uR1UZODMJY/1rlBwoA1oLDn8LeC5tV32cQIrpzI="; + }) + (fetchurl { + url = "https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/repodata/9f0c1578e5df33e6479a1d3e5397b87ecaa1b5bac7fd34de6c837bddb3949fde-primary.xml.gz"; + hash = "sha256-nwwVeOXfM+ZHmh0+U5e4fsqhtbrH/TTebIN73bOUn94="; + }) + ]; + urlPrefixes = [ + "https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os" + "https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os" + ]; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonCentOSStreamPackages; + unifiedSystemDir = true; + }; }; # The set of supported Dpkg-based distributions. @@ -1304,6 +1329,31 @@ let "unzip" ]; + commonCentOSStreamPackages = [ + "annobin" + "autoconf" + "automake" + "basesystem" + "bzip2" + "curl" + "diffutils" + "centos-stream-release" + "findutils" + "gawk" + "gcc-c++" + "gcc-plugin-annobin" + "glibc-gconv-extra" + "gzip" + "make" + "patch" + "perl" + "pkgconf" + "rpm" + "rpm-build" + "tar" + "unzip" + ]; + commonRHELPackages = [ "autoconf" "automake" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 65bb49b18ef8..6c4d7cb8b0dd 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -48,5 +48,6 @@ in testFedora42Image = makeImageTestScript diskImages.fedora42x86_64; testFedora43Image = makeImageTestScript diskImages.fedora43x86_64; + testCentOSStream9Image = makeImageTestScript diskImages.centosStream9x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From c906fa0b6da4922b8898da8b1df0d83971eae1ce Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 17:46:26 -0800 Subject: [PATCH 66/97] vmTools: introduce CentOS Stream 10 --- pkgs/build-support/vm/default.nix | 34 ++++++++++++++++++++++++++++--- pkgs/build-support/vm/test.nix | 1 + 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 333848f1bdca..4d4965a9f7e2 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1072,7 +1072,36 @@ let "noarch" "x86_64" ]; - packages = commonCentOSStreamPackages; + packages = commonCentOSStreamPackages ++ [ + "annobin" + ]; + unifiedSystemDir = true; + }; + + centosStream10x86_64 = { + name = "centos-stream-10-x86_64"; + fullName = "CentOS Stream 10 (x86_64)"; + packagesLists = [ + (fetchurl { + url = "https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os/repodata/b3bb8f59e9c3dfedf3439c8357dc6fb727dc3e6fd2e351ab5e1fb0cfbbf07381-primary.xml.gz"; + hash = "sha256-s7uPWenD3+3zQ5yDV9xvtyfcPm/S41GrXh+wz7vwc4E="; + }) + (fetchurl { + url = "https://mirror.stream.centos.org/10-stream/AppStream/x86_64/os/repodata/962343afafa14dcc36a6c054608ae9bbf700c8ead08d1ca8898b5b1a192e3106-primary.xml.gz"; + hash = "sha256-liNDr6+hTcw2psBUYIrpu/cAyOrQjRyoiYtbGhkuMQY="; + }) + ]; + urlPrefixes = [ + "https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os" + "https://mirror.stream.centos.org/10-stream/AppStream/x86_64/os" + ]; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonCentOSStreamPackages ++ [ + "annobin-plugin-gcc" + ]; unifiedSystemDir = true; }; }; @@ -1330,14 +1359,13 @@ let ]; commonCentOSStreamPackages = [ - "annobin" "autoconf" "automake" "basesystem" "bzip2" + "centos-stream-release" "curl" "diffutils" - "centos-stream-release" "findutils" "gawk" "gcc-c++" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 6c4d7cb8b0dd..cebe45cc8a3d 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -49,5 +49,6 @@ in testFedora42Image = makeImageTestScript diskImages.fedora42x86_64; testFedora43Image = makeImageTestScript diskImages.fedora43x86_64; testCentOSStream9Image = makeImageTestScript diskImages.centosStream9x86_64; + testCentOSStream10Image = makeImageTestScript diskImages.centosStream10x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From 686f52f7a33a4511cdbe9dc0a1b4fad632831087 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 17:47:27 -0800 Subject: [PATCH 67/97] vmTools: remove unused commonCentOSPackages --- pkgs/build-support/vm/default.nix | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 4d4965a9f7e2..67a2ecc2c7cc 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1336,28 +1336,6 @@ let "unzip" ]; - commonCentOSPackages = [ - "autoconf" - "automake" - "basesystem" - "bzip2" - "curl" - "diffutils" - "centos-release" - "findutils" - "gawk" - "gcc-c++" - "gzip" - "make" - "patch" - "perl" - "pkgconfig" - "rpm" - "rpm-build" - "tar" - "unzip" - ]; - commonCentOSStreamPackages = [ "autoconf" "automake" @@ -1503,7 +1481,6 @@ in { inherit buildRPM - commonCentOSPackages commonDebPackages commonDebianPackages commonFedoraPackages From 4664110a34fdb22f6019dac52d42d6f8636ae2a7 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 18:30:11 -0800 Subject: [PATCH 68/97] vmTools: refactor in a baseRHELFamilyPackages --- pkgs/build-support/vm/default.nix | 86 +++++++++---------------------- 1 file changed, 24 insertions(+), 62 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 67a2ecc2c7cc..6c3e6ac21bc4 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1310,76 +1310,39 @@ let }; }; - # Common packages for Fedora images. - commonFedoraPackages = [ + # Base packages for all RHEL-family distros (Fedora, CentOS Stream, Rocky, Alma, etc.) + baseRHELFamilyPackages = [ + "autoconf" + "automake" + "basesystem" + "bzip2" + "curl" + "diffutils" + "findutils" + "gawk" + "gcc-c++" + "glibc-gconv-extra" + "gzip" + "make" + "patch" + "perl" + "rpm" + "rpm-build" + "tar" + "unzip" + ]; + + commonFedoraPackages = baseRHELFamilyPackages ++ [ "annobin-plugin-gcc" - "autoconf" - "automake" - "basesystem" - "bzip2" - "curl" - "diffutils" "fedora-release" - "findutils" - "gawk" - "gcc-c++" "gcc-plugin-annobin" - "glibc-gconv-extra" - "gzip" - "make" - "patch" - "perl" "pkgconf-pkg-config" - "rpm" - "rpm-build" - "tar" - "unzip" ]; - commonCentOSStreamPackages = [ - "autoconf" - "automake" - "basesystem" - "bzip2" + commonCentOSStreamPackages = baseRHELFamilyPackages ++ [ "centos-stream-release" - "curl" - "diffutils" - "findutils" - "gawk" - "gcc-c++" "gcc-plugin-annobin" - "glibc-gconv-extra" - "gzip" - "make" - "patch" - "perl" "pkgconf" - "rpm" - "rpm-build" - "tar" - "unzip" - ]; - - commonRHELPackages = [ - "autoconf" - "automake" - "basesystem" - "bzip2" - "curl" - "diffutils" - "findutils" - "gawk" - "gcc-c++" - "gzip" - "make" - "patch" - "perl" - "pkgconfig" - "procps-ng" - "rpm" - "rpm-build" - "tar" - "unzip" ]; # Common packages for openSUSE images. @@ -1485,7 +1448,6 @@ in commonDebianPackages commonFedoraPackages commonOpenSUSEPackages - commonRHELPackages createEmptyImage debClosureGenerator debDistros From 89def9fcce5f733e128f915dfc83fa256b6245a3 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 18:35:40 -0800 Subject: [PATCH 69/97] vmTools: add Rocky Linux 9 --- pkgs/build-support/vm/default.nix | 35 +++++++++++++++++++++++++++++++ pkgs/build-support/vm/test.nix | 1 + 2 files changed, 36 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 6c3e6ac21bc4..fc8b44baf1a3 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1104,6 +1104,35 @@ let ]; unifiedSystemDir = true; }; + + # Rocky Linux's /pub/rocky/9/ URL is rolling and changes with each minor release. We use the + # vault instead, which provides stable URLs for specific minor versions. + rocky9x86_64 = { + name = "rocky-9.5-x86_64"; + fullName = "Rocky Linux 9.5 (x86_64)"; + packagesLists = [ + (fetchurl { + url = "https://dl.rockylinux.org/vault/rocky/9.5/BaseOS/x86_64/os/repodata/554cd09406b7bf632fc7014d0a567094272d37ac08f75af955de96183425dfa8-primary.xml.gz"; + hash = "sha256-VUzQlAa3v2MvxwFNClZwlCctN6wI91r5Vd6WGDQl36g="; + }) + (fetchurl { + url = "https://dl.rockylinux.org/vault/rocky/9.5/AppStream/x86_64/os/repodata/db8f32057dd37687574ea660d322ff7a0b5dc01bfba42888818b48ef686837cd-primary.xml.gz"; + hash = "sha256-248yBX3TdodXTqZg0yL/egtdwBv7pCiIgYtI72hoN80="; + }) + ]; + urlPrefixes = [ + "https://dl.rockylinux.org/vault/rocky/9.5/BaseOS/x86_64/os" + "https://dl.rockylinux.org/vault/rocky/9.5/AppStream/x86_64/os" + ]; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonRockyPackages ++ [ + "annobin" + ]; + unifiedSystemDir = true; + }; }; # The set of supported Dpkg-based distributions. @@ -1345,6 +1374,12 @@ let "pkgconf" ]; + commonRockyPackages = baseRHELFamilyPackages ++ [ + "gcc-plugin-annobin" + "pkgconf" + "rocky-release" + ]; + # Common packages for openSUSE images. commonOpenSUSEPackages = [ "aaa_base" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index cebe45cc8a3d..e308a5a58771 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -50,5 +50,6 @@ in testFedora43Image = makeImageTestScript diskImages.fedora43x86_64; testCentOSStream9Image = makeImageTestScript diskImages.centosStream9x86_64; testCentOSStream10Image = makeImageTestScript diskImages.centosStream10x86_64; + testRocky9Image = makeImageTestScript diskImages.rocky9x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From 0101fa5e711fd129d51d659525cfafd487ac87ef Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 18:38:15 -0800 Subject: [PATCH 70/97] vmTools: add Rocky Linux 10 --- pkgs/build-support/vm/default.nix | 29 +++++++++++++++++++++++++++++ pkgs/build-support/vm/test.nix | 1 + 2 files changed, 30 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index fc8b44baf1a3..c493248c61ff 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1133,6 +1133,35 @@ let ]; unifiedSystemDir = true; }; + + # Rocky Linux's /pub/rocky/10/ URL is rolling and changes with each minor release. We use the + # vault instead, which provides stable URLs for specific minor versions. + rocky10x86_64 = { + name = "rocky-10.0-x86_64"; + fullName = "Rocky Linux 10.0 (x86_64)"; + packagesLists = [ + (fetchurl { + url = "https://dl.rockylinux.org/vault/rocky/10.0/BaseOS/x86_64/os/repodata/484d5c43cdb1058dd1328a6b891f45c85f1cb2620c528f2ef423d4b9feb9e2f0-primary.xml.gz"; + hash = "sha256-SE1cQ82xBY3RMopriR9FyF8csmIMUo8u9CPUuf654vA="; + }) + (fetchurl { + url = "https://dl.rockylinux.org/vault/rocky/10.0/AppStream/x86_64/os/repodata/32c93064142d89f3f19c11e92642c5abd8368418f7ab3f3bdd752e4afa9b5b23-primary.xml.gz"; + hash = "sha256-MskwZBQtifPxnBHpJkLFq9g2hBj3qz873XUuSvqbWyM="; + }) + ]; + urlPrefixes = [ + "https://dl.rockylinux.org/vault/rocky/10.0/BaseOS/x86_64/os" + "https://dl.rockylinux.org/vault/rocky/10.0/AppStream/x86_64/os" + ]; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonRockyPackages ++ [ + "annobin-plugin-gcc" + ]; + unifiedSystemDir = true; + }; }; # The set of supported Dpkg-based distributions. diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index e308a5a58771..c0c7ae41cd7a 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -51,5 +51,6 @@ in testCentOSStream9Image = makeImageTestScript diskImages.centosStream9x86_64; testCentOSStream10Image = makeImageTestScript diskImages.centosStream10x86_64; testRocky9Image = makeImageTestScript diskImages.rocky9x86_64; + testRocky10Image = makeImageTestScript diskImages.rocky10x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From e2127eb5d0c3d67afab05ba2a36b06c5b1b944ce Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 19:25:38 -0800 Subject: [PATCH 71/97] vmTools: add Alma Linux 9 and 10 --- pkgs/build-support/vm/default.nix | 60 +++++++++++++++++++++++++++++++ pkgs/build-support/vm/test.nix | 2 ++ 2 files changed, 62 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index c493248c61ff..31a5a9e65054 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1162,6 +1162,60 @@ let ]; unifiedSystemDir = true; }; + + alma9x86_64 = { + name = "alma-9-x86_64"; + fullName = "AlmaLinux 9 (x86_64)"; + packagesLists = [ + (fetchurl { + url = "https://repo.almalinux.org/almalinux/9/BaseOS/x86_64/os/repodata/e7e7e537062ffd6778b5190b7b6785086efab6647401014d1985c10a0d3de609-primary.xml.gz"; + hash = "sha256-5+flNwYv/Wd4tRkLe2eFCG76tmR0AQFNGYXBCg095gk="; + }) + (fetchurl { + url = "https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/repodata/e61f480b84cb0a671452c21cbd52930a6fa111e7fb3407ed75cabff71c1a07b7-primary.xml.gz"; + hash = "sha256-5h9IC4TLCmcUUsIcvVKTCm+hEef7NAftdcq/9xwaB7c="; + }) + ]; + urlPrefixes = [ + "https://repo.almalinux.org/almalinux/9/BaseOS/x86_64/os" + "https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os" + ]; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonAlmaPackages ++ [ + "annobin" + ]; + unifiedSystemDir = true; + }; + + alma10x86_64 = { + name = "alma-10-x86_64"; + fullName = "AlmaLinux 10 (x86_64)"; + packagesLists = [ + (fetchurl { + url = "https://repo.almalinux.org/almalinux/10/BaseOS/x86_64/os/repodata/e0a4a18c4f302fa3188b757197b81d606199eccddd8480602c378def572fabbf-primary.xml.gz"; + hash = "sha256-4KShjE8wL6MYi3Vxl7gdYGGZ7M3dhIBgLDeN71cvq78="; + }) + (fetchurl { + url = "https://repo.almalinux.org/almalinux/10/AppStream/x86_64/os/repodata/fb3e7acc93f1b0969c3c00dc3bc4364d4f5837d11274cae650c34cf71c0f80ae-primary.xml.gz"; + hash = "sha256-+z56zJPxsJacPADcO8Q2TU9YN9ESdMrmUMNM9xwPgK4="; + }) + ]; + urlPrefixes = [ + "https://repo.almalinux.org/almalinux/10/BaseOS/x86_64/os" + "https://repo.almalinux.org/almalinux/10/AppStream/x86_64/os" + ]; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonAlmaPackages ++ [ + "annobin-plugin-gcc" + ]; + unifiedSystemDir = true; + }; }; # The set of supported Dpkg-based distributions. @@ -1409,6 +1463,12 @@ let "rocky-release" ]; + commonAlmaPackages = baseRHELFamilyPackages ++ [ + "almalinux-release" + "gcc-plugin-annobin" + "pkgconf" + ]; + # Common packages for openSUSE images. commonOpenSUSEPackages = [ "aaa_base" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index c0c7ae41cd7a..1d712c0650d2 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -52,5 +52,7 @@ in testCentOSStream10Image = makeImageTestScript diskImages.centosStream10x86_64; testRocky9Image = makeImageTestScript diskImages.rocky9x86_64; testRocky10Image = makeImageTestScript diskImages.rocky10x86_64; + testAlma9Image = makeImageTestScript diskImages.alma9x86_64; + testAlma10Image = makeImageTestScript diskImages.alma10x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From 98b0461681f2355d3e8b2e115d0db56130f915d7 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 20:25:28 -0800 Subject: [PATCH 72/97] vmTools: add Oracle Linux 9 --- pkgs/build-support/vm/default.nix | 34 +++++++++++++++++++++++++++++++ pkgs/build-support/vm/test.nix | 1 + 2 files changed, 35 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 31a5a9e65054..660b03c0b790 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1216,6 +1216,34 @@ let ]; unifiedSystemDir = true; }; + + oracle9x86_64 = { + name = "oracle-9-x86_64"; + fullName = "Oracle Linux 9 (x86_64)"; + packagesLists = [ + (fetchurl { + url = "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64/repodata/edda5aa6dc1ad233cd5fe29838e535ef959cd291be343844e127e29c290f93ca-primary.xml.gz"; + hash = "sha256-7dpaptwa0jPNX+KYOOU175Wc0pG+NDhE4SfinCkPk8o="; + }) + (fetchurl { + url = "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/repodata/4d559ceb3228c2f734d1bcbc79079141e4ce1f2abd90ce77f7f8e31d1deb77b2-primary.xml.gz"; + hash = "sha256-TVWc6zIowvc00by8eQeRQeTOHyq9kM539/jjHR3rd7I="; + }) + ]; + urlPrefixes = [ + "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64" + "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64" + ]; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonOraclePackages ++ [ + "annobin" + ]; + unifiedSystemDir = true; + }; + }; # The set of supported Dpkg-based distributions. @@ -1469,6 +1497,12 @@ let "pkgconf" ]; + commonOraclePackages = baseRHELFamilyPackages ++ [ + "gcc-plugin-annobin" + "oraclelinux-release" + "pkgconf" + ]; + # Common packages for openSUSE images. commonOpenSUSEPackages = [ "aaa_base" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 1d712c0650d2..0320d86bb5be 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -54,5 +54,6 @@ in testRocky10Image = makeImageTestScript diskImages.rocky10x86_64; testAlma9Image = makeImageTestScript diskImages.alma9x86_64; testAlma10Image = makeImageTestScript diskImages.alma10x86_64; + testOracle9Image = makeImageTestScript diskImages.oracle9x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From 921c93ffbc73b126c9d159ded35010690f224ecd Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 20:46:57 -0800 Subject: [PATCH 73/97] vmTools: add in Amazon Linux 2023 --- pkgs/build-support/vm/default.nix | 25 ++++++++++++++++++++++++ pkgs/build-support/vm/rpm/rpm-closure.pl | 8 +++++++- pkgs/build-support/vm/test.nix | 1 + 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 660b03c0b790..fdce25d41ae0 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -836,6 +836,7 @@ let { nativeBuildInputs = [ buildPackages.perl + buildPackages.perlPackages.URI buildPackages.perlPackages.XMLSimple buildPackages.zstd ]; @@ -1244,6 +1245,24 @@ let unifiedSystemDir = true; }; + amazon2023x86_64 = { + name = "amazon-2023-x86_64"; + fullName = "Amazon Linux 2023 (x86_64)"; + packagesList = fetchurl { + url = "https://cdn.amazonlinux.com/al2023/core/guids/6fa961924efb4835a7e8de43c89726dca28a5cf5906f891262d8f78a31ea3aaf/x86_64/repodata/primary.xml.gz"; + hash = "sha256-Ezdsc8a2aOIbyXvQ/nyanWe1fl089VgtfegaPcu2oo4="; + }; + urlPrefix = "https://cdn.amazonlinux.com/al2023/core/guids/6fa961924efb4835a7e8de43c89726dca28a5cf5906f891262d8f78a31ea3aaf/x86_64"; + archs = [ + "noarch" + "x86_64" + ]; + packages = commonAmazonPackages ++ [ + "annobin-plugin-gcc" + ]; + unifiedSystemDir = true; + }; + }; # The set of supported Dpkg-based distributions. @@ -1503,6 +1522,12 @@ let "pkgconf" ]; + commonAmazonPackages = baseRHELFamilyPackages ++ [ + "gcc-plugin-annobin" + "pkgconf" + "system-release" + ]; + # Common packages for openSUSE images. commonOpenSUSEPackages = [ "aaa_base" diff --git a/pkgs/build-support/vm/rpm/rpm-closure.pl b/pkgs/build-support/vm/rpm/rpm-closure.pl index 51ebfc9ade64..a11adc27ac10 100644 --- a/pkgs/build-support/vm/rpm/rpm-closure.pl +++ b/pkgs/build-support/vm/rpm/rpm-closure.pl @@ -1,6 +1,7 @@ use strict; use XML::Simple; use List::Util qw(min); +use URI::Escape; my @packagesFiles = (); my @urlPrefixes = (); @@ -174,8 +175,13 @@ print "[\n\n"; foreach my $pkgName (@needed) { my $pkg = $pkgs{$pkgName}; + # URL-encode each path segment separately to handle special characters like '+' + my $href = $pkg->{location}->{href}; + my @segments = split('/', $href); + my @encoded_segments = map { uri_escape($_) } @segments; + my $encoded_href = join('/', @encoded_segments); print " (fetchurl {\n"; - print " url = $pkg->{urlPrefix}/$pkg->{location}->{href};\n"; + print " url = \"$pkg->{urlPrefix}/$encoded_href\";\n"; if ($pkg->{checksum}->{type} eq "sha") { print " sha1 = \"$pkg->{checksum}->{content}\";\n"; } elsif ($pkg->{checksum}->{type} eq "sha256") { diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 0320d86bb5be..667f0c84103e 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -55,5 +55,6 @@ in testAlma9Image = makeImageTestScript diskImages.alma9x86_64; testAlma10Image = makeImageTestScript diskImages.alma10x86_64; testOracle9Image = makeImageTestScript diskImages.oracle9x86_64; + testAmazon2023Image = makeImageTestScript diskImages.amazon2023x86_64; testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; } From 2fec9598a863afdd6b56049d69235620fac2796d Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 17 Dec 2025 21:33:21 -0800 Subject: [PATCH 74/97] vmTools: shore up the tests with each image --- pkgs/build-support/vm/test.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 667f0c84103e..7472e0f73226 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -46,6 +46,7 @@ in }) ); + # RPM-based distros testFedora42Image = makeImageTestScript diskImages.fedora42x86_64; testFedora43Image = makeImageTestScript diskImages.fedora43x86_64; testCentOSStream9Image = makeImageTestScript diskImages.centosStream9x86_64; @@ -56,5 +57,15 @@ in testAlma10Image = makeImageTestScript diskImages.alma10x86_64; testOracle9Image = makeImageTestScript diskImages.oracle9x86_64; testAmazon2023Image = makeImageTestScript diskImages.amazon2023x86_64; - testUbuntuImage = makeImageTestScript diskImages.ubuntu2404x86_64; + + # Debian-based distros + testDebian11i386Image = makeImageTestScript diskImages.debian11i386; + testDebian11x86_64Image = makeImageTestScript diskImages.debian11x86_64; + testDebian12i386Image = makeImageTestScript diskImages.debian12i386; + testDebian12x86_64Image = makeImageTestScript diskImages.debian12x86_64; + testDebian13i386Image = makeImageTestScript diskImages.debian13i386; + testDebian13x86_64Image = makeImageTestScript diskImages.debian13x86_64; + testUbuntu2204i386Image = makeImageTestScript diskImages.ubuntu2204i386; + testUbuntu2204x86_64Image = makeImageTestScript diskImages.ubuntu2204x86_64; + testUbuntu2404x86_64Image = makeImageTestScript diskImages.ubuntu2404x86_64; } From 0f6e482a7faeccea25bdf5b8b858ba92c9ded145 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Thu, 18 Dec 2025 11:55:11 -0800 Subject: [PATCH 75/97] doc: update vmTools documentation based on the newly added disk images --- doc/build-helpers/special/vm-tools.section.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/doc/build-helpers/special/vm-tools.section.md b/doc/build-helpers/special/vm-tools.section.md index 142093274987..4e4de3e85b54 100644 --- a/doc/build-helpers/special/vm-tools.section.md +++ b/doc/build-helpers/special/vm-tools.section.md @@ -92,14 +92,14 @@ Generate a script that can be used to run an interactive session in the given im ### Examples {#vm-tools-makeImageTestScript-examples} -Create a script for running a Fedora 27 VM: +Create a script for running a Fedora 43 VM: ```nix -{ pkgs }: with pkgs; with vmTools; makeImageTestScript diskImages.fedora27x86_64 +{ pkgs }: pkgs.vmTools.makeImageTestScript pkgs.vmTools.diskImages.fedora43x86_64 ``` -Create a script for running an Ubuntu 20.04 VM: +Create a script for running an Ubuntu 24.04 VM: ```nix -{ pkgs }: with pkgs; with vmTools; makeImageTestScript diskImages.ubuntu2004x86_64 +{ pkgs }: pkgs.vmTools.makeImageTestScript pkgs.vmTools.diskImages.ubuntu2404x86_64 ``` ## `vmTools.diskImageFuns` {#vm-tools-diskImageFuns} @@ -109,30 +109,32 @@ A set of functions that build a predefined set of minimal Linux distributions im ### Images {#vm-tools-diskImageFuns-images} * Fedora - * `fedora26x86_64` - * `fedora27x86_64` -* CentOS - * `centos6i386` - * `centos6x86_64` - * `centos7x86_64` + * `fedora42x86_64` + * `fedora43x86_64` +* CentOS Stream + * `centosStream9x86_64` + * `centosStream10x86_64` +* Rocky Linux + * `rocky9x86_64` + * `rocky10x86_64` +* AlmaLinux + * `alma9x86_64` + * `alma10x86_64` +* Oracle Linux + * `oracle9x86_64` +* Amazon Linux + * `amazon2023x86_64` * Ubuntu - * `ubuntu1404i386` - * `ubuntu1404x86_64` - * `ubuntu1604i386` - * `ubuntu1604x86_64` - * `ubuntu1804i386` - * `ubuntu1804x86_64` - * `ubuntu2004i386` - * `ubuntu2004x86_64` * `ubuntu2204i386` * `ubuntu2204x86_64` + * `ubuntu2404x86_64` * Debian - * `debian10i386` - * `debian10x86_64` * `debian11i386` * `debian11x86_64` * `debian12i386` * `debian12x86_64` + * `debian13i386` + * `debian13x86_64` ### Attributes {#vm-tools-diskImageFuns-attributes} @@ -144,9 +146,7 @@ A set of functions that build a predefined set of minimal Linux distributions im 8GiB image containing Firefox in addition to the default packages: ```nix { pkgs }: -with pkgs; -with vmTools; -diskImageFuns.ubuntu2004x86_64 { +pkgs.vmTools.diskImageFuns.ubuntu2404x86_64 { extraPackages = [ "firefox" ]; size = 8192; } From 60e98283d2e33d2f24e2a238d7f677b306020979 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Fri, 19 Dec 2025 16:46:07 -0800 Subject: [PATCH 76/97] vmTools: use AlmaLinux vault URLs for stable package lists The repo.almalinux.org URLs are rolling and change with each minor release, causing hash mismatches. Switch to vault.almalinux.org which provides stable URLs for specific versions. - alma9x86_64: use vault 9.6 - alma10x86_64: use vault 10.0 --- pkgs/build-support/vm/default.nix | 34 ++++++++++++++++--------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index fdce25d41ae0..4f9b1b8217cd 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1164,22 +1164,24 @@ let unifiedSystemDir = true; }; + # AlmaLinux's repo.almalinux.org URLs are rolling and change with each minor release. + # We use vault.almalinux.org instead, which provides stable URLs for specific versions. alma9x86_64 = { - name = "alma-9-x86_64"; - fullName = "AlmaLinux 9 (x86_64)"; + name = "alma-9.6-x86_64"; + fullName = "AlmaLinux 9.6 (x86_64)"; packagesLists = [ (fetchurl { - url = "https://repo.almalinux.org/almalinux/9/BaseOS/x86_64/os/repodata/e7e7e537062ffd6778b5190b7b6785086efab6647401014d1985c10a0d3de609-primary.xml.gz"; - hash = "sha256-5+flNwYv/Wd4tRkLe2eFCG76tmR0AQFNGYXBCg095gk="; + url = "https://vault.almalinux.org/9.6/BaseOS/x86_64/os/repodata/26d6cf944c86ef850773e61919e892a375ff10bb2254003e1d71673db9900b07-primary.xml.gz"; + hash = "sha256-JtbPlEyG74UHc+YZGeiSo3X/ELsiVAA+HXFnPbmQCwc="; }) (fetchurl { - url = "https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os/repodata/e61f480b84cb0a671452c21cbd52930a6fa111e7fb3407ed75cabff71c1a07b7-primary.xml.gz"; - hash = "sha256-5h9IC4TLCmcUUsIcvVKTCm+hEef7NAftdcq/9xwaB7c="; + url = "https://vault.almalinux.org/9.6/AppStream/x86_64/os/repodata/afb5d18b78d819d826d3d0e32ba439da7b9e0fd91d726dd833366496b1b8ca20-primary.xml.gz"; + hash = "sha256-r7XRi3jYGdgm09DjK6Q52nueD9kdcm3YMzZklrG4yiA="; }) ]; urlPrefixes = [ - "https://repo.almalinux.org/almalinux/9/BaseOS/x86_64/os" - "https://repo.almalinux.org/almalinux/9/AppStream/x86_64/os" + "https://vault.almalinux.org/9.6/BaseOS/x86_64/os" + "https://vault.almalinux.org/9.6/AppStream/x86_64/os" ]; archs = [ "noarch" @@ -1192,21 +1194,21 @@ let }; alma10x86_64 = { - name = "alma-10-x86_64"; - fullName = "AlmaLinux 10 (x86_64)"; + name = "alma-10.0-x86_64"; + fullName = "AlmaLinux 10.0 (x86_64)"; packagesLists = [ (fetchurl { - url = "https://repo.almalinux.org/almalinux/10/BaseOS/x86_64/os/repodata/e0a4a18c4f302fa3188b757197b81d606199eccddd8480602c378def572fabbf-primary.xml.gz"; - hash = "sha256-4KShjE8wL6MYi3Vxl7gdYGGZ7M3dhIBgLDeN71cvq78="; + url = "https://vault.almalinux.org/10.0/BaseOS/x86_64/os/repodata/4d88695fa7ccb6298897fa9682ac1ded4628df342ffe08312846225e4469e3e4-primary.xml.gz"; + hash = "sha256-TYhpX6fMtimIl/qWgqwd7UYo3zQv/ggxKEYiXkRp4+Q="; }) (fetchurl { - url = "https://repo.almalinux.org/almalinux/10/AppStream/x86_64/os/repodata/fb3e7acc93f1b0969c3c00dc3bc4364d4f5837d11274cae650c34cf71c0f80ae-primary.xml.gz"; - hash = "sha256-+z56zJPxsJacPADcO8Q2TU9YN9ESdMrmUMNM9xwPgK4="; + url = "https://vault.almalinux.org/10.0/AppStream/x86_64/os/repodata/11ac32065bae6f2c2451803458690fc550e79f93a4ea9f438930f0c228964791-primary.xml.gz"; + hash = "sha256-EawyBluubywkUYA0WGkPxVDnn5Ok6p9DiTDwwiiWR5E="; }) ]; urlPrefixes = [ - "https://repo.almalinux.org/almalinux/10/BaseOS/x86_64/os" - "https://repo.almalinux.org/almalinux/10/AppStream/x86_64/os" + "https://vault.almalinux.org/10.0/BaseOS/x86_64/os" + "https://vault.almalinux.org/10.0/AppStream/x86_64/os" ]; archs = [ "noarch" From b80421ae9066621943d35dc6cfef456912971f5c Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Fri, 19 Dec 2025 17:14:08 -0800 Subject: [PATCH 77/97] vmTools: update Oracle Linux 9 package list hashes Oracle provides versioned URLs for baseos but not appstream. Since we can't mix versioned baseos with rolling appstream due to package version dependencies (glibc mismatch), we keep using rolling URLs for both. Add comment explaining this limitation. --- pkgs/build-support/vm/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 4f9b1b8217cd..8b185d5c8614 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1220,17 +1220,20 @@ let unifiedSystemDir = true; }; + # Oracle provides versioned URLs for baseos (e.g., OL9/7/baseos/base/) but not for appstream. + # We can't mix versioned baseos with rolling appstream due to package version dependencies, + # so we use rolling URLs for both. These may need hash updates when Oracle releases new versions. oracle9x86_64 = { name = "oracle-9-x86_64"; fullName = "Oracle Linux 9 (x86_64)"; packagesLists = [ (fetchurl { - url = "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64/repodata/edda5aa6dc1ad233cd5fe29838e535ef959cd291be343844e127e29c290f93ca-primary.xml.gz"; - hash = "sha256-7dpaptwa0jPNX+KYOOU175Wc0pG+NDhE4SfinCkPk8o="; + url = "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64/repodata/22683534c792aff59db7dc398a72291012dce25a2873843c004be83f85587822-primary.xml.gz"; + hash = "sha256-Img1NMeSr/Wdt9w5inIpEBLc4looc4Q8AEvoP4VYeCI="; }) (fetchurl { - url = "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/repodata/4d559ceb3228c2f734d1bcbc79079141e4ce1f2abd90ce77f7f8e31d1deb77b2-primary.xml.gz"; - hash = "sha256-TVWc6zIowvc00by8eQeRQeTOHyq9kM539/jjHR3rd7I="; + url = "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/repodata/2a1fe56f0dabfcb0fcd6bcddbb5ca6052ac1a6ac124498d95578416c06162e0d-primary.xml.gz"; + hash = "sha256-Kh/lbw2r/LD81rzdu1ymBSrBpqwSRJjZVXhBbAYWLg0="; }) ]; urlPrefixes = [ From 97e4caee70857e572329c2cd3986fe34308158bd Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Fri, 19 Dec 2025 17:17:47 -0800 Subject: [PATCH 78/97] vmTools: add documentation for updating Amazon Linux 2023 GUID Amazon Linux 2023 uses GUID-based URLs that don't allow directory listing, making updates non-trivial. Add a comment explaining how to find the current GUID by either running an AL2023 container or checking the docker-library/repo-info repository. --- pkgs/build-support/vm/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 8b185d5c8614..805ac8afb950 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1250,6 +1250,14 @@ let unifiedSystemDir = true; }; + # Amazon Linux 2023 uses GUID-based URLs that don't allow directory listing. + # To update: The GUID corresponds to a specific AL2023 release version. You can find the + # current GUID by either: + # 1. Running an AL2023 container: `docker run -it amazonlinux:2023 dnf repolist -v` + # and extracting the GUID from the Repo-baseurl field + # 2. Checking https://github.com/docker-library/repo-info/blob/master/repos/amazonlinux/local/latest.md + # which tracks the repository URLs from the official Docker image + # Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes.html amazon2023x86_64 = { name = "amazon-2023-x86_64"; fullName = "Amazon Linux 2023 (x86_64)"; From 35606c0780c572993233dcb152613c2d835d58f6 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Jan 2026 10:24:20 -0800 Subject: [PATCH 79/97] python3Packages.llm: fix build This is a regression introduced with the sqlite 3.51.1 bump. Thanks to @mrmaxmeier for the diagnosis and the patch. --- pkgs/development/python-modules/llm/default.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix index f04cd5b18be8..c93fe1269bb0 100644 --- a/pkgs/development/python-modules/llm/default.nix +++ b/pkgs/development/python-modules/llm/default.nix @@ -4,6 +4,7 @@ callPackage, buildPythonPackage, fetchFromGitHub, + fetchpatch, pytestCheckHook, pythonOlder, replaceVars, @@ -24,6 +25,7 @@ pytest-asyncio, pytest-httpx, pytest-recording, + sqlite, sqlite-utils, syrupy, llm-echo, @@ -179,7 +181,17 @@ let hash = "sha256-PMQGyBwP6UCIz7p94atWgepbw9IwW6ym60sfP/PBrCA="; }; - patches = [ ./001-disable-install-uninstall-commands.patch ]; + patches = [ + ./001-disable-install-uninstall-commands.patch + ] + # See https://github.com/NixOS/nixpkgs/issues/476258 and https://github.com/simonw/llm/pull/1334 + # TODO: Remove when sqlite 3.52.x is released. + ++ lib.optionals (sqlite.version == "3.51.1") [ + (fetchpatch { + url = "https://github.com/simonw/llm/commit/6e24b883c3e3c4ddd2ec9006714d0a9ec17b59da.patch"; + hash = "sha256-4AKQdZCr6qxuWnjWoSW6I44hPL5e7tnvREx2Ns0WwNc="; + }) + ]; postPatch = '' substituteInPlace llm/cli.py \ From d4919fb21d60a71a1194e1490142e111c189c12b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 18:32:54 +0000 Subject: [PATCH 80/97] nezha-agent: 1.14.1 -> 1.14.3 --- pkgs/by-name/ne/nezha-agent/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/nezha-agent/package.nix b/pkgs/by-name/ne/nezha-agent/package.nix index 5ac493fa03fc..4b99d7a475b6 100644 --- a/pkgs/by-name/ne/nezha-agent/package.nix +++ b/pkgs/by-name/ne/nezha-agent/package.nix @@ -8,13 +8,13 @@ }: buildGoModule (finalAttrs: { pname = "nezha-agent"; - version = "1.14.1"; + version = "1.14.3"; src = fetchFromGitHub { owner = "nezhahq"; repo = "agent"; tag = "v${finalAttrs.version}"; - hash = "sha256-1p/YEAIa0+9FC+TuNHdv7WSXzDJBS7zgrocNJZ0Tuk0="; + hash = "sha256-/DDk57rUXiACQaXl4KTMiOFFMopHtYvRI4vnPORseFE="; }; vendorHash = "sha256-A0oVUyCflbEY3vBbJwy7cF2m1x9vHCY2jAOsrm3659E="; From 52fbdf3dee5cefc25c3858c5b9f74ca43a9d14b0 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Jan 2026 10:32:30 -0800 Subject: [PATCH 81/97] vmTools: drop CentOS Stream As @uninsane points out, these are designed to rot rapidly. --- doc/build-helpers/special/vm-tools.section.md | 3 - pkgs/build-support/vm/default.nix | 62 +------------------ pkgs/build-support/vm/test.nix | 2 - 3 files changed, 1 insertion(+), 66 deletions(-) diff --git a/doc/build-helpers/special/vm-tools.section.md b/doc/build-helpers/special/vm-tools.section.md index 4e4de3e85b54..47988eb3f4a1 100644 --- a/doc/build-helpers/special/vm-tools.section.md +++ b/doc/build-helpers/special/vm-tools.section.md @@ -111,9 +111,6 @@ A set of functions that build a predefined set of minimal Linux distributions im * Fedora * `fedora42x86_64` * `fedora43x86_64` -* CentOS Stream - * `centosStream9x86_64` - * `centosStream10x86_64` * Rocky Linux * `rocky9x86_64` * `rocky10x86_64` diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 805ac8afb950..ca5719ba6c31 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1052,60 +1052,6 @@ let unifiedSystemDir = true; }; - centosStream9x86_64 = { - name = "centos-stream-9-x86_64"; - fullName = "CentOS Stream 9 (x86_64)"; - packagesLists = [ - (fetchurl { - url = "https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/repodata/737e7bb91d5464e0cc258ff5ae5070a00d682c39fc2de0b9b55df671022ba732-primary.xml.gz"; - hash = "sha256-c357uR1UZODMJY/1rlBwoA1oLDn8LeC5tV32cQIrpzI="; - }) - (fetchurl { - url = "https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/repodata/9f0c1578e5df33e6479a1d3e5397b87ecaa1b5bac7fd34de6c837bddb3949fde-primary.xml.gz"; - hash = "sha256-nwwVeOXfM+ZHmh0+U5e4fsqhtbrH/TTebIN73bOUn94="; - }) - ]; - urlPrefixes = [ - "https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os" - "https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os" - ]; - archs = [ - "noarch" - "x86_64" - ]; - packages = commonCentOSStreamPackages ++ [ - "annobin" - ]; - unifiedSystemDir = true; - }; - - centosStream10x86_64 = { - name = "centos-stream-10-x86_64"; - fullName = "CentOS Stream 10 (x86_64)"; - packagesLists = [ - (fetchurl { - url = "https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os/repodata/b3bb8f59e9c3dfedf3439c8357dc6fb727dc3e6fd2e351ab5e1fb0cfbbf07381-primary.xml.gz"; - hash = "sha256-s7uPWenD3+3zQ5yDV9xvtyfcPm/S41GrXh+wz7vwc4E="; - }) - (fetchurl { - url = "https://mirror.stream.centos.org/10-stream/AppStream/x86_64/os/repodata/962343afafa14dcc36a6c054608ae9bbf700c8ead08d1ca8898b5b1a192e3106-primary.xml.gz"; - hash = "sha256-liNDr6+hTcw2psBUYIrpu/cAyOrQjRyoiYtbGhkuMQY="; - }) - ]; - urlPrefixes = [ - "https://mirror.stream.centos.org/10-stream/BaseOS/x86_64/os" - "https://mirror.stream.centos.org/10-stream/AppStream/x86_64/os" - ]; - archs = [ - "noarch" - "x86_64" - ]; - packages = commonCentOSStreamPackages ++ [ - "annobin-plugin-gcc" - ]; - unifiedSystemDir = true; - }; - # Rocky Linux's /pub/rocky/9/ URL is rolling and changes with each minor release. We use the # vault instead, which provides stable URLs for specific minor versions. rocky9x86_64 = { @@ -1482,7 +1428,7 @@ let }; }; - # Base packages for all RHEL-family distros (Fedora, CentOS Stream, Rocky, Alma, etc.) + # Base packages for all RHEL-family distros (Fedora, Rocky, Alma, etc.) baseRHELFamilyPackages = [ "autoconf" "automake" @@ -1511,12 +1457,6 @@ let "pkgconf-pkg-config" ]; - commonCentOSStreamPackages = baseRHELFamilyPackages ++ [ - "centos-stream-release" - "gcc-plugin-annobin" - "pkgconf" - ]; - commonRockyPackages = baseRHELFamilyPackages ++ [ "gcc-plugin-annobin" "pkgconf" diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index 7472e0f73226..3a7adcbd216e 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -49,8 +49,6 @@ in # RPM-based distros testFedora42Image = makeImageTestScript diskImages.fedora42x86_64; testFedora43Image = makeImageTestScript diskImages.fedora43x86_64; - testCentOSStream9Image = makeImageTestScript diskImages.centosStream9x86_64; - testCentOSStream10Image = makeImageTestScript diskImages.centosStream10x86_64; testRocky9Image = makeImageTestScript diskImages.rocky9x86_64; testRocky10Image = makeImageTestScript diskImages.rocky10x86_64; testAlma9Image = makeImageTestScript diskImages.alma9x86_64; From f75aefb26efb211da2f192d7de8a474cc875054f Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Jan 2026 10:49:35 -0800 Subject: [PATCH 82/97] vmTools: update Rocky Linux 9.5 to 9.6 --- pkgs/build-support/vm/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index ca5719ba6c31..bd30b2fa7bec 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1055,21 +1055,21 @@ let # Rocky Linux's /pub/rocky/9/ URL is rolling and changes with each minor release. We use the # vault instead, which provides stable URLs for specific minor versions. rocky9x86_64 = { - name = "rocky-9.5-x86_64"; - fullName = "Rocky Linux 9.5 (x86_64)"; + name = "rocky-9.6-x86_64"; + fullName = "Rocky Linux 9.6 (x86_64)"; packagesLists = [ (fetchurl { - url = "https://dl.rockylinux.org/vault/rocky/9.5/BaseOS/x86_64/os/repodata/554cd09406b7bf632fc7014d0a567094272d37ac08f75af955de96183425dfa8-primary.xml.gz"; - hash = "sha256-VUzQlAa3v2MvxwFNClZwlCctN6wI91r5Vd6WGDQl36g="; + url = "https://dl.rockylinux.org/vault/rocky/9.6/BaseOS/x86_64/os/repodata/9965e429a90787a87a07eed62872d046411fb7dded524b96d74c4ce1eade327a-primary.xml.gz"; + hash = "sha256-mWXkKakHh6h6B+7WKHLQRkEft93tUkuW10xM4ereMno="; }) (fetchurl { - url = "https://dl.rockylinux.org/vault/rocky/9.5/AppStream/x86_64/os/repodata/db8f32057dd37687574ea660d322ff7a0b5dc01bfba42888818b48ef686837cd-primary.xml.gz"; - hash = "sha256-248yBX3TdodXTqZg0yL/egtdwBv7pCiIgYtI72hoN80="; + url = "https://dl.rockylinux.org/vault/rocky/9.6/AppStream/x86_64/os/repodata/8cc9f795679c3365c06b6135f685ebf4188a5863a5f52f09f8cabd4f09c4dfa1-primary.xml.gz"; + hash = "sha256-jMn3lWecM2XAa2E19oXr9BiKWGOl9S8J+Mq9TwnE36E="; }) ]; urlPrefixes = [ - "https://dl.rockylinux.org/vault/rocky/9.5/BaseOS/x86_64/os" - "https://dl.rockylinux.org/vault/rocky/9.5/AppStream/x86_64/os" + "https://dl.rockylinux.org/vault/rocky/9.6/BaseOS/x86_64/os" + "https://dl.rockylinux.org/vault/rocky/9.6/AppStream/x86_64/os" ]; archs = [ "noarch" From 57dc89a966ddb86d065a7d358771b17f16dbac8f Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Jan 2026 10:50:27 -0800 Subject: [PATCH 83/97] vmTools: update Oracle Linux 9 package list hashes --- pkgs/build-support/vm/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index bd30b2fa7bec..dc4197754507 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1174,12 +1174,12 @@ let fullName = "Oracle Linux 9 (x86_64)"; packagesLists = [ (fetchurl { - url = "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64/repodata/22683534c792aff59db7dc398a72291012dce25a2873843c004be83f85587822-primary.xml.gz"; - hash = "sha256-Img1NMeSr/Wdt9w5inIpEBLc4looc4Q8AEvoP4VYeCI="; + url = "https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64/repodata/bc292d67f73fc606db1872d5ba8804da06a514efe64523247035f0d3b678fb63-primary.xml.gz"; + hash = "sha256-vCktZ/c/xgbbGHLVuogE2galFO/mRSMkcDXw07Z4+2M="; }) (fetchurl { - url = "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/repodata/2a1fe56f0dabfcb0fcd6bcddbb5ca6052ac1a6ac124498d95578416c06162e0d-primary.xml.gz"; - hash = "sha256-Kh/lbw2r/LD81rzdu1ymBSrBpqwSRJjZVXhBbAYWLg0="; + url = "https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/repodata/6fabacadf7cdf22cbb21dc296f58e6b852d5b8ec9a927e214231477ef90083f9-primary.xml.gz"; + hash = "sha256-b6usrffN8iy7Idwpb1jmuFLVuOyakn4hQjFHfvkAg/k="; }) ]; urlPrefixes = [ From a1e10daba4d107b4eacc683967b8e94b274995e0 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Jan 2026 11:07:45 -0800 Subject: [PATCH 84/97] vmTools: update Debian snapshot timestamps to 20260105T082626Z --- pkgs/build-support/vm/default.nix | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index dc4197754507..fcaaac568d60 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1341,10 +1341,10 @@ let name = "debian-11.11-bullseye-i386"; fullName = "Debian 11.11 Bullseye (i386)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bullseye/main/binary-i386/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bullseye/main/binary-i386/Packages.xz"; hash = "sha256-kUg1VBUO6co/5bKloxncta49191oCeF05Hm399+UuDA="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z"; packages = commonDebianPackages; }; @@ -1352,10 +1352,10 @@ let name = "debian-11.11-bullseye-amd64"; fullName = "Debian 11.11 Bullseye (amd64)"; packagesList = fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bullseye/main/binary-amd64/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bullseye/main/binary-amd64/Packages.xz"; hash = "sha256-HDQFREKX6thkcRwY5kvOSBDbY7SDQKL52BGC2fI1rXE="; }; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z"; packages = commonDebianPackages; }; @@ -1364,15 +1364,15 @@ let fullName = "Debian 12.12 Bookworm (i386)"; packagesLists = [ (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-i386/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm/main/binary-i386/Packages.xz"; hash = "sha256-nIijsNoHUYkrL6eiwN4FCLHnJy/Bv/RMvnbMIHvieVI="; }) (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm-backports/main/binary-i386/Packages.xz"; - hash = "sha256-9WXnIg1CgzTGaUXnCTs/n/EhJ11aNcKn7rV9FDAi+U8="; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm-backports/main/binary-i386/Packages.xz"; + hash = "sha256-/ja7+DNIKc2ZUIXiocTjLbaD2EPsfeyZcd5ndEMapp4="; }) ]; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z"; packages = commonDebianPackages; }; @@ -1381,15 +1381,15 @@ let fullName = "Debian 12.12 Bookworm (amd64)"; packagesLists = [ (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm/main/binary-amd64/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm/main/binary-amd64/Packages.xz"; hash = "sha256-PfjQeu3tXmXZhH7foSD6WyFrvY4PfwSN/v5pBeShIBE="; }) (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/bookworm-backports/main/binary-amd64/Packages.xz"; - hash = "sha256-i897N1JzuixjtZcFW90X/UJLXfxQOIQoJV9SC/VHpUE="; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/bookworm-backports/main/binary-amd64/Packages.xz"; + hash = "sha256-S3NSvw1kX2zxzMh+WYhY58VUR7iLrTEIuXwwSK6itIs="; }) ]; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z"; packages = commonDebianPackages; }; @@ -1398,15 +1398,15 @@ let fullName = "Debian 13.2 Trixie (i386)"; packagesLists = [ (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-i386/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie/main/binary-i386/Packages.xz"; hash = "sha256-9zozvFZoWiv3wNe9rb+kPwSOgc5G5f4zmNpdoet5A78="; }) (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie-backports/main/binary-i386/Packages.xz"; - hash = "sha256-JdBVmdbD5LQhHbqIHnPeJiGnhrZbJoiYPWlh73A2/wA="; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie-backports/main/binary-i386/Packages.xz"; + hash = "sha256-hEBAQ73Jnv8zp9YvNXWLEObyrSlQNBNBj/XoofJL7eI="; }) ]; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z"; packages = commonDebianPackages; }; @@ -1415,15 +1415,15 @@ let fullName = "Debian 13.2 Trixie (amd64)"; packagesLists = [ (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie/main/binary-amd64/Packages.xz"; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie/main/binary-amd64/Packages.xz"; hash = "sha256-g7f+tKljUXAC4gxJfzSC8+j0GbiwRZjonv25tYuvxtU="; }) (fetchurl { - url = "https://snapshot.debian.org/archive/debian/20251217T203845Z/dists/trixie-backports/main/binary-amd64/Packages.xz"; - hash = "sha256-J7BcablKTswyfKmCIoWGlE32puSDFgcKQGNmhbvl+CY="; + url = "https://snapshot.debian.org/archive/debian/20260105T082626Z/dists/trixie-backports/main/binary-amd64/Packages.xz"; + hash = "sha256-9OoR36FsyK7MQMLHLFMRJ9O11WKq9JCfGwnprpztxNw="; }) ]; - urlPrefix = "https://snapshot.debian.org/archive/debian/20251217T203845Z"; + urlPrefix = "https://snapshot.debian.org/archive/debian/20260105T082626Z"; packages = commonDebianPackages; }; }; From e2633ab2fa242faffa2330636cddd40e6051543f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 19:08:39 +0000 Subject: [PATCH 85/97] raffi: 0.9.0 -> 0.10.0 --- pkgs/by-name/ra/raffi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ra/raffi/package.nix b/pkgs/by-name/ra/raffi/package.nix index edebe08a30fe..20af8bf80053 100644 --- a/pkgs/by-name/ra/raffi/package.nix +++ b/pkgs/by-name/ra/raffi/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "raffi"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "chmouel"; repo = "raffi"; tag = "v${finalAttrs.version}"; - hash = "sha256-k0NJEv76f33yd+mtCJ7bxzaT3UAn0TOaLC/HlzEXUyo="; + hash = "sha256-CjgLxGsx0Ai5kB/XK0ylk8j0rd4ZomZwDHaQAGcYAQw="; }; - cargoHash = "sha256-udXVIV6qDmpLR2QNF+/h69WNGbe7QRDD5YWQ3Sl5Ol0="; + cargoHash = "sha256-etWO77Um+SCyQU5at55F7V2ljw1cXJsTbex61gN/uUk="; nativeBuildInputs = [ makeBinaryWrapper From 63df4c8020403b4be663cdf47d55d35f5a4f1c25 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 5 Jan 2026 11:18:23 -0800 Subject: [PATCH 86/97] vmTools: update Ubuntu snapshot timestamps to 20260101T000000Z --- pkgs/build-support/vm/default.nix | 52 +++++++++++++++---------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index fcaaac568d60..73325c0d81eb 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1234,31 +1234,31 @@ let fullName = "Ubuntu 22.04 Jammy (i386)"; packagesLists = [ (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/main/binary-i386/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/main/binary-i386/Packages.xz"; hash = "sha256-iZBmwT0ep4v+V3sayybbOgZBOFFZwPGpOKtmuLMMVPQ="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/universe/binary-i386/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/universe/binary-i386/Packages.xz"; hash = "sha256-DO2LdpZ9rDDBhWj2gvDWd0TJJVZHxKsYTKTi6GXjm1E="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/main/binary-i386/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/main/binary-i386/Packages.xz"; hash = "sha256-g95BtOoMxacZEHMBbcMes4a1P9HKf/QGOMOPr+OKayo="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/universe/binary-i386/Packages.xz"; - hash = "sha256-AW/XNsA1SblUhfkUP9pC/TLF6cerGI41gfSBCihgt7w="; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/universe/binary-i386/Packages.xz"; + hash = "sha256-VbazaDDJKSUyQchGmw5f+FYAr4PIXWZJSBF0WVC5j+0="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/main/binary-i386/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/main/binary-i386/Packages.xz"; hash = "sha256-SkP4PqjUAbEMtktR5WQm/3jQl9O0T2VOVTP9QIYIVkQ="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/universe/binary-i386/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/universe/binary-i386/Packages.xz"; hash = "sha256-citjk8LAGSRlXgOXgf3oe9vBCUC6/DJGhRJl/3ppN9c="; }) ]; - urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; + urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z"; packages = commonDebPackages ++ [ "diffutils" "libc-bin" @@ -1270,31 +1270,31 @@ let fullName = "Ubuntu 22.04 Jammy (amd64)"; packagesLists = [ (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/main/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/main/binary-amd64/Packages.xz"; hash = "sha256-N8tX8VVMv6ccWinun/7hipqMF4K7BWjgh0t/9M6PnBE="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy/universe/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy/universe/binary-amd64/Packages.xz"; hash = "sha256-0pyyTJP+xfQyVXBrzn60bUd5lSA52MaKwbsUpvNlXOI="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/main/binary-amd64/Packages.xz"; - hash = "sha256-kFHg+DogK+deDx9Tbp7+SaIegnotE5ZofqR8J7S73n8="; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/main/binary-amd64/Packages.xz"; + hash = "sha256-I57YuLZ458RljXfp1xFxqQLGNJh9uu8kQC0hc88XZro="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-updates/universe/binary-amd64/Packages.xz"; - hash = "sha256-WQbtqdAWbhfd8/fwct1uuJXHiZQGPMw3KKhmha4MeTs="; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-updates/universe/binary-amd64/Packages.xz"; + hash = "sha256-ZXobWMi7tkakZ89GoyKpiRhRxMRXud0DOerSfzz5CPE="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/main/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/main/binary-amd64/Packages.xz"; hash = "sha256-cifTPY1iyckkaLd7dp+VPRlF0viWKrWXhM8HVWaMuUw="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/jammy-security/universe/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/jammy-security/universe/binary-amd64/Packages.xz"; hash = "sha256-LTSOGbzkv0KrF2JM6oVT1Ml2KQkySXMbKNMBb9AyfQM="; }) ]; - urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; + urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z"; packages = commonDebPackages ++ [ "diffutils" "libc-bin" @@ -1306,31 +1306,31 @@ let fullName = "Ubuntu 24.04 Noble (amd64)"; packagesLists = [ (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble/main/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble/main/binary-amd64/Packages.xz"; hash = "sha256-KmoZnhAxpcJ5yzRmRtWUmT81scA91KgqqgMjmA3ZJFE="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble/universe/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble/universe/binary-amd64/Packages.xz"; hash = "sha256-upBX+huRQ4zIodJoCNAMhTif4QHQwUliVN+XI2QFWZo="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-updates/main/binary-amd64/Packages.xz"; - hash = "sha256-f6hiUH9S1Bh8/Ljr9AkZYlwHF1vT2bqKGH6TfWnzI7Q="; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-updates/main/binary-amd64/Packages.xz"; + hash = "sha256-leBJ29a2C2qdIPdjSSuwkHKUSq8GEC9L0DgdxHWZ55s="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-updates/universe/binary-amd64/Packages.xz"; - hash = "sha256-ROG+WO5zssfFUblTZxQjIDshdLIZn3meEgTsv6qYi5o="; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-updates/universe/binary-amd64/Packages.xz"; + hash = "sha256-CWYA0A4ytptWdClW3ACdIH4hKscblDh5OgxExP4VdJA="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-security/main/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-security/main/binary-amd64/Packages.xz"; hash = "sha256-TYs8ugCYqzOleH2OebdrpB8E68PfxB+7sRb+PlfANEo="; }) (fetchurl { - url = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z/dists/noble-security/universe/binary-amd64/Packages.xz"; + url = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z/dists/noble-security/universe/binary-amd64/Packages.xz"; hash = "sha256-bK9R8CUjLQ1V4GP7/KqZooSnKHF5+T5SuBs0butC82M="; }) ]; - urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20251217T000000Z"; + urlPrefix = "https://snapshot.ubuntu.com/ubuntu/20260101T000000Z"; packages = commonDebPackages ++ [ "diffutils" "libc-bin" From a34ef0b0a105671c72c7813212d86cd209ea311a Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Mon, 5 Jan 2026 20:18:53 +0100 Subject: [PATCH 87/97] perlPackages.JSON: fix cross build Fix cross build by forcing the core provided JSON::PP backend. Also remove cross related Makefile.PL patch that is no longer needed. --- pkgs/top-level/perl-packages.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 968612bf3171..e15319aa85d9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -18100,9 +18100,12 @@ with self; url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-4.10.tar.gz"; hash = "sha256-34tRQ9mn3pnEe1XxoXC9H2n3EZNcGGptwKtW3QV1jjU="; }; - # Do not abort cross-compilation on failure to load native JSON module into host perl + # Force core provided JSON::PP backend when cross building since dynamic + # loading attempts of other backends presumably fail preConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - substituteInPlace Makefile.PL --replace "exit 0;" "" + substituteInPlace lib/JSON.pm \ + --replace-fail 'my $backend = exists $ENV{PERL_JSON_BACKEND} ? $ENV{PERL_JSON_BACKEND} : 1;' \ + 'my $backend = "JSON::PP";' ''; buildInputs = [ TestPod ]; meta = { From 70acf2ba20d2939eb2feb859f8a2f390cd88ca3c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 19:37:30 +0000 Subject: [PATCH 88/97] lurk: 0.3.10 -> 0.3.11 --- pkgs/by-name/lu/lurk/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lu/lurk/package.nix b/pkgs/by-name/lu/lurk/package.nix index f6ff6aee0e48..f3a737cefadd 100644 --- a/pkgs/by-name/lu/lurk/package.nix +++ b/pkgs/by-name/lu/lurk/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "lurk"; - version = "0.3.10"; + version = "0.3.11"; src = fetchFromGitHub { owner = "jakwai01"; repo = "lurk"; tag = "v${finalAttrs.version}"; - hash = "sha256-5riwosaT7QjRFnIFRAcyLul7i1g8OpHyUuuJNOROTF0="; + hash = "sha256-Sng+mMMKDuI1aSgusJDRFMT5iKNUlp9arp9ruRn0bb0="; }; - cargoHash = "sha256-CDrqcKNhQYbtDaasyCQ6VPGdIrW34VBKPDpbFeommAc="; + cargoHash = "sha256-Cmlhhda35FmNg/OvfMRPHBLPRXF5bs0ebBYT7KfierA="; postPatch = '' substituteInPlace src/lib.rs \ From 17a8505f27e3422de06320348c5e9ef87840686c Mon Sep 17 00:00:00 2001 From: Jost Alemann Date: Mon, 5 Jan 2026 20:41:28 +0100 Subject: [PATCH 89/97] dua: 2.32.2 -> 2.33.0 Changelog: https://github.com/Byron/dua-cli/releases/tag/v2.33.0 Diff: https://github.com/Byron/dua-cli/compare/v2.32.2...v2.33.0 --- pkgs/by-name/du/dua/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/du/dua/package.nix b/pkgs/by-name/du/dua/package.nix index d86c9a566447..09711f351e85 100644 --- a/pkgs/by-name/du/dua/package.nix +++ b/pkgs/by-name/du/dua/package.nix @@ -8,13 +8,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "dua"; - version = "2.32.2"; + version = "2.33.0"; src = fetchFromGitHub { owner = "Byron"; repo = "dua-cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-MB5uePy32jTvOtkQKcP9peFPqwR68E+NZ7UGMuLx8Eo="; + hash = "sha256-3Mlhz+vYeDSoVLuBFAtgJxrECwUchSWIusrLKqhxU30="; # Remove unicode file names which leads to different checksums on HFS+ # vs. other filesystems because of unicode normalisation. postFetch = '' @@ -22,7 +22,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; }; - cargoHash = "sha256-6H0x6I3nkCezu4/Hguv0XTdl+3QiyPL8Ue1rqTQU7VA="; + cargoHash = "sha256-85I+rWomp+2G1DLbwowHDSrRm6dS4b99Ia24ffY7Fnk="; checkFlags = [ # Skip interactive tests From 0770c47dab4b1c4c5924fca7b1cfe7f7b15fd8f3 Mon Sep 17 00:00:00 2001 From: Thierry Delafontaine Date: Sun, 4 Jan 2026 19:33:48 +0000 Subject: [PATCH 90/97] opencode: 1.0.224 -> 1.1.3 --- pkgs/by-name/op/opencode/package.nix | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/op/opencode/package.nix b/pkgs/by-name/op/opencode/package.nix index 801626c102b4..7d91031028ed 100644 --- a/pkgs/by-name/op/opencode/package.nix +++ b/pkgs/by-name/op/opencode/package.nix @@ -14,12 +14,12 @@ }: let pname = "opencode"; - version = "1.0.224"; + version = "1.1.3"; src = fetchFromGitHub { - owner = "sst"; + owner = "anomalyco"; repo = "opencode"; tag = "v${version}"; - hash = "sha256-4ozluoXTovh1wpWVzxCN4jUO7cMxZER/0KMOBsJFO64="; + hash = "sha256-uNeje6WZ/FJVOtxdTdWXbWhPl7BwMws+7/Iz2Hz/stw="; }; node_modules = stdenvNoCC.mkDerivation { @@ -71,7 +71,7 @@ let # NOTE: Required else we get errors that our fixed-output derivation references store paths dontFixup = true; - outputHash = "sha256-+HEd3I11VqejTi7cikbTL5+DmNGyvUC4Cm4ysfujwes="; + outputHash = "sha256-LJ7xgKQP0ows76P8QVflS6SGGowVBYVvarkmCVkfe60="; outputHashAlgo = "sha256"; outputHashMode = "recursive"; }; @@ -201,10 +201,16 @@ stdenvNoCC.mkDerivation (finalAttrs: { fi done - ${lib.optionalString (stdenvNoCC.hostPlatform.system != "x86_64-darwin") '' - installShellCompletion --cmd opencode \ - --bash <($out/bin/opencode completion) - ''} + ${lib.optionalString + ( + (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) + && (stdenvNoCC.hostPlatform.system != "x86_64-darwin") + ) + '' + installShellCompletion --cmd opencode \ + --bash <($out/bin/opencode completion) + '' + } ''; passthru = { @@ -229,7 +235,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { It combines a TypeScript/JavaScript core with a Go-based TUI to provide an interactive AI coding experience. ''; - homepage = "https://github.com/sst/opencode"; + homepage = "https://github.com/anomalyco/opencode"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ delafthi ]; sourceProvenance = with lib.sourceTypes; [ fromSource ]; From 20878eb89129c90e2f62f543762a75e4ed4d4ae1 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 2 Jan 2026 00:53:20 +0000 Subject: [PATCH 91/97] python3Packages.tuf: cleanup --- .../python-modules/tuf/default.nix | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/tuf/default.nix b/pkgs/development/python-modules/tuf/default.nix index e22c473fa5ff..69e6e86710b4 100644 --- a/pkgs/development/python-modules/tuf/default.nix +++ b/pkgs/development/python-modules/tuf/default.nix @@ -1,17 +1,23 @@ { lib, buildPythonPackage, - ed25519, - freezegun, fetchFromGitHub, - hatchling, - pytestCheckHook, + + # build-system flit-core, + hatchling, + + # dependencies requests, securesystemslib, + + # tests + ed25519, + freezegun, + pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "tuf"; version = "6.0.0"; pyproject = true; @@ -19,13 +25,13 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "theupdateframework"; repo = "python-tuf"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-CPbZOpUYi7MWKLMj7kwTsmEkxLCf4wU7IOCcbzMkPlU="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail "hatchling==1.27.0" "hatchling" + --replace-fail "hatchling==1.27.0" "hatchling" ''; build-system = [ @@ -42,12 +48,9 @@ buildPythonPackage rec { __darwinAllowLocalNetworking = true; - checkInputs = [ - freezegun - ]; - nativeCheckInputs = [ ed25519 + freezegun pytestCheckHook ]; @@ -60,11 +63,11 @@ buildPythonPackage rec { meta = { description = "Python reference implementation of The Update Framework (TUF)"; homepage = "https://github.com/theupdateframework/python-tuf"; - changelog = "https://github.com/theupdateframework/python-tuf/blob/v${version}/docs/CHANGELOG.md"; + changelog = "https://github.com/theupdateframework/python-tuf/blob/${finalAttrs.src.tag}/docs/CHANGELOG.md"; license = with lib.licenses; [ asl20 mit ]; maintainers = with lib.maintainers; [ fab ]; }; -} +}) From e776981c7edace0a3e2cccb137ec049a42bce60b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 20:54:36 +0000 Subject: [PATCH 92/97] aws-vault: 7.8.6 -> 7.8.7 --- pkgs/by-name/aw/aws-vault/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/aw/aws-vault/package.nix b/pkgs/by-name/aw/aws-vault/package.nix index 0dfbf8311fee..d65ce380545a 100644 --- a/pkgs/by-name/aw/aws-vault/package.nix +++ b/pkgs/by-name/aw/aws-vault/package.nix @@ -10,17 +10,17 @@ }: buildGoModule rec { pname = "aws-vault"; - version = "7.8.6"; + version = "7.8.7"; src = fetchFromGitHub { owner = "ByteNess"; repo = "aws-vault"; rev = "v${version}"; - hash = "sha256-nULl68DMTqrVXlPmJlp7M3EZ+MiGR9FsWKIRaa2i91I="; + hash = "sha256-q4I/sCFo8svf+XL+Eln5TWLvj1ggaRjUplSgV6M0f9s="; }; proxyVendor = true; - vendorHash = "sha256-tuOrD2NjcjmjosI1bW2F7xEwGLNOMDNxFpEfODF9FHs="; + vendorHash = "sha256-tsIyY+L3Bvv/3uvRVkCGK4cAZXQyZSa0mUPDg8Aqml8="; nativeBuildInputs = [ installShellFiles From 0916deda5450bd4d809d538f637f4740c29d9407 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 21:00:04 +0000 Subject: [PATCH 93/97] newsraft: 0.34 -> 0.35 --- pkgs/by-name/ne/newsraft/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/newsraft/package.nix b/pkgs/by-name/ne/newsraft/package.nix index 4443bc9943a4..8afd52549f36 100644 --- a/pkgs/by-name/ne/newsraft/package.nix +++ b/pkgs/by-name/ne/newsraft/package.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "newsraft"; - version = "0.34"; + version = "0.35"; src = fetchFromGitea { domain = "codeberg.org"; owner = "newsraft"; repo = "newsraft"; rev = "newsraft-${finalAttrs.version}"; - hash = "sha256-o02NAIkT98GJAcAlj04L6sVYcx/x+JOefxkK8llEqYM="; + hash = "sha256-c1IlPs+GxwDeUCpyQ6oy9iLC3YNLCJpjkj1gnwY7lxA="; }; nativeBuildInputs = [ pkg-config ]; From 59778388295aa0184ad5736fe5d864872ffac699 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 21:37:29 +0000 Subject: [PATCH 94/97] python3Packages.tencentcloud-sdk-python: 3.1.25 -> 3.1.26 --- .../python-modules/tencentcloud-sdk-python/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index dfc0d6cc201e..35f6c25eca4a 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.25"; + version = "3.1.26"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-z4GpifopGTRUo2WWWfA8GkN7L+T+FkIN8xYchA5V3DI="; + hash = "sha256-5A3IQUEz+LtsiirNJeVeHawrvlJ2s3UTXXYGAYrPM74="; }; build-system = [ setuptools ]; From 9101f1899fbaa89b4ea7445678bab29ab2bcc404 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Mon, 5 Jan 2026 17:08:27 -0500 Subject: [PATCH 95/97] fish: disable more flaky tests https://github.com/fish-shell/fish-shell/issues/12253#issuecomment-3707996020 --- pkgs/by-name/fi/fish/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/fi/fish/package.nix b/pkgs/by-name/fi/fish/package.nix index eb8748075079..e9179633a25f 100644 --- a/pkgs/by-name/fi/fish/package.nix +++ b/pkgs/by-name/fi/fish/package.nix @@ -163,6 +163,8 @@ stdenv.mkDerivation (finalAttrs: { FISH_BUILD_VERSION = finalAttrs.version; # Skip tests that are known to be flaky in CI CI = 1; + # really skip them all https://github.com/fish-shell/fish-shell/issues/12253#issuecomment-3707996020 + FISH_CI_SAN = 1; }; cargoDeps = rustPlatform.fetchCargoVendor { From a026099e262d928193c5c9a46f0268978d6d237d Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Sun, 4 Jan 2026 11:10:42 +0100 Subject: [PATCH 96/97] perl-cross: 1.6.2 -> 1.6.4 --- .../interpreters/perl/interpreter.nix | 7 +- .../interpreters/perl/perl-5.42.0-cross.patch | 186 ------------------ 2 files changed, 2 insertions(+), 191 deletions(-) delete mode 100644 pkgs/development/interpreters/perl/perl-5.42.0-cross.patch diff --git a/pkgs/development/interpreters/perl/interpreter.nix b/pkgs/development/interpreters/perl/interpreter.nix index ee59b10344c5..4f3036dfb5c5 100644 --- a/pkgs/development/interpreters/perl/interpreter.nix +++ b/pkgs/development/interpreters/perl/interpreter.nix @@ -319,22 +319,19 @@ stdenv.mkDerivation ( }; } // lib.optionalAttrs crossCompiling rec { - crossVersion = "1.6.2"; + crossVersion = "1.6.4"; perl-cross-src = fetchFromGitHub { name = "perl-cross-${crossVersion}"; owner = "arsv"; repo = "perl-cross"; rev = crossVersion; - hash = "sha256-mG9ny+eXGBL4K/rXqEUPSbar+4Mq4IaQrGRFIHIyAAw="; + hash = "sha256-Qcysy7f887XHlq23iE5U92PhxDhpgaluITZBSdcc9Ck="; }; patches = commonPatches ++ [ # fixes build failure due to missing d_fdopendir/HAS_FDOPENDIR configure option # https://github.com/arsv/perl-cross/pull/159 ./cross-fdopendir.patch - # Add patchset for 5.42.0 - Can hopefully be removed once perl-cross is updated - # https://github.com/arsv/perl-cross/pull/164 - ./perl-5.42.0-cross.patch ]; depsBuildBuild = [ diff --git a/pkgs/development/interpreters/perl/perl-5.42.0-cross.patch b/pkgs/development/interpreters/perl/perl-5.42.0-cross.patch deleted file mode 100644 index 66b536b6973d..000000000000 --- a/pkgs/development/interpreters/perl/perl-5.42.0-cross.patch +++ /dev/null @@ -1,186 +0,0 @@ -From b47ef629459076a5ccb3d0caf83ccfbb8ba0571b Mon Sep 17 00:00:00 2001 -From: Marcus Ramberg -Date: Wed, 3 Sep 2025 10:35:58 +0200 -Subject: [PATCH] patches for perl-5.42.0 - ---- - cnf/diffs/perl5-5.42.0/constant.patch | 1 + - cnf/diffs/perl5-5.42.0/dynaloader.patch | 1 + - cnf/diffs/perl5-5.42.0/findext.patch | 1 + - cnf/diffs/perl5-5.42.0/installscripts.patch | 1 + - cnf/diffs/perl5-5.42.0/liblist.patch | 80 +++++++++++++++++++++ - cnf/diffs/perl5-5.42.0/makemaker.patch | 1 + - cnf/diffs/perl5-5.42.0/posix-makefile.patch | 1 + - cnf/diffs/perl5-5.42.0/test-checkcase.patch | 1 + - cnf/diffs/perl5-5.42.0/test-makemaker.patch | 1 + - cnf/diffs/perl5-5.42.0/xconfig.patch | 1 + - 10 files changed, 89 insertions(+) - create mode 120000 cnf/diffs/perl5-5.42.0/constant.patch - create mode 120000 cnf/diffs/perl5-5.42.0/dynaloader.patch - create mode 120000 cnf/diffs/perl5-5.42.0/findext.patch - create mode 120000 cnf/diffs/perl5-5.42.0/installscripts.patch - create mode 100644 cnf/diffs/perl5-5.42.0/liblist.patch - create mode 120000 cnf/diffs/perl5-5.42.0/makemaker.patch - create mode 120000 cnf/diffs/perl5-5.42.0/posix-makefile.patch - create mode 120000 cnf/diffs/perl5-5.42.0/test-checkcase.patch - create mode 120000 cnf/diffs/perl5-5.42.0/test-makemaker.patch - create mode 120000 cnf/diffs/perl5-5.42.0/xconfig.patch - -diff --git a/cnf/diffs/perl5-5.42.0/constant.patch b/cnf/diffs/perl5-5.42.0/constant.patch -new file mode 120000 -index 0000000..065e198 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/constant.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/constant.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/dynaloader.patch b/cnf/diffs/perl5-5.42.0/dynaloader.patch -new file mode 120000 -index 0000000..ffb73eb ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/dynaloader.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/dynaloader.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/findext.patch b/cnf/diffs/perl5-5.42.0/findext.patch -new file mode 120000 -index 0000000..9efbe5b ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/findext.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/findext.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/installscripts.patch b/cnf/diffs/perl5-5.42.0/installscripts.patch -new file mode 120000 -index 0000000..1c05e0f ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/installscripts.patch -@@ -0,0 +1 @@ -+../perl5-5.36.0/installscripts.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/liblist.patch b/cnf/diffs/perl5-5.42.0/liblist.patch -new file mode 100644 -index 0000000..5e6331f ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/liblist.patch -@@ -0,0 +1,80 @@ -+When deciding which libraries are available, the original Configure uses -+shaky heuristics to physically locate library files. -+This is a very very bad thing to do, *especially* when cross-compiling, -+as said heiristics are likely to locate the host libraries, not the target ones. -+ -+The only real need for this test is to make sure it's safe to pass -llibrary -+to the compiler. So that's exactly what perl-cross does, pass -llibrary -+and see if it breaks things. -+ -+Note this is a part of MakeMaker, and only applies to module Makefiles. -+ -+ -+--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm -++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm -+@@ -20,9 +20,10 @@ -+ use File::Spec; -+ -+ sub ext { -+- if ( $^O eq 'VMS' ) { goto &_vms_ext; } -+- elsif ( $^O eq 'MSWin32' ) { goto &_win32_ext; } -+- else { goto &_unix_os2_ext; } -++ if ($Config{usemmldlt}){ goto &_ld_ext; } -++ elsif($^O eq 'VMS') { goto &_vms_ext; } -++ elsif($^O eq 'MSWin32') { goto &_win32_ext; } -++ else { goto &_unix_os2_ext; } -+ } -+ -+ sub _unix_os2_ext { -+@@ -661,4 +662,51 @@ -+ wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib; -+ } -+ -++# A direct test for -l validity. -++# Because guessing real file names for -llib options when dealing -++# with a cross compiler is generally a BAD IDEA^tm. -++sub _ld_ext { -++ my($self,$potential_libs, $verbose, $give_libs) = @_; -++ $verbose ||= 0; -++ -++ if ($^O =~ 'os2' and $Config{perllibs}) { -++ # Dynamic libraries are not transitive, so we may need including -++ # the libraries linked against perl.dll again. -++ -++ $potential_libs .= " " if $potential_libs; -++ $potential_libs .= $Config{perllibs}; -++ } -++ return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs; -++ warn "Potential libraries are '$potential_libs':\n" if $verbose; -++ -++ my($ld) = $Config{ld}; -++ my($ldflags) = $Config{ldflags}; -++ my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs}; -++ -++ my $try = 'try_mm.c'; -++ my $tryx = 'try_mm.x'; -++ open(TRY, '>', $try) || die "Can't create MakeMaker test file $try: $!\n"; -++ print TRY "int main(void) { return 0; }\n"; -++ close(TRY); -++ -++ my $testlibs = ''; -++ my @testlibs = (); -++ foreach my $thislib (split ' ', $potential_libs) { -++ $testlibs = join(' ', @testlibs); -++ if($thislib =~ /^-L/) { -++ push(@testlibs, $thislib); -++ next -++ }; -++ my $cmd = "$ld $ldflags -o $tryx $try $testlibs $thislib >/dev/null 2>&1"; -++ my $ret = system($cmd); -++ warn "Warning (mostly harmless): " . "No library found for $thislib\n" if $ret; -++ next if $ret; -++ push @testlibs, $thislib; -++ } -++ unlink($try); -++ unlink($tryx); -++ -++ return (join(' ', @testlibs), '', join(' ', @testlibs), ''); -++} -++ -+ 1; -diff --git a/cnf/diffs/perl5-5.42.0/makemaker.patch b/cnf/diffs/perl5-5.42.0/makemaker.patch -new file mode 120000 -index 0000000..d7bd609 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/makemaker.patch -@@ -0,0 +1 @@ -+../perl5-5.38.0/makemaker.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/posix-makefile.patch b/cnf/diffs/perl5-5.42.0/posix-makefile.patch -new file mode 120000 -index 0000000..29463b7 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/posix-makefile.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/posix-makefile.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/test-checkcase.patch b/cnf/diffs/perl5-5.42.0/test-checkcase.patch -new file mode 120000 -index 0000000..36c5186 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/test-checkcase.patch -@@ -0,0 +1 @@ -+../perl5-5.22.3/test-checkcase.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/test-makemaker.patch b/cnf/diffs/perl5-5.42.0/test-makemaker.patch -new file mode 120000 -index 0000000..4e970ff ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/test-makemaker.patch -@@ -0,0 +1 @@ -+../perl5-5.34.0/test-makemaker.patch -\ No newline at end of file -diff --git a/cnf/diffs/perl5-5.42.0/xconfig.patch b/cnf/diffs/perl5-5.42.0/xconfig.patch -new file mode 120000 -index 0000000..1c22c96 ---- /dev/null -+++ b/cnf/diffs/perl5-5.42.0/xconfig.patch -@@ -0,0 +1 @@ -+../perl5-5.41.3/xconfig.patch -\ No newline at end of file From e39867f679bc30361a4f1a54bac28187c387542d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 5 Jan 2026 22:36:59 +0000 Subject: [PATCH 97/97] vimPlugins.cmp-async-path: 0-unstable-2025-11-04 -> 0-unstable-2026-01-05 --- .../vim/plugins/non-generated/cmp-async-path/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix b/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix index ff7883e7b4b4..663717cce39a 100644 --- a/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix +++ b/pkgs/applications/editors/vim/plugins/non-generated/cmp-async-path/default.nix @@ -7,14 +7,14 @@ }: vimUtils.buildVimPlugin { pname = "cmp-async-path"; - version = "0-unstable-2025-11-04"; + version = "0-unstable-2026-01-05"; src = fetchFromGitea { domain = "codeberg.org"; owner = "FelipeLema"; repo = "cmp-async-path"; - rev = "b8aade3a0626f2bc1d3cd79affcd7da9f47f7ab1"; - hash = "sha256-gaK2aemMX4fzH85idIPuVZ1+ay5vCNqgxU15J4Jz5wU="; + rev = "a14d3a9c7f303551a0b8c64a0e4e6527ce39a8a2"; + hash = "sha256-QOa2Oke3p5wGhTJ4TjcgTUphb0OdDUwmw8MiYp2LkhA="; }; checkInputs = [ vimPlugins.nvim-cmp ];