summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorpennae <github@quasiparticle.net>2022-12-30 21:04:52 +0100
committerpennae <82953136+pennae@users.noreply.github.com>2023-01-05 02:33:13 +0100
commit9da5f12ecffa60f7a4712516177ede318b608f0d (patch)
treed3fb619e32d3088515481304a9f8c08697b23534 /lib
parent4c1cfbdb844babe1054c7f365eac337396092d60 (diff)
modules: add mkPackageOptionMD
another transitional option factory, like mkAliasOptionModuleMD.
Diffstat (limited to 'lib')
-rw-r--r--lib/default.nix2
-rw-r--r--lib/options.nix7
2 files changed, 7 insertions, 2 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 40ed723017c6..5d003d472f43 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -139,7 +139,7 @@ let
optionAttrSetToDocList optionAttrSetToDocList'
scrubOptionValue literalExpression literalExample literalDocBook
showOption showOptionWithDefLocs showFiles
- unknownModule mkOption mkPackageOption
+ unknownModule mkOption mkPackageOption mkPackageOptionMD
mdDoc literalMD;
inherit (self.types) isType setType defaultTypeMerge defaultFunctor
isOptionType mkOptionType;
diff --git a/lib/options.nix b/lib/options.nix
index 9425e803c056..ce66bfb9d5d9 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -136,7 +136,7 @@ rec {
let default' = if !isList default then [ default ] else default;
in mkOption {
type = lib.types.package;
- description = lib.mdDoc "The ${name} package to use.";
+ description = "The ${name} package to use.";
default = attrByPath default'
(throw "${concatStringsSep "." default'} cannot be found in pkgs") pkgs;
defaultText = literalExpression ("pkgs." + concatStringsSep "." default');
@@ -144,6 +144,11 @@ rec {
(if isList example then "pkgs." + concatStringsSep "." example else example);
};
+ /* Like mkPackageOption, but emit an mdDoc description instead of DocBook. */
+ mkPackageOptionMD = args: name: extra:
+ let option = mkPackageOption args name extra;
+ in option // { description = lib.mdDoc option.description; };
+
/* This option accepts anything, but it does not produce any result.
This is useful for sharing a module across different module sets