From 493d7e04dfa51fff5189cef858135120d61df759 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Sat, 4 Apr 2020 18:23:25 +0700 Subject: [PATCH] fix(modules): use _m instead of _module as _module is removed in eval --- modules/base.nix | 4 ++-- modules/docker.nix | 10 +++++----- modules/k8s.nix | 10 +++++----- modules/submodule.nix | 2 +- modules/submodules.nix | 10 +++++----- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/modules/base.nix b/modules/base.nix index 8e8517c..7f61551 100644 --- a/modules/base.nix +++ b/modules/base.nix @@ -10,13 +10,13 @@ with lib; default = "kubenix"; }; - _module.features = mkOption { + _m.features = mkOption { description = "List of features exposed by module"; type = types.listOf types.str; default = []; }; - _module.propagate = mkOption { + _m.propagate = mkOption { description = "Module propagation options"; type = types.listOf (types.submodule ({config, ...}: { options = { diff --git a/modules/docker.nix b/modules/docker.nix index 8c28672..7896508 100644 --- a/modules/docker.nix +++ b/modules/docker.nix @@ -73,13 +73,10 @@ in { config = { # define docker feature - _module.features = ["docker"]; - - # pass docker library as param - _module.args.docker = import ../lib/docker.nix { inherit lib pkgs; }; + _m.features = ["docker"]; # propagate docker options if docker feature is enabled - _module.propagate = [{ + _m.propagate = [{ features = [ "docker" ]; module = { config, name, ... }: { # propagate registry options @@ -87,6 +84,9 @@ in { }; }]; + # pass docker library as param + _module.args.docker = import ../lib/docker.nix { inherit lib pkgs; }; + # list of exported docker images docker.export = mapAttrsToList (_: i: i.image) (filterAttrs (_: i: i.registry != null) config.docker.images); diff --git a/modules/k8s.nix b/modules/k8s.nix index 4cea262..e62f56f 100644 --- a/modules/k8s.nix +++ b/modules/k8s.nix @@ -317,14 +317,11 @@ in { }; config = { - # expose k8s helper methods as module argument - _module.args.k8s = import ../lib/k8s.nix { inherit lib; }; - # features that module is defining - _module.features = [ "k8s" ]; + _m.features = [ "k8s" ]; # module propagation options - _module.propagate = [{ + _m.propagate = [{ features = ["k8s"]; module = { config, ... }: { # propagate kubernetes version and namespace @@ -352,6 +349,9 @@ in { }; }]; + # expose k8s helper methods as module argument + _module.args.k8s = import ../lib/k8s.nix { inherit lib; }; + kubernetes.api = mkMerge ([{ # register custom types types = mapAttrsToList (_: cr: { diff --git a/modules/submodule.nix b/modules/submodule.nix index 27a7b2c..454cda8 100644 --- a/modules/submodule.nix +++ b/modules/submodule.nix @@ -44,6 +44,6 @@ with lib; args._empty = mkOption {}; }; - config._module.features = ["submodule"]; config._module.args.args = config.submodule.args; + config._m.features = ["submodule"]; } diff --git a/modules/submodules.nix b/modules/submodules.nix index 42d60d2..c87d214 100644 --- a/modules/submodules.nix +++ b/modules/submodules.nix @@ -60,7 +60,7 @@ let then inst.config.submodule.passthru._module.args or {} else {} ) config.submodules.instances); - }) (removeAttrs options ["_definedNames" "_module" "submodules"]); + }) (removeAttrs options ["_definedNames" "_module" "_m" "submodules"]); in { imports = [ ./base.nix ]; @@ -132,7 +132,7 @@ in { }; evaledSubmodule = - if (!(elem "submodule" evaledSubmodule'.config._module.features)) + if (!(elem "submodule" evaledSubmodule'.config._m.features)) then throw "no submodule defined" else evaledSubmodule'; in { @@ -170,7 +170,7 @@ in { inherit (evaledSubmodule.config.submodule) name description version tags exports; }; - features = evaledSubmodule.config._module.features; + features = evaledSubmodule.config._m.features; }; }) ) @@ -255,7 +255,7 @@ in { ${submodule.exportAs} = submodule.definition.exports; }) (filter (submodule: submodule.exportAs != null) cfg.imports)); - _module.features = ["submodules"]; + _m.features = ["submodules"]; submodules.specialArgs.kubenix = kubenix; @@ -270,7 +270,7 @@ in { (map (propagate: { features = propagate.features; default = propagate.module; - }) config._module.propagate) + }) config._m.propagate) ]; }