From 8cb8ba05b8889eee80c0f126f04f7fac73867699 Mon Sep 17 00:00:00 2001 From: Taha YASSINE Date: Tue, 2 Jul 2024 02:46:04 +0100 Subject: [PATCH 1/2] maintainers: add taha-yassine --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5a356e8cfde9..03040d2bb2a4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -20008,6 +20008,12 @@ githubId = 6457015; name = "Taha Gharib"; }; + taha-yassine = { + email = "taha.yssne@gmail.com"; + github = "taha-yassine"; + githubId = 40228615; + name = "Taha Yassine"; + }; taikx4 = { email = "taikx4@taikx4szlaj2rsdupcwabg35inbny4jk322ngeb7qwbbhd5i55nf5yyd.onion"; github = "taikx4"; From 122892a0488ee9c2389067fceff1db78b455943f Mon Sep 17 00:00:00 2001 From: Taha YASSINE Date: Wed, 14 Aug 2024 20:12:14 +0200 Subject: [PATCH 2/2] aider-chat: init at 0.50.0 --- pkgs/by-name/ai/aider-chat/package.nix | 114 ++++++++++++++++++ .../python-modules/pypager/default.nix | 41 +++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 157 insertions(+) create mode 100644 pkgs/by-name/ai/aider-chat/package.nix create mode 100644 pkgs/development/python-modules/pypager/default.nix diff --git a/pkgs/by-name/ai/aider-chat/package.nix b/pkgs/by-name/ai/aider-chat/package.nix new file mode 100644 index 000000000000..087d1a056c0a --- /dev/null +++ b/pkgs/by-name/ai/aider-chat/package.nix @@ -0,0 +1,114 @@ +{ + lib, + stdenv, + python311, + fetchFromGitHub, + gitMinimal, + portaudio, +}: + +let + python3 = python311.override { + self = python3; + packageOverrides = _: super: { tree-sitter = super.tree-sitter_0_21; }; + }; + version = "0.50.0"; +in +python3.pkgs.buildPythonApplication { + pname = "aider-chat"; + inherit version; + pyproject = true; + + src = fetchFromGitHub { + owner = "paul-gauthier"; + repo = "aider"; + rev = "v${version}"; + hash = "sha256-hRUxzljtgLGEDwHf6UtQzGQM8CgiRtgNLlVoKa2jU3o="; + }; + + build-system = with python3.pkgs; [ setuptools ]; + + dependencies = + with python3.pkgs; + [ + aiohappyeyeballs + backoff + beautifulsoup4 + configargparse + diff-match-patch + diskcache + flake8 + gitpython + grep-ast + importlib-resources + jsonschema + jiter + litellm + networkx + numpy + packaging + pathspec + pillow + playwright + prompt-toolkit + pypager + pypandoc + pyperclip + pyyaml + rich + scipy + sounddevice + soundfile + streamlit + tokenizers + watchdog + ] + ++ lib.optionals (!tensorflow.meta.broken) [ + llama-index-core + llama-index-embeddings-huggingface + ]; + + buildInputs = [ portaudio ]; + + pythonRelaxDeps = true; + + nativeCheckInputs = (with python3.pkgs; [ pytestCheckHook ]) ++ [ gitMinimal ]; + + disabledTestPaths = [ + # requires network + "tests/scrape/test_scrape.py" + + # Expected 'mock' to have been called once + "tests/help/test_help.py" + ]; + + disabledTests = + [ + # requires network + "test_urls" + "test_get_commit_message_with_custom_prompt" + + # FileNotFoundError + "test_get_commit_message" + + # Expected 'launch_gui' to have been called once + "test_browser_flag_imports_streamlit" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # fails on darwin + "test_dark_mode_sets_code_theme" + "test_default_env_file_sets_automatic_variable" + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + meta = { + description = "AI pair programming in your terminal"; + homepage = "https://github.com/paul-gauthier/aider"; + license = lib.licenses.asl20; + mainProgram = "aider"; + maintainers = with lib.maintainers; [ taha-yassine ]; + }; +} diff --git a/pkgs/development/python-modules/pypager/default.nix b/pkgs/development/python-modules/pypager/default.nix new file mode 100644 index 000000000000..94ed9f2cc7bd --- /dev/null +++ b/pkgs/development/python-modules/pypager/default.nix @@ -0,0 +1,41 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + prompt-toolkit, + pygments, +}: + +buildPythonPackage { + pname = "pypager"; + version = "3.0.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "prompt-toolkit"; + repo = "pypager"; + rev = "0255d59a14ffba81c3842ef570c96c8dfee91e8e"; + hash = "sha256-uPpVAI12INKFZDiTQdzQ0dhWCBAGeu0488zZDEV22mU="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + prompt-toolkit + pygments + ]; + + pythonImportsCheck = [ "pypager" ]; + + # no tests + doCheck = false; + + meta = { + description = ''Pure Python pager (like "more" and "less")''; + homepage = "https://github.com/prompt-toolkit/pypager"; + license = lib.licenses.bsd3; + mainProgram = "pypager"; + maintainers = with lib.maintainers; [ taha-yassine ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ac6b04ff3897..5064c7a5dbaf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11935,6 +11935,8 @@ self: super: with self; { pyowm = callPackage ../development/python-modules/pyowm { }; + pypager = callPackage ../development/python-modules/pypager { }; + pypamtest = toPythonModule (pkgs.libpam-wrapper.override { enablePython = true; inherit python;