diff --git a/doctrine/lib/default.nix b/doctrine/lib/default.nix index 1b03fe1..5e2eb44 100644 --- a/doctrine/lib/default.nix +++ b/doctrine/lib/default.nix @@ -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; } diff --git a/doctrine/lib/importAll.nix b/doctrine/lib/importAll.nix index 03c5330..423dd9c 100644 --- a/doctrine/lib/importAll.nix +++ b/doctrine/lib/importAll.nix @@ -1,4 +1,5 @@ -{lib}: { +{ + lib, root, exclude ? ["default"], }: diff --git a/doctrine/lib/mk-module.nix b/doctrine/lib/mk-module.nix index 79c24c5..c8b810d 100644 --- a/doctrine/lib/mk-module.nix +++ b/doctrine/lib/mk-module.nix @@ -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} - // { - enable = lib.mkEnableOption name; - }; - }; + options.${doctrine.prefix}.${name} = + lib.optionalAttrs (options != null && optionsSet ? ${doctrine.namespace}) optionsSet.${doctrine.namespace} + // { + enable = lib.mkEnableOption name; + }; }