Simple and fast static-page NixOS option search
- General collection of community projects https://search.nüschtos.de
- All flakes used at C3D2 https://search.nixos.c3d2.de
- NixVim https://nix-community.github.io/nixvim/search
- Nixidy https://arnarg.github.io/nixidy/options/search
Until we have written proper instructions please take a look at the following examples:
- Static page with GitHub Actions and Cloudflare/GitHub Pages https://github.com/NuschtOS/search.nuschtos.de/blob/main/.github/workflows/gh-pages.yaml https://github.com/NuschtOS/search.nuschtos.de/blob/main/flake.nix
- Deployed with NixOS https://gitea.c3d2.de/c3d2/nix-config/src/branch/master/hosts/nixos-misc/default.nix#L48-L103
We wanted something similar to https://search.nixos.org to easily search through all the flakes options across many projects we accumulated in projects but without the need to deploy an Elasticsearch. Ideally it should be just a static site with json blob that can be deployed on GitHub pages.
Generating a options.json
in a nix repl
can be done with the following snippet:
:b (pkgs.nixosOptionsDoc { inherit ((lib.evalModules { modules = [ { config._module.check = false; } outputs.nixosModules.default ]; })) options; warningsAreErrors = false; }).optionsJSON
It is assumed that the flake was loaded before with :lf
and the module(s) is/are under nixosModules.default
. For some flakes this may need to be adapted.
For bugs and issues please open an issue in this repository.
If you want to chat about things or have ideas, feel free to join the Matrix chat.