Skip to content

Commit

Permalink
lib: turn *MD functions into aliases
Browse files Browse the repository at this point in the history
with docbook gone and MD the default these aren't needed any more. we
can't remove them yet because there's thousands of uses, but maybe some
day we can.
  • Loading branch information
pennae committed Jun 13, 2023
1 parent 20152b4 commit d36f950
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 24 deletions.
19 changes: 7 additions & 12 deletions lib/modules.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1146,14 +1146,11 @@ let
use = id;
};

/* Transitional version of mkAliasOptionModule that uses MD docs. */
mkAliasOptionModuleMD = from: to: doRename {
inherit from to;
visible = true;
warn = false;
use = id;
markdown = true;
};
/* Transitional version of mkAliasOptionModule that uses MD docs.
This function is no longer necessary and merely an alias of `mkAliasOptionModule`.
*/
mkAliasOptionModuleMD = mkAliasOptionModule;

/* mkDerivedConfig : Option a -> (a -> Definition b) -> Definition b
Expand All @@ -1175,7 +1172,7 @@ let
(opt.highestPrio or defaultOverridePriority)
(f opt.value);

doRename = { from, to, visible, warn, use, withPriority ? true, markdown ? false }:
doRename = { from, to, visible, warn, use, withPriority ? true }:
{ config, options, ... }:
let
fromOpt = getAttrFromPath from options;
Expand All @@ -1186,9 +1183,7 @@ let
{
options = setAttrByPath from (mkOption {
inherit visible;
description = if markdown
then lib.mdDoc "Alias of {option}`${showOption to}`."
else "Alias of <option>${showOption to}</option>.";
description = "Alias of {option}`${showOption to}`.";
apply = x: use (toOf config);
} // optionalAttrs (toType != null) {
type = toType;
Expand Down
19 changes: 7 additions & 12 deletions lib/options.nix
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,7 @@ rec {
name: mkOption {
default = false;
example = true;
description =
if name ? _type && name._type == "mdDoc"
then lib.mdDoc "Whether to enable ${name.text}."
else "Whether to enable ${name}.";
description = "Whether to enable ${name}.";
type = lib.types.bool;
};

Expand Down Expand Up @@ -185,10 +182,10 @@ rec {
(if isList example then "pkgs." + concatStringsSep "." example else example);
});

/* Like mkPackageOption, but emit an mdDoc description instead of DocBook. */
mkPackageOptionMD = pkgs: name: extra:
let option = mkPackageOption pkgs name extra;
in option // { description = lib.mdDoc option.description; };
/* Alias of mkPackageOption. Previously used to create options with markdown
documentation, which is no longer required.
*/
mkPackageOptionMD = mkPackageOption;

/* This option accepts anything, but it does not produce any result.
Expand Down Expand Up @@ -347,11 +344,9 @@ rec {
literalExample = lib.warn "literalExample is deprecated, use literalExpression instead, or use literalMD for a non-Nix description." literalExpression;

/* Transition marker for documentation that's already migrated to markdown
syntax.
syntax. This is a no-op and no longer needed.
*/
mdDoc = text:
if ! isString text then throw "mdDoc expects a string."
else { _type = "mdDoc"; inherit text; };
mdDoc = lib.id;

/* For use in the `defaultText` and `example` option attributes. Causes the
given MD text to be inserted verbatim in the documentation, for when
Expand Down

0 comments on commit d36f950

Please sign in to comment.