summaryrefslogtreecommitdiff
path: root/doctrine
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doctrine/default.nix18
-rw-r--r--doctrine/lib/default.nix13
-rw-r--r--doctrine/lib/mk-module.nix15
3 files changed, 28 insertions, 18 deletions
diff --git a/doctrine/default.nix b/doctrine/default.nix
index b4c72b8..0d50d49 100644
--- a/doctrine/default.nix
+++ b/doctrine/default.nix
@@ -1,12 +1,16 @@
{
+ lib ? pkgs.lib,
pkgs,
- namespace,
+ prefix ? "trivium",
+ namespace ? null,
}: let
- doctrine = {
- lib = import ./lib {inherit lib pkgs doctrine;};
- prefix = "trivium";
- inherit namespace;
- };
- inherit (pkgs) lib;
+ doctrine =
+ {
+ lib = import ./lib {inherit lib pkgs doctrine;};
+ inherit namespace prefix;
+ }
+ // lib.optionalAttrs (pkgs != null) {
+ inherit pkgs;
+ };
in
doctrine
diff --git a/doctrine/lib/default.nix b/doctrine/lib/default.nix
index f189e21..e2d84b8 100644
--- a/doctrine/lib/default.nix
+++ b/doctrine/lib/default.nix
@@ -13,8 +13,11 @@
closeLib = close {inherit lib;};
closeFull = close {inherit lib pkgs doctrine;};
-in {
- inherit close;
- importAll = closeLib ./import-all.nix;
- mkModule = closeFull ./mk-module.nix;
-}
+in
+ {
+ inherit close;
+ importAll = closeLib ./import-all.nix;
+ }
+ // lib.optionalAttrs (doctrine.namespace != null) {
+ mkModule = closeFull ./mk-module.nix;
+ }
diff --git a/doctrine/lib/mk-module.nix b/doctrine/lib/mk-module.nix
index f76ccfe..ffbe6bc 100644
--- a/doctrine/lib/mk-module.nix
+++ b/doctrine/lib/mk-module.nix
@@ -11,14 +11,17 @@
requires ? [],
prefix ? doctrine.prefix,
namespace ? doctrine.namespace,
+ passthru ? {},
}: let
- optionsSet = import options {
- inherit config lib pkgs cfg name doctrine;
- };
+ optionsSet = import options (passthru
+ // {
+ inherit config lib pkgs cfg name doctrine;
+ });
- configSet = import configFiles.${namespace} {
- inherit config lib pkgs doctrine cfg;
- };
+ configSet = import configFiles.${namespace} (passthru
+ // {
+ inherit config lib pkgs doctrine cfg;
+ });
configFiles = lib.filterAttrs (k: v: v != null) {
inherit sys hm;