diff --git a/docs/manual.xml b/docs/manual.xml
new file mode 100644
index 0000000..7057dbc
--- /dev/null
+++ b/docs/manual.xml
@@ -0,0 +1,13 @@
+
+
+ A simple example
+
+
+ A simple example
+ Hello, world!
+
+
diff --git a/flake.lock b/flake.lock
index 982099d..ecb8910 100644
--- a/flake.lock
+++ b/flake.lock
@@ -81,14 +81,52 @@
"type": "github"
}
},
+ "nmd": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "scss-reset": "scss-reset"
+ },
+ "locked": {
+ "lastModified": 1687627428,
+ "narHash": "sha256-7zGfXuNS5RHqhpEdz2fwrtqvF86JRo5U1hrxZSYgcm8=",
+ "ref": "refs/heads/master",
+ "rev": "824a380546b5d0d0eb701ff8cd5dbafb360750ff",
+ "revCount": 63,
+ "type": "git",
+ "url": "https://git.sr.ht/~rycee/nmd"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://git.sr.ht/~rycee/nmd"
+ }
+ },
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nix-flake-tests": "nix-flake-tests",
"nixpkgs": "nixpkgs",
+ "nmd": "nmd",
"sops-nix": "sops-nix"
}
},
+ "scss-reset": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1631450058,
+ "narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=",
+ "owner": "andreymatin",
+ "repo": "scss-reset",
+ "rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91",
+ "type": "github"
+ },
+ "original": {
+ "owner": "andreymatin",
+ "repo": "scss-reset",
+ "type": "github"
+ }
+ },
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2",
diff --git a/flake.nix b/flake.nix
index 895028d..ab0d0c4 100644
--- a/flake.nix
+++ b/flake.nix
@@ -6,9 +6,11 @@
sops-nix.url = "github:Mic92/sops-nix";
nix-flake-tests.url = "github:antifuchs/nix-flake-tests";
flake-utils.url = "github:numtide/flake-utils";
+ nmd.url = "git+https://git.sr.ht/~rycee/nmd";
+ nmd.inputs.nixpkgs.follows = "nixpkgs";
};
- outputs = { nixpkgs, nix-flake-tests, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system:
+ outputs = { nixpkgs, nix-flake-tests, flake-utils, nmd, ... }: flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
@@ -36,6 +38,41 @@
];
};
+ # Inspiration from https://github.com/nix-community/nix-on-droid/blob/039379abeee67144d4094d80bbdaf183fb2eabe5/docs/default.nix#L22
+ packages.manualHtml = let
+ nmdlib = import nmd { inherit pkgs; };
+
+ setupModule = {
+ _module.args.pkgs = pkgs.lib.mkForce (nmdlib.scrubDerivations "pkgs" pkgs);
+ _module.check = false;
+ };
+
+ modulesDocs = nmdlib.buildModulesDocs {
+ modules = [
+ setupModule
+ ./modules/blocks/ssl.nix
+ ];
+ moduleRootPaths = [ ../. ];
+ mkModuleUrl = path: "https://myproject.foo/${path}";
+ channelName = "selfhostblocks";
+ docBook = { id = "selfhostblocks-options"; optionIdPrefix = "shb-opt"; };
+ };
+
+ manual = nmdlib.buildDocBookDocs {
+ pathName = "SelfHostBlocks";
+ modulesDocs = [ modulesDocs ];
+ documentsDirectory = ./docs;
+ chunkToc = ''
+
+
+
+
+
+ '';
+ };
+ in
+ manual.html;
+
checks =
let
importFiles = files: