From d8987135c264cec552ebca51348a16c63a833fbb Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Mon, 30 Oct 2017 11:17:06 +0000 Subject: [PATCH] types.submodule: Replace a friendly comment by a more gentle one. --- lib/types.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/types.nix b/lib/types.nix index c48e3b3000ce..dd0f31e9d146 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -288,8 +288,17 @@ rec { }).config; getSubOptions = prefix: (evalModules { modules = opts'; inherit prefix; - # FIXME: hack to get shit to evaluate. - args = { name = ""; }; }).options; + # This is a work-around due to the fact that some sub-modules, + # such as the one included in an attribute set, expects a "args" + # attribute to be given to the sub-module. As the option + # evaluation does not have any specific attribute name, we + # provide a default one for the documentation. + # + # This is mandatory as some option declaration might use the + # "name" attribute given as argument of the submodule and use it + # as the default of option declarations. + args.name = ""; + }).options; getSubModules = opts'; substSubModules = m: submodule m; functor = (defaultFunctor name) // {