diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f1310e137680c..9d4d1e244f588 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12960,6 +12960,12 @@ githubId = 16027994; name = "Nathan Viets"; }; + nwjsmith = { + email = "nate@theinternate.com"; + github = "nwjsmith"; + githubId = 1348; + name = "Nate Smith"; + }; nyanbinary = { email = "vextium@skiff.com"; github = "nyabinary"; diff --git a/pkgs/tools/llm/aider/default.nix b/pkgs/tools/llm/aider/default.nix new file mode 100644 index 0000000000000..30ea144391cd3 --- /dev/null +++ b/pkgs/tools/llm/aider/default.nix @@ -0,0 +1,83 @@ +{ lib +, python3 +, fetchFromGitHub +, universal-ctags +, portaudio +}: +let + version = "0.14.2"; +in +python3.pkgs.buildPythonApplication rec { + pname = "aider"; + format = "setuptools"; + inherit version; + + src = fetchFromGitHub { + owner = "paul-gauthier"; + repo = "aider"; + rev = "v${version}"; + hash = "sha256-JDhpIMgA4Fa68XnuYdH0oSo5vswtwzOs5AeT46PVQbc="; + }; + + propagatedBuildInputs = with python3.pkgs; [ + universal-ctags + aiohttp + aiosignal + async-timeout + attrs + backoff + certifi + charset-normalizer + configargparse + diskcache + frozenlist + gitdb + gitpython + idna + jsonschema + markdown-it-py + mdurl + multidict + networkx + numpy + openai + packaging + prompt-toolkit + pygments + pyyaml + requests + rich + scipy + smmap + sounddevice + soundfile + tiktoken + tqdm + urllib3 + wcwidth + yarl + ] ++ [ + portaudio + universal-ctags + ]; + + postPatch = '' + substituteInPlace aider/repomap.py \ + --replace '"ctags"' '"${universal-ctags}/bin/ctags"' + ''; + + # Tests require a Git repository + doCheck = false; + + pythonImportsCheck = [ + "aider" + ]; + + meta = with lib; { + changelog = "https://github.com/paul-gauthier/aider/raw/v${version}/HISTORY.md"; + description = "AI pair programming in your terminal"; + homepage = "https://github.com/paul-gauthier/aider"; + license = licenses.asl20; + maintainers = with maintainers; [ nwjsmith ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0bbc81b0ca74a..e25db0441327a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -234,6 +234,8 @@ with pkgs; adcli = callPackage ../os-specific/linux/adcli { }; + aider = callPackage ../tools/llm/aider { }; + alda = callPackage ../development/interpreters/alda { }; align = callPackage ../tools/text/align { };