diff --git a/docs/content/configuration.md b/docs/content/configuration.md deleted file mode 100644 index ea36937..0000000 --- a/docs/content/configuration.md +++ /dev/null @@ -1,3 +0,0 @@ -# Configuration - -Hyprspace is configured through a simple JSON config file. This page lists the possible values in NixOS options doc style. diff --git a/docs/content/Development/config-schema.md b/docs/content/development/config-schema.md similarity index 100% rename from docs/content/Development/config-schema.md rename to docs/content/development/config-schema.md diff --git a/docs/content/Development/for-contributors.md b/docs/content/development/for-contributors.md similarity index 100% rename from docs/content/Development/for-contributors.md rename to docs/content/development/for-contributors.md diff --git a/docs/content/Development.md b/docs/content/development/hacking.md similarity index 98% rename from docs/content/Development.md rename to docs/content/development/hacking.md index b07475b..6f77728 100644 --- a/docs/content/Development.md +++ b/docs/content/development/hacking.md @@ -1,4 +1,4 @@ -# Development +# Hacking ## Developer Environment diff --git a/docs/content/Features/addressing.md b/docs/content/features/addressing.md similarity index 100% rename from docs/content/Features/addressing.md rename to docs/content/features/addressing.md diff --git a/docs/content/Features/dns.md b/docs/content/features/dns.md similarity index 100% rename from docs/content/Features/dns.md rename to docs/content/features/dns.md diff --git a/docs/content/Features/service-network.md b/docs/content/features/service-network.md similarity index 100% rename from docs/content/Features/service-network.md rename to docs/content/features/service-network.md diff --git a/docs/content/index.md b/docs/content/index.md index de4d90e..87ba800 100644 --- a/docs/content/index.md +++ b/docs/content/index.md @@ -1,3 +1,7 @@ # Hyprspace A Lightweight VPN Built on top of IPFS & Libp2p for Truly Distributed Networks. + +## Configuration + +Hyprspace is configured through a simple JSON config file. The available options can be found in the [options reference](options.html). diff --git a/docs/emanote-config.json b/docs/emanote-config.json deleted file mode 100644 index 28c9499..0000000 --- a/docs/emanote-config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "template": { - "iconUrl": "${ema:homeUrl}favicon.png" - }, - "page": { - "siteTitle": "Hyprspace" - } -} diff --git a/docs/ndg.toml b/docs/ndg.toml new file mode 100644 index 0000000..39cb960 --- /dev/null +++ b/docs/ndg.toml @@ -0,0 +1,5 @@ +input_dir = "content" +title = "Hyprspace" + +[sidebar] +group_by_dir = true diff --git a/docs/package.nix b/docs/package.nix index 19ee37d..e126fe9 100644 --- a/docs/package.nix +++ b/docs/package.nix @@ -2,7 +2,7 @@ lib, runCommand, nixosOptionsDoc, - emanote, + ndg, hyprspace, }: @@ -15,18 +15,9 @@ let }; in -runCommand "hyprspace-docs-${hyprspace.version}" - { - src = ./content; - nativeBuildInputs = [ emanote ]; - } - '' - unpackPhase - cd "$sourceRoot" - - cp ${../hyprspace.png} ./favicon.png - cp ${./emanote-config.json} ./index.yaml - cat ${optionsDoc.optionsCommonMark} >> ./configuration.md - mkdir -p $out/share/www/hyprspace-docs - emanote -L . gen $out/share/www/hyprspace-docs - '' +runCommand "hyprspace-docs-${hyprspace.version}" { } '' + ${ndg}/bin/ndg --config-file ${./ndg.toml} \ + --config input_dir=${./content} \ + --config output_dir=$out/share/www/hyprspace-docs \ + --config module_options=${optionsDoc.optionsJSON}/share/doc/nixos/options.json +'' diff --git a/flake.lock b/flake.lock index aa385a1..acd2902 100644 --- a/flake.lock +++ b/flake.lock @@ -44,7 +44,38 @@ "type": "github" } }, + "ndg": { + "inputs": { + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1776204333, + "narHash": "sha256-gJcybEQZa5Jdh3MSgvGLqiqQFRTZ3IxQFvVIsJecbno=", + "owner": "feel-co", + "repo": "ndg", + "rev": "d678855cdd0385b1bd78adf3456d072642317d6a", + "type": "github" + }, + "original": { + "owner": "feel-co", + "repo": "ndg", + "type": "github" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1775036866, + "narHash": "sha256-ByAX1LkhCwZ94+KnFAmnJSMAvui7kgCxjHgUHsWAbfI=", + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre972949.6201e203d095/nixexprs.tar.xz?lastModified=1775036866&rev=6201e203d09599479a3b3450ed24fa81537ebc4e" + }, + "original": { + "type": "tarball", + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1751011381, "narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=", @@ -64,7 +95,8 @@ "inputs": { "flake-parts": "flake-parts", "hercules-ci-effects": "hercules-ci-effects", - "nixpkgs": "nixpkgs" + "ndg": "ndg", + "nixpkgs": "nixpkgs_2" } } }, diff --git a/flake.nix b/flake.nix index 50505ae..15cb27d 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,9 @@ flake-parts.follows = "flake-parts"; }; }; + ndg = { + url = "github:feel-co/ndg"; + }; }; outputs = @@ -49,14 +52,22 @@ ]; perSystem = - { config, pkgs, ... }: + { + config, + inputs', + pkgs, + ... + }: { packages = { default = config.packages.hyprspace; hyprspace = pkgs.callPackage ./package.nix { generateSchemasProgram = config.apps.dev-generate-schemas.program; }; - docs = pkgs.callPackage ./docs/package.nix { hyprspace = config.packages.default; }; + docs = pkgs.callPackage ./docs/package.nix { + hyprspace = config.packages.default; + inherit (inputs'.ndg.packages) ndg; + }; vendor = pkgs.callPackage ./dev/vendor.nix { generateSchemasProgram = config.apps.dev-generate-schemas.program; };