{ description = "RIPs development environment"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; nearley = pkgs.buildNpmPackage { pname = "nearley"; version = "2.20.1"; src = ./nix/nearley; npmDepsHash = "sha256-a0RjAhSlzEbe6tM6QsZa06xKc0uzEe0cK6OsuVQSSzo="; dontNpmBuild = true; }; in { devShells.default = pkgs.mkShell { buildInputs = (with pkgs; [ asciidoctor pkgs.lychee nodejs pandoc shellcheck yq ]) ++ [ nearley ]; }; checks = { grammar = pkgs.runCommand "grammar-check" { nativeBuildInputs = (with pkgs; [ nearley nodejs yq ]) ++ [ nearley ]; } '' ${./0004-general-uri-scheme/data/test/uri-scheme-tester.sh} ${./0004-general-uri-scheme/data} touch $out ''; links = pkgs.testers.lycheeLinkCheck { site = pkgs.lib.sources.sourceFilesBySuffices ./. [".md" ".adoc"]; extraConfig = { extensions = ["md" "adoc"]; include_fragments = true; exclude = [ "^rad:.*$" "^web\\+rad:.*$" "^vscode:.*$" ]; }; }; }; }); }