diff options
Diffstat (limited to 'doctrine/lib/mk-module.nix')
| -rw-r--r-- | doctrine/lib/mk-module.nix | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/doctrine/lib/mk-module.nix b/doctrine/lib/mk-module.nix deleted file mode 100644 index 7a1de39..0000000 --- a/doctrine/lib/mk-module.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - # The first few arguments are implicitly passed by the 'close' helper - lib, - pkgs, - doctrine, - name, - config, - hm ? null, - sys ? null, - options ? null, - requires ? [], - prefix ? doctrine.prefix, - namespace ? doctrine.namespace, - passthru ? {}, -}: let - patchArgs = args: args // passthru // {inherit cfg name doctrine;}; - - optionsSet = args: import options (patchArgs args); - configSet = args: import configFiles.${namespace} (patchArgs args); - - configFiles = lib.filterAttrs (k: v: v != null) { - inherit sys hm; - }; - - cfg = config.${prefix}.${name}; - hasConfig = configFiles ? ${namespace}; -in { - imports = [ - (args @ { - config, - modulesPath ? null, - lib, - pkgs, - ... - }: - lib.optionalAttrs hasConfig { - config = lib.mkIf cfg.enable (lib.mkMerge [ - (configSet args) - { - assertions = - map (dependency: { - assertion = cfg.enable -> config.${prefix}.${dependency}.enable; - message = "${prefix}.${name}.enable requires ${prefix}.${dependency}.enable"; - }) - requires; - } - ]); - }) - - (args @ { - config, - modulesPath ? null, - lib, - pkgs, - ... - }: let - hasOptions = options != null && optionsForArgs ? ${namespace}; - optionsForArgs = optionsSet args; - in - lib.optionalAttrs (hasOptions || hasConfig) { - options.${prefix}.${name} = - lib.optionalAttrs hasOptions optionsForArgs.${namespace} - // { - enable = lib.mkEnableOption name; - }; - }) - ]; -} |
