diff --git a/pkgs/by-name/se/seagoat/package.nix b/pkgs/by-name/se/seagoat/package.nix new file mode 100644 index 0000000000000..674dc0702a148 --- /dev/null +++ b/pkgs/by-name/se/seagoat/package.nix @@ -0,0 +1,59 @@ +{ + lib, + fetchFromGitHub, + python3Packages, + ripgrep, +}: + +python3Packages.buildPythonApplication rec { + pname = "seagoat"; + version = "0.50.1"; + pyproject = true; + + build-system = [ python3Packages.poetry-core ]; + + dependencies = with python3Packages; [ + appdirs + blessed + chardet + flask + deepmerge + chromadb + gitpython + jsonschema + pygments + requests + nest-asyncio + waitress + psutil + stop-words + ]; + + src = fetchFromGitHub { + owner = "kantord"; + repo = "SeaGOAT"; + tag = "v${version}"; + hash = "sha256-tf3elcKXUwBqtSStDksOaSN3Q66d72urrG/Vab2M4f0="; + }; + + nativeCheckInputs = with python3Packages; [ + pytestCheckHook + freezegun + pytest-asyncio + pytest-mock + pytest-snapshot + ]; + + postInstall = '' + wrapProgram $out/bin/seagoat-server \ + --prefix PATH : "${ripgrep}/bin" + ''; + + meta = { + description = "Local-first semantic code search engine"; + homepage = "https://kantord.github.io/SeaGOAT/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ lavafroth ]; + mainProgram = "seagoat"; + }; +}