diff --git a/nixos/lib/make-options-doc/mergeJSON.py b/nixos/lib/make-options-doc/mergeJSON.py
index 8fb0b65c82d8..d7dc6ca30074 100644
--- a/nixos/lib/make-options-doc/mergeJSON.py
+++ b/nixos/lib/make-options-doc/mergeJSON.py
@@ -72,7 +72,10 @@ class Renderer(mistune.renderers.BaseRenderer):
info = f" language={quoteattr(info)}" if info is not None else ""
return f"\n{escape(text)}"
def link(self, link, text=None, title=None):
+ tag = "link"
if link[0:1] == '#':
+ if text == "":
+ tag = "xref"
attr = "linkend"
link = quoteattr(link[1:])
else:
@@ -82,7 +85,7 @@ class Renderer(mistune.renderers.BaseRenderer):
text = ""
attr = "xlink:href"
link = quoteattr(link)
- return f"{text}"
+ return f"<{tag} {attr}={link}>{text}{tag}>"
def list(self, text, ordered, level, start=None):
if ordered:
raise NotImplementedError("ordered lists not supported yet")