diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix index e039bc4a9b73..6649fc41d41a 100644 --- a/nixos/lib/make-options-doc/default.nix +++ b/nixos/lib/make-options-doc/default.nix @@ -99,14 +99,6 @@ let optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList); - pythonMD = - let - self = (pkgs.python3Minimal.override { - inherit self; - includeSiteCustomize = true; - }); - in self.withPackages (p: [ p.mistune_2_0 ]); - in rec { inherit optionsNix; @@ -124,20 +116,17 @@ in rec { optionsJSON = pkgs.runCommand "options.json" { meta.description = "List of NixOS options in JSON format"; - buildInputs = [ pkgs.brotli pythonMD ]; + buildInputs = [ + pkgs.brotli + (let + self = (pkgs.python3Minimal.override { + inherit self; + includeSiteCustomize = true; + }); + in self.withPackages (p: [ p.mistune_2_0 ])) + ]; options = builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix)); - # convert markdown to docbook in its own derivation to cache the - # conversion results. the conversion is surprisingly expensive. - baseJSON = - if baseOptionsJSON != null - then - pkgs.runCommand "base-json-md-converted" { - buildInputs = [ pythonMD ]; - } '' - python ${./mergeJSON.py} ${baseOptionsJSON} <(echo '{}') > $out - '' - else null; } '' # Export list of options in different format. @@ -154,7 +143,7 @@ in rec { else '' python ${./mergeJSON.py} \ ${lib.optionalString warningsAreErrors "--warnings-are-errors"} \ - $baseJSON $options \ + ${baseOptionsJSON} $options \ > $dst/options.json '' }