about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Hensing <robert@roberthensing.nl>2022-06-15 13:11:22 +0200
committerRobert Hensing <robert@roberthensing.nl>2022-06-21 14:22:33 +0200
commit89b4bd8b24faa01db9b36f71e58804ed303a9816 (patch)
treeced45b9d588eb4eae0992875e6e9b805eb8e50ff
parenta234fb2a5b48afdbe525465003929fa0e165c527 (diff)
lib/options: Add showOptionWithDefLocs
-rw-r--r--lib/default.nix3
-rw-r--r--lib/options.nix6
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 070c2a67cf073..e2a93e63ac1fe 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -131,7 +131,8 @@ let
       getValues getFiles
       optionAttrSetToDocList optionAttrSetToDocList'
       scrubOptionValue literalExpression literalExample literalDocBook
-      showOption showFiles unknownModule mkOption mkPackageOption
+      showOption showOptionWithDefLocs showFiles
+      unknownModule mkOption mkPackageOption
       mdDoc literalMD;
     inherit (self.types) isType setType defaultTypeMerge defaultFunctor
       isOptionType mkOptionType;
diff --git a/lib/options.nix b/lib/options.nix
index 50b19e4837360..afae1769afdd4 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -7,6 +7,7 @@ let
     collect
     concatLists
     concatMap
+    concatMapStringsSep
     elemAt
     filter
     foldl'
@@ -340,6 +341,11 @@ rec {
     in "\n- In `${def.file}'${result}"
   ) defs;
 
+  showOptionWithDefLocs = opt: ''
+      ${showOption opt.loc}, with values defined in:
+      ${concatMapStringsSep "\n" (defFile: "  - ${defFile}") opt.files}
+    '';
+
   unknownModule = "<unknown-file>";
 
 }