summary refs log tree commit diff
path: root/nixos/lib
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2020-08-03 20:17:46 +0200
committerGitHub <noreply@github.com>2020-08-03 20:17:46 +0200
commit2ae62ef72f854a435f38e902d0261938e64cee02 (patch)
tree8ceebd245db620ad7b6aee558ed8f5d2afd0cafa /nixos/lib
parent869bf4f76c048bb74bcda305bd33b3e532a121cb (diff)
parent6d19c044162d74a95f6bb0379ed4edc8840ec0f6 (diff)
downloadnixpkgs-2ae62ef72f854a435f38e902d0261938e64cee02.tar
nixpkgs-2ae62ef72f854a435f38e902d0261938e64cee02.tar.gz
nixpkgs-2ae62ef72f854a435f38e902d0261938e64cee02.tar.bz2
nixpkgs-2ae62ef72f854a435f38e902d0261938e64cee02.tar.lz
nixpkgs-2ae62ef72f854a435f38e902d0261938e64cee02.tar.xz
nixpkgs-2ae62ef72f854a435f38e902d0261938e64cee02.tar.zst
nixpkgs-2ae62ef72f854a435f38e902d0261938e64cee02.zip
Merge pull request #94611 from Ma27/rel-pkgs-error-msg
nixos/manual: improve error message for invalid values in `relatedPackages'
Diffstat (limited to 'nixos/lib')
-rw-r--r--nixos/lib/make-options-doc/default.nix6
1 files changed, 3 insertions, 3 deletions
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index 772b7d3add9..a1161621f0d 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -36,7 +36,7 @@ let
     // lib.optionalAttrs (opt ? example) { example = substFunction opt.example; }
     // lib.optionalAttrs (opt ? default) { default = substFunction opt.default; }
     // lib.optionalAttrs (opt ? type) { type = substFunction opt.type; }
-    // lib.optionalAttrs (opt ? relatedPackages && opt.relatedPackages != []) { relatedPackages = genRelatedPackages opt.relatedPackages; }
+    // lib.optionalAttrs (opt ? relatedPackages && opt.relatedPackages != []) { relatedPackages = genRelatedPackages opt.relatedPackages opt.name; }
    );
 
   # Generate DocBook documentation for a list of packages. This is
@@ -48,7 +48,7 @@ let
   # - a list:    that will be interpreted as an attribute path from `pkgs`,
   # - an attrset: that can specify `name`, `path`, `package`, `comment`
   #   (either of `name`, `path` is required, the rest are optional).
-  genRelatedPackages = packages:
+  genRelatedPackages = packages: optName:
     let
       unpack = p: if lib.isString p then { name = p; }
                   else if lib.isList p then { path = p; }
@@ -58,7 +58,7 @@ let
           title = args.title or null;
           name = args.name or (lib.concatStringsSep "." args.path);
           path = args.path or [ args.name ];
-          package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}'") pkgs);
+          package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}' found while evaluating `relatedPackages' of option `${optName}'") pkgs);
         in "<listitem>"
         + "<para><literal>${lib.optionalString (title != null) "${title} aka "}pkgs.${name} (${package.meta.name})</literal>"
         + lib.optionalString (!package.meta.available) " <emphasis>[UNAVAILABLE]</emphasis>"