From effd58ab3e1f0c55f4595d5912c5214aeb2f65cf Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 16 Feb 2026 09:07:16 -0800 Subject: [PATCH] tests.buildenv: test finalAttrs self-reference This is the core new capability of the PR: `buildEnv` now accepts a function `(finalAttrs: { ... })` enabling self-referencing attributes. Verify that finalAttrs.name is accessible from within the argument function. --- pkgs/test/buildenv.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/test/buildenv.nix b/pkgs/test/buildenv.nix index 9629e3a2ab37..cbbe605748d9 100644 --- a/pkgs/test/buildenv.nix +++ b/pkgs/test/buildenv.nix @@ -67,7 +67,22 @@ let }; }; - tests = tests-name // tests-passthru-paths; + tests-finalAttrs = { + testFinalAttrsSelfReference = { + expr = + let + env = buildEnv (finalAttrs: { + name = "test-env"; + paths = [ ]; + passthru.description = "An env named ${finalAttrs.name}"; + }); + in + env.description; + expected = "An env named test-env"; + }; + }; + + tests = tests-name // tests-passthru-paths // tests-finalAttrs; in stdenvNoCC.mkDerivation (finalAttrs: {