diff options
Diffstat (limited to 'doctrine/lib')
| -rw-r--r-- | doctrine/lib/default.nix | 23 | ||||
| -rw-r--r-- | doctrine/lib/import-all.nix | 21 | ||||
| -rw-r--r-- | doctrine/lib/mk-module.nix | 68 |
3 files changed, 0 insertions, 112 deletions
diff --git a/doctrine/lib/default.nix b/doctrine/lib/default.nix deleted file mode 100644 index e2d84b8..0000000 --- a/doctrine/lib/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - lib, - doctrine, - pkgs, -}: let - 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 - { - inherit close; - importAll = closeLib ./import-all.nix; - } - // lib.optionalAttrs (doctrine.namespace != null) { - mkModule = closeFull ./mk-module.nix; - } diff --git a/doctrine/lib/import-all.nix b/doctrine/lib/import-all.nix deleted file mode 100644 index 423dd9c..0000000 --- a/doctrine/lib/import-all.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - lib, - root, - exclude ? ["default"], -}: -with builtins; -with lib; -# http://chriswarbo.net/projects/nixos/useful_hacks.html - let - basename = removeSuffix ".nix"; - - isMatch = name: type: - (hasSuffix ".nix" name || type == "directory") - && ! elem (basename name) exclude; - - entry = name: _: { - name = basename name; - value = import (root + "/${name}"); - }; - in - mapAttrs' entry (filterAttrs isMatch (readDir root)) 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; - }; - }) - ]; -} |
