From b9f6dfe8c5c8da09b6c2d8a8e168bdcf50a0aabd Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Wed, 13 Jan 2016 11:49:19 +0100 Subject: nixos manuals: allow displaying package references The manuals are now evaluated with each derivation in `pkgs` (recursively) replaced by a fake with path "\${pkgs.path.to.the.attribute}". It isn't perfect, but it seems to cover a vast majority of use cases. Caveat: even if the package is reached by a different means, the path above will be shown and not e.g. `${config.services.foo.package}`. As before, defaults created by `mkDefault` aren't displayed, but documentation shouldn't (mostly) be a reason to use that anymore. Note: t wouldn't be enough to just use `lib.mapAttrsRecursive`, because derivations are also (special) attribute sets. --- lib/attrsets.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/attrsets.nix') diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 84f6cb3658b9..e3721bd1e94c 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -207,7 +207,7 @@ rec { /* Like `mapAttrsRecursive', but it takes an additional predicate - function that tells it whether to recursive into an attribute + function that tells it whether to recurse into an attribute set. If it returns false, `mapAttrsRecursiveCond' does not recurse, but does apply the map function. It is returns true, it does recurse, and does not apply the map function. -- cgit 1.4.1