docs: add nuschtosSearch to book
This provides a nice option search.
This commit is contained in:
parent
6116711cbd
commit
843cfda2ad
5 changed files with 101 additions and 31 deletions
|
@ -3,7 +3,7 @@ authors = ["Jalil David Salamé Messina"]
|
||||||
language = "en"
|
language = "en"
|
||||||
multilingual = false
|
multilingual = false
|
||||||
src = "src"
|
src = "src"
|
||||||
title = "Jalil's NixOS configuration module"
|
title = "Jalil's NixOS configuration modules"
|
||||||
|
|
||||||
[preprocessor.toc]
|
[preprocessor.toc]
|
||||||
command = "mdbook-toc"
|
command = "mdbook-toc"
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
# Summary
|
# Summary
|
||||||
|
|
||||||
- [Nix Based Configuration](./configuration-overview.md)
|
[Nix Based Configuration](./configuration-overview.md)
|
||||||
- [NixOS Module Options](./nixos-options.md)
|
|
||||||
- [Neovim Module Options](./nvim-options.md)
|
- [NixOS Module Options](./nixos-options.md)
|
||||||
- [Home Manager Module Options](./home-options.md)
|
- [Neovim Module Options](./nvim-options.md)
|
||||||
|
- [Home Manager Module Options](./home-options.md)
|
||||||
|
|
||||||
|
[Search](./search/index.html)
|
||||||
|
|
|
@ -1,46 +1,50 @@
|
||||||
{ lib, inputs, ... }:
|
{ lib, ... }:
|
||||||
{
|
{
|
||||||
perSystem =
|
perSystem =
|
||||||
{ pkgs, ... }:
|
{ inputs', pkgs, ... }:
|
||||||
{
|
{
|
||||||
packages =
|
packages =
|
||||||
let
|
let
|
||||||
modules = ../modules;
|
|
||||||
filterVisible =
|
filterVisible =
|
||||||
toplevelOption: option:
|
toplevelOption: option:
|
||||||
option // { visible = option.visible && builtins.elemAt option.loc 0 == toplevelOption; };
|
option // { visible = option.visible && builtins.elemAt option.loc 0 == toplevelOption; };
|
||||||
home-eval = lib.evalModules {
|
genOptionsDoc =
|
||||||
modules = [ "${modules}/hm/options.nix" ];
|
toplevelOption: module:
|
||||||
specialArgs = {
|
pkgs.nixosOptionsDoc {
|
||||||
inherit pkgs;
|
inherit (lib.evalModules { modules = [ module ]; }) options;
|
||||||
|
transformOptions = filterVisible toplevelOption;
|
||||||
};
|
};
|
||||||
|
mkScope = name: options: {
|
||||||
|
inherit name;
|
||||||
|
optionsJSON = "${options.optionsJSON}/share/doc/nixos/options.json";
|
||||||
|
urlPrefix = "https://github.com/jalil-salame/configuration.nix/blob/main/";
|
||||||
};
|
};
|
||||||
nvim-eval = lib.evalModules { modules = [ "${modules}/nixvim/options.nix" ]; };
|
search = inputs'.nuschtosSearch.packages.mkMultiSearch {
|
||||||
nixos-eval = lib.evalModules { modules = [ "${modules}/nixos/options.nix" ]; };
|
title = "Search Jalil'\"'\"'s configuration.nix";
|
||||||
home-markdown =
|
baseHref = "/";
|
||||||
(pkgs.nixosOptionsDoc {
|
|
||||||
inherit (home-eval) options;
|
scopes = [
|
||||||
transformOptions = filterVisible "jhome";
|
(mkScope "NixOS" nixos)
|
||||||
}).optionsCommonMark;
|
(mkScope "Home-Manager" home)
|
||||||
nvim-markdown =
|
(mkScope "NixVIM" nvim)
|
||||||
(pkgs.nixosOptionsDoc {
|
];
|
||||||
inherit (nvim-eval) options;
|
};
|
||||||
transformOptions = filterVisible "jhome";
|
home = genOptionsDoc "jhome" ../modules/hm/options.nix;
|
||||||
}).optionsCommonMark;
|
nvim = genOptionsDoc "jhome" ../modules/nixvim/options.nix;
|
||||||
nixos-markdown =
|
nixos = genOptionsDoc "jconfig" ../modules/nixos/options.nix;
|
||||||
(pkgs.nixosOptionsDoc {
|
nixos-markdown = nixos.optionsCommonMark;
|
||||||
inherit (nixos-eval) options;
|
home-markdown = home.optionsCommonMark;
|
||||||
transformOptions = filterVisible "jconfig";
|
nvim-markdown = nvim.optionsCommonMark;
|
||||||
}).optionsCommonMark;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
inherit search;
|
||||||
docs-home-markdown = home-markdown;
|
docs-home-markdown = home-markdown;
|
||||||
docs-nixos-markdown = nixos-markdown;
|
docs-nixos-markdown = nixos-markdown;
|
||||||
docs-nvim-markdown = nvim-markdown;
|
docs-nvim-markdown = nvim-markdown;
|
||||||
# Documentation
|
# Documentation
|
||||||
docs = pkgs.stdenvNoCC.mkDerivation {
|
docs = pkgs.stdenvNoCC.mkDerivation {
|
||||||
name = "nixos-configuration-book";
|
name = "nixos-configuration-book";
|
||||||
src = inputs.self + "/docs";
|
src = ../docs;
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
cleanup_md() {
|
cleanup_md() {
|
||||||
|
@ -53,7 +57,9 @@
|
||||||
cleanup_md ${home-markdown} >> ./src/home-options.md
|
cleanup_md ${home-markdown} >> ./src/home-options.md
|
||||||
cleanup_md ${nvim-markdown} >> ./src/nvim-options.md
|
cleanup_md ${nvim-markdown} >> ./src/nvim-options.md
|
||||||
cleanup_md ${nixos-markdown} >> ./src/nixos-options.md
|
cleanup_md ${nixos-markdown} >> ./src/nixos-options.md
|
||||||
'';
|
# link search site
|
||||||
|
ln -s "${search.override { baseHref = "/configuration.nix/search/"; }}" ./src/search
|
||||||
|
''; # FIXME: only add the `/configuration.nix/` part for GH CI
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgs.mdbook-toc ];
|
nativeBuildInputs = [ pkgs.mdbook-toc ];
|
||||||
buildPhase = "${pkgs.mdbook}/bin/mdbook build --dest-dir \"$out\"";
|
buildPhase = "${pkgs.mdbook}/bin/mdbook build --dest-dir \"$out\"";
|
||||||
|
|
52
flake.lock
generated
52
flake.lock
generated
|
@ -240,6 +240,32 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ixx": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"nuschtosSearch",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nuschtosSearch",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729958008,
|
||||||
|
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "ixx",
|
||||||
|
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"ref": "v0.0.6",
|
||||||
|
"repo": "ixx",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -329,6 +355,31 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nuschtosSearch": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"lix-module",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"ixx": "ixx",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741886583,
|
||||||
|
"narHash": "sha256-sScfYKtxp3CYv5fJcHQDvQjqBL+tPNQqS9yf9Putd+s=",
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "search",
|
||||||
|
"rev": "2974bc5fa3441a319fba943f3ca41f7dcd1a1467",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "search",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
|
@ -336,6 +387,7 @@
|
||||||
"lix-module": "lix-module",
|
"lix-module": "lix-module",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
|
"nuschtosSearch": "nuschtosSearch",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"treefmt-nix": "treefmt-nix",
|
"treefmt-nix": "treefmt-nix",
|
||||||
|
|
|
@ -47,10 +47,19 @@
|
||||||
url = "github:hercules-ci/flake-parts";
|
url = "github:hercules-ci/flake-parts";
|
||||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
# For the formatter (can be set to null)
|
||||||
treefmt-nix = {
|
treefmt-nix = {
|
||||||
url = "github:numtide/treefmt-nix";
|
url = "github:numtide/treefmt-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
# For generating the docs (can be set to null)
|
||||||
|
nuschtosSearch = {
|
||||||
|
url = "github:NuschtOS/search";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-utils.follows = "lix-module/flake-utils";
|
||||||
|
};
|
||||||
|
};
|
||||||
# For deduplication
|
# For deduplication
|
||||||
systems.url = "github:nix-systems/default";
|
systems.url = "github:nix-systems/default";
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue