fix(modules): use _m instead of _module as _module is removed in eval

This commit is contained in:
Jaka Hudoklin 2020-04-04 18:23:25 +07:00
parent ce55ddead6
commit 493d7e04df
5 changed files with 18 additions and 18 deletions

View file

@ -10,13 +10,13 @@ with lib;
default = "kubenix"; default = "kubenix";
}; };
_module.features = mkOption { _m.features = mkOption {
description = "List of features exposed by module"; description = "List of features exposed by module";
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
}; };
_module.propagate = mkOption { _m.propagate = mkOption {
description = "Module propagation options"; description = "Module propagation options";
type = types.listOf (types.submodule ({config, ...}: { type = types.listOf (types.submodule ({config, ...}: {
options = { options = {

View file

@ -73,13 +73,10 @@ in {
config = { config = {
# define docker feature # define docker feature
_module.features = ["docker"]; _m.features = ["docker"];
# pass docker library as param
_module.args.docker = import ../lib/docker.nix { inherit lib pkgs; };
# propagate docker options if docker feature is enabled # propagate docker options if docker feature is enabled
_module.propagate = [{ _m.propagate = [{
features = [ "docker" ]; features = [ "docker" ];
module = { config, name, ... }: { module = { config, name, ... }: {
# propagate registry options # 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 # list of exported docker images
docker.export = mapAttrsToList (_: i: i.image) docker.export = mapAttrsToList (_: i: i.image)
(filterAttrs (_: i: i.registry != null) config.docker.images); (filterAttrs (_: i: i.registry != null) config.docker.images);

View file

@ -317,14 +317,11 @@ in {
}; };
config = { config = {
# expose k8s helper methods as module argument
_module.args.k8s = import ../lib/k8s.nix { inherit lib; };
# features that module is defining # features that module is defining
_module.features = [ "k8s" ]; _m.features = [ "k8s" ];
# module propagation options # module propagation options
_module.propagate = [{ _m.propagate = [{
features = ["k8s"]; features = ["k8s"];
module = { config, ... }: { module = { config, ... }: {
# propagate kubernetes version and namespace # 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 ([{ kubernetes.api = mkMerge ([{
# register custom types # register custom types
types = mapAttrsToList (_: cr: { types = mapAttrsToList (_: cr: {

View file

@ -44,6 +44,6 @@ with lib;
args._empty = mkOption {}; args._empty = mkOption {};
}; };
config._module.features = ["submodule"];
config._module.args.args = config.submodule.args; config._module.args.args = config.submodule.args;
config._m.features = ["submodule"];
} }

View file

@ -60,7 +60,7 @@ let
then inst.config.submodule.passthru._module.args or {} then inst.config.submodule.passthru._module.args or {}
else {} else {}
) config.submodules.instances); ) config.submodules.instances);
}) (removeAttrs options ["_definedNames" "_module" "submodules"]); }) (removeAttrs options ["_definedNames" "_module" "_m" "submodules"]);
in { in {
imports = [ ./base.nix ]; imports = [ ./base.nix ];
@ -132,7 +132,7 @@ in {
}; };
evaledSubmodule = evaledSubmodule =
if (!(elem "submodule" evaledSubmodule'.config._module.features)) if (!(elem "submodule" evaledSubmodule'.config._m.features))
then throw "no submodule defined" then throw "no submodule defined"
else evaledSubmodule'; else evaledSubmodule';
in { in {
@ -170,7 +170,7 @@ in {
inherit (evaledSubmodule.config.submodule) name description version tags exports; 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; ${submodule.exportAs} = submodule.definition.exports;
}) (filter (submodule: submodule.exportAs != null) cfg.imports)); }) (filter (submodule: submodule.exportAs != null) cfg.imports));
_module.features = ["submodules"]; _m.features = ["submodules"];
submodules.specialArgs.kubenix = kubenix; submodules.specialArgs.kubenix = kubenix;
@ -270,7 +270,7 @@ in {
(map (propagate: { (map (propagate: {
features = propagate.features; features = propagate.features;
default = propagate.module; default = propagate.module;
}) config._module.propagate) }) config._m.propagate)
]; ];
} }