From 0d5f9e66414c57c8ac5d77d34c348d3492b71add Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 31 Oct 2025 11:12:27 +0100 Subject: [PATCH] ci/eval: add extraNixpkgsConfig argument --- ci/eval/attrpaths.nix | 2 ++ ci/eval/chunk.nix | 2 ++ ci/eval/default.nix | 4 ++++ ci/eval/outpaths.nix | 6 +++++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ci/eval/attrpaths.nix b/ci/eval/attrpaths.nix index 6938e5dfe3cb..ff1bdabbb350 100644 --- a/ci/eval/attrpaths.nix +++ b/ci/eval/attrpaths.nix @@ -18,6 +18,7 @@ lib ? import (path + "/lib"), trace ? false, path ? ./../.., + extraNixpkgsConfigJson ? "{}", }: let @@ -46,6 +47,7 @@ let outpaths = import ./outpaths.nix { inherit path; + extraNixpkgsConfig = builtins.fromJSON extraNixpkgsConfigJson; attrNamesOnly = true; }; diff --git a/ci/eval/chunk.nix b/ci/eval/chunk.nix index 43c684074602..e1759c2c6615 100644 --- a/ci/eval/chunk.nix +++ b/ci/eval/chunk.nix @@ -8,6 +8,7 @@ myChunk, includeBroken, systems, + extraNixpkgsConfigJson, }: let @@ -17,6 +18,7 @@ let unfiltered = import ./outpaths.nix { inherit path; inherit includeBroken systems; + extraNixpkgsConfig = builtins.fromJSON extraNixpkgsConfigJson; }; # Turns the unfiltered recursive attribute set into one that is limited to myAttrpaths diff --git a/ci/eval/default.nix b/ci/eval/default.nix index 23a2d4cb4f72..a4eb839570a1 100644 --- a/ci/eval/default.nix +++ b/ci/eval/default.nix @@ -26,6 +26,8 @@ quickTest ? false, # Don't try to eval packages marked as broken. includeBroken ? false, + # Customize the config used to evaluate nixpkgs + extraNixpkgsConfig ? { }, }: let @@ -75,6 +77,7 @@ let "$src/ci/eval/attrpaths.nix" \ -A paths \ -I "$src" \ + --argstr extraNixpkgsConfigJson ${lib.escapeShellArg (builtins.toJSON extraNixpkgsConfig)} \ --option restrict-eval true \ --option allow-import-from-derivation false \ --option eval-system "${evalSystem}" > $out/paths.json @@ -120,6 +123,7 @@ let --arg attrpathFile "${attrpathFile}" \ --arg systems "[ \"$system\" ]" \ --arg includeBroken ${lib.boolToString includeBroken} \ + --argstr extraNixpkgsConfigJson ${lib.escapeShellArg (builtins.toJSON extraNixpkgsConfig)} \ -I ${nixpkgs} \ -I ${attrpathFile} \ > "$outputDir/result/$myChunk" \ diff --git a/ci/eval/outpaths.nix b/ci/eval/outpaths.nix index 6d003dafc3c9..9abe08e1b165 100644 --- a/ci/eval/outpaths.nix +++ b/ci/eval/outpaths.nix @@ -11,6 +11,9 @@ # Set this to `null` to build for builtins.currentSystem only systems ? builtins.fromJSON (builtins.readFile ../supportedSystems.json), + + # Customize the config used to evaluate nixpkgs + extraNixpkgsConfig ? { }, }: let lib = import (path + "/lib"); @@ -55,7 +58,8 @@ let true; inHydra = true; - }; + } + // extraNixpkgsConfig; __allowFileset = false; };