From 1e8acd7bb9925e024c3f9b8da74e5038703ba22d Mon Sep 17 00:00:00 2001
From: Tom Prince <tom.prince@private.storage>
Date: Mon, 20 Sep 2021 14:52:50 -0600
Subject: [PATCH] Expose `ourpkgs` as `config.passthru.ourpkgs` for use by
 tests.

We currently expose `ourpkgs` to nixos modules via an `ourpkgs` argument using
`_module.args`. However, `_module.args` is not available in the final
configuraiton. Thus, to allow tests to access the value, we also expose
is via passthru.
---
 nixos/modules/packages.nix | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/nixos/modules/packages.nix b/nixos/modules/packages.nix
index d6518dcf..c4390dc0 100644
--- a/nixos/modules/packages.nix
+++ b/nixos/modules/packages.nix
@@ -1,8 +1,13 @@
 # A NixOS module which exposes custom packages to other modules.
 { pkgs, ...}:
-{
+let
+  ourpkgs = pkgs.callPackage ../../nixos/pkgs {};
+in {
   config = {
     # Expose `nixos/pkgs` as a new module argument `ourpkgs`.
-    _module.args.ourpkgs = pkgs.callPackage ../../nixos/pkgs {};
+    _module.args.ourpkgs = ourpkgs;
+    # Also expose it as a config setting, for usage by tests,
+    # since the `_module` config is not exposed in the result.
+    passthru.ourpkgs = ourpkgs;
   };
 }
-- 
GitLab