doc: Fix config options reference file links

Changed files
+15
doc
doc-support
+15
doc/doc-support/default.nix
···
{ pkgs ? (import ../.. {}), nixpkgs ? { }}:
let
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; };
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; };
version = pkgs.lib.version;
···
optionsDoc = pkgs.nixosOptionsDoc {
inherit (pkgs.lib.evalModules { modules = [ ../../pkgs/top-level/config.nix ]; }) options;
documentType = "none";
};
in pkgs.runCommand "doc-support" {}
···
{ pkgs ? (import ../.. {}), nixpkgs ? { }}:
let
+
inherit (pkgs) lib;
+
inherit (lib) hasPrefix removePrefix;
+
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; };
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; };
version = pkgs.lib.version;
···
optionsDoc = pkgs.nixosOptionsDoc {
inherit (pkgs.lib.evalModules { modules = [ ../../pkgs/top-level/config.nix ]; }) options;
documentType = "none";
+
transformOptions = opt:
+
opt // {
+
declarations =
+
map
+
(decl:
+
if hasPrefix (toString ../..) (toString decl)
+
then
+
let subpath = removePrefix "/" (removePrefix (toString ../..) (toString decl));
+
in { url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}"; name = subpath; }
+
else decl)
+
opt.declarations;
+
};
};
in pkgs.runCommand "doc-support" {}