Add a new nixpkgs-search CLI that combines NixOS options search with Nix package search functionality. This provides two MCP servers from a single binary: - `nixpkgs-search options serve` for NixOS options - `nixpkgs-search packages serve` for Nix packages Key changes: - Add packages table to database schema (version 3) - Add Package type and search methods to database layer - Create internal/packages/ with indexer and parser for nix-env JSON - Add MCP server mode (options/packages) with separate tool sets - Add package handlers: search_packages, get_package - Create cmd/nixpkgs-search with combined indexing support - Update flake.nix with nixpkgs-search package (now default) - Bump version to 0.2.0 The index command can index both options and packages together, or use --no-packages/--no-options flags for partial indexing. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 lines
702 B
Nix
30 lines
702 B
Nix
{ lib, buildGoModule, makeWrapper, nix, src
|
|
, pname ? "nixos-options-mcp"
|
|
, subPackage ? "cmd/nixos-options"
|
|
, mainProgram ? "nixos-options"
|
|
, description ? "MCP server for NixOS options search and query"
|
|
}:
|
|
|
|
buildGoModule {
|
|
inherit pname src;
|
|
version = "0.2.0";
|
|
|
|
vendorHash = "sha256-D0KIxQC9ctIAaHBFTvkhBE06uOZwDUcIw8471Ug2doY=";
|
|
|
|
subPackages = [ subPackage ];
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/${mainProgram} \
|
|
--prefix PATH : ${lib.makeBinPath [ nix ]}
|
|
'';
|
|
|
|
meta = with lib; {
|
|
inherit description mainProgram;
|
|
homepage = "https://git.t-juice.club/torjus/labmcp";
|
|
license = licenses.mit;
|
|
maintainers = [ ];
|
|
};
|
|
}
|