diff options
author | Domen Kožar <domen@dev.si> | 2019-08-10 20:07:05 +0200 |
---|---|---|
committer | Domen Kožar <domen@dev.si> | 2019-08-10 20:11:04 +0200 |
commit | 6cf861c617d6a0a98129bf6c4d54874ff714636b (patch) | |
tree | 07327363489ef91bfd0a77c2a34dfc97c5509399 /nixos/lib/make-options-doc | |
parent | 3a93fcfd1ef1ac2bcba27cf630fe8e77a89eb17e (diff) |
make-options-doc: add asciidoc variant
Diffstat (limited to 'nixos/lib/make-options-doc')
-rw-r--r-- | nixos/lib/make-options-doc/default.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix index c8f40f7492e2b..df21d15e6eb6f 100644 --- a/nixos/lib/make-options-doc/default.nix +++ b/nixos/lib/make-options-doc/default.nix @@ -90,9 +90,47 @@ let optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList); + # TODO: declarations: link to github + singleAsciiDoc = name: value: '' + == ${name} + + ${value.description} + + [discrete] + === details + + Type:: ${value.type} + ${ if pkgs.lib.hasAttr "default" value + then '' + Default:: + + + ---- + ${builtins.toJSON value.default} + ---- + '' + else "No Default:: {blank}" + } + ${ if value.readOnly + then "Read Only:: {blank}" + else "" + } + ${ if pkgs.lib.hasAttr "example" value + then '' + Example:: + + + ---- + ${builtins.toJSON value.example} + ---- + '' + else "No Example:: {blank}" + } + ''; + in rec { inherit optionsNix; + optionsAsciiDoc = pkgs.lib.concatStringsSep "\n" (pkgs.lib.mapAttrsToList singleAsciiDoc optionsNix); + optionsJSON = pkgs.runCommand "options.json" { meta.description = "List of NixOS options in JSON format"; } |