doctrine/lib: refactor 'close' helper

This commit is contained in:
Alejandro Soto 2025-08-06 13:58:07 -06:00
parent a8ef8e43b9
commit 2fe1f36eb9
No known key found for this signature in database
GPG key ID: A2C4C79764EE8F16
3 changed files with 20 additions and 13 deletions

View file

@ -3,8 +3,18 @@
doctrine,
pkgs,
}: let
close = f: args: f (args // {inherit lib pkgs doctrine;});
close = vars: f: args:
(
if builtins.isPath f
then import f
else f
)
(args // vars);
closeLib = close {inherit lib;};
closeFull = close {inherit lib pkgs doctrine;};
in {
importAll = pkgs.callPackage ./importAll.nix {};
mkModule = close (import ./mk-module.nix);
inherit close;
importAll = closeLib ./importAll.nix;
mkModule = closeFull ./mk-module.nix;
}

View file

@ -1,4 +1,5 @@
{lib}: {
{
lib,
root,
exclude ? ["default"],
}:

View file

@ -26,13 +26,9 @@ in {
lib.optionalAttrs (configFiles ? ${doctrine.namespace})
(lib.mkIf cfg.enable configSet);
options = lib.optionalAttrs (options
!= null
&& optionsSet ? ${doctrine.namespace}) {
${doctrine.prefix}.${name} =
optionsSet.${doctrine.namespace}
options.${doctrine.prefix}.${name} =
lib.optionalAttrs (options != null && optionsSet ? ${doctrine.namespace}) optionsSet.${doctrine.namespace}
// {
enable = lib.mkEnableOption name;
};
};
}