From d92bcaf4a3fbed997bc204ec1f62e5ac084fdf54 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Mon, 26 Aug 2024 15:59:43 +0800 Subject: [PATCH] wrapper-manager-fds/docs: update declarations for nixosOptionsDoc --- .../wrapper-manager-fds/docs/default.nix | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/subprojects/wrapper-manager-fds/docs/default.nix b/subprojects/wrapper-manager-fds/docs/default.nix index e3bc8661..aae24910 100644 --- a/subprojects/wrapper-manager-fds/docs/default.nix +++ b/subprojects/wrapper-manager-fds/docs/default.nix @@ -8,6 +8,8 @@ in let inherit (pkgs) nixosOptionsDoc lib; + src = builtins.toString ../.; + # Pretty much inspired from home-manager's documentation build process. evalDoc = args@{ @@ -26,11 +28,30 @@ let ]; class = "wrapperManager"; }).options; + + # Based from nixpkgs' and home-manager's code. + gitHubDeclaration = user: repo: subpath: + { + url = "https://github.com/${user}/${repo}/blob/master/${subpath}"; + name = "<${repo}/${subpath}>"; + }; + in nixosOptionsDoc ( { options = if includeModuleSystemOptions then options else builtins.removeAttrs options [ "_module" ]; + transformOptions = opt: + opt // { + declarations = map (decl: + if lib.hasPrefix src (toString decl) then + gitHubDeclaration "foo-dogsquared" "wrapper-manager-fds" + (lib.removePrefix "/" (lib.removePrefix src (toString decl))) + else if decl == "lib/modules.nix" then + gitHubDeclaration "NixOS" "nixpkgs" decl + else + decl) opt.declarations; + }; } // builtins.removeAttrs args [ "modules"