doctrine/lib: add optional prefix/namespace args to mkModule

This commit is contained in:
Alejandro Soto 2025-08-06 14:25:27 -06:00
parent 3121013376
commit 4a7e6f545c
No known key found for this signature in database
GPG key ID: A2C4C79764EE8F16

View file

@ -9,12 +9,14 @@
sys ? null,
options ? null,
requires ? [],
prefix ? doctrine.prefix,
namespace ? doctrine.namespace,
}: let
optionsSet = import options {
inherit config lib pkgs cfg name doctrine;
};
configSet = import configFiles.${doctrine.namespace} {
configSet = import configFiles.${namespace} {
inherit config lib pkgs doctrine cfg;
};
@ -22,24 +24,24 @@
inherit sys hm;
};
cfg = config.${doctrine.prefix}.${name};
cfg = config.${prefix}.${name};
in {
config =
lib.optionalAttrs (configFiles ? ${doctrine.namespace})
lib.optionalAttrs (configFiles ? ${namespace})
(lib.mkIf cfg.enable (lib.mkMerge [
configSet
{
assertions =
map (dependency: {
assertion = cfg.enable -> config.${doctrine.prefix}.${dependency}.enable;
message = "${doctrine.prefix}.${name}.enable requires ${doctrine.prefix}.${dependency}.enable";
assertion = cfg.enable -> config.${prefix}.${dependency}.enable;
message = "${prefix}.${name}.enable requires ${prefix}.${dependency}.enable";
})
requires;
}
]));
options.${doctrine.prefix}.${name} =
lib.optionalAttrs (options != null && optionsSet ? ${doctrine.namespace}) optionsSet.${doctrine.namespace}
options.${prefix}.${name} =
lib.optionalAttrs (options != null && optionsSet ? ${namespace}) optionsSet.${namespace}
// {
enable = lib.mkEnableOption name;
};