Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 109 lines 1.9 kB view raw
1{ 2 lib, 3 python3Packages, 4 fetchFromGitHub, 5 meson, 6 ninja, 7 pkg-config, 8 wrapGAppsHook4, 9 gobject-introspection, 10 desktop-file-utils, 11 libadwaita, 12 vte-gtk4, 13 gsettings-desktop-schemas, 14 gtksourceview5, 15 webkitgtk_6_0, 16 lsb-release, 17 bash, 18 ffmpeg, 19 nix-update-script, 20}: 21 22let 23 version = "1.0.0"; 24in 25python3Packages.buildPythonApplication { 26 pname = "newelle"; 27 inherit version; 28 pyproject = false; # uses meson 29 30 src = fetchFromGitHub { 31 owner = "qwersyk"; 32 repo = "Newelle"; 33 tag = version; 34 hash = "sha256-9Tjp1RZMEdJWLjcy2AjOy3Rw7Q1ulFeZU4y+rMXSmFA="; 35 }; 36 37 postPatch = '' 38 substituteInPlace src/utility/pip.py \ 39 --replace-fail "# Manage pip path locking" "return None" 40 ''; 41 42 nativeBuildInputs = [ 43 meson 44 ninja 45 gobject-introspection 46 wrapGAppsHook4 47 desktop-file-utils 48 pkg-config 49 ]; 50 51 buildInputs = [ 52 libadwaita 53 vte-gtk4 54 gsettings-desktop-schemas 55 gtksourceview5 56 webkitgtk_6_0 57 ]; 58 59 dependencies = with python3Packages; [ 60 pygobject3 61 libxml2 62 pydub 63 gtts 64 speechrecognition 65 numpy 66 matplotlib 67 pylatexenc 68 pyaudio 69 pip-install-test 70 newspaper3k 71 tiktoken 72 openai 73 ollama 74 llama-index-core 75 llama-index-readers-file 76 google-genai 77 anthropic 78 ]; 79 80 strictDeps = true; 81 82 postInstallCheck = '' 83 mesonCheckPhase 84 ''; 85 86 dontWrapGApps = true; 87 88 makeWrapperArgs = [ 89 "\${gappsWrapperArgs[@]}" 90 "--prefix PATH : ${ 91 lib.makeBinPath [ 92 lsb-release 93 bash 94 ffmpeg 95 ] 96 }" 97 ]; 98 99 passthru.updateScript = nix-update-script { }; 100 101 meta = { 102 homepage = "https://github.com/qwersyk/Newelle"; 103 description = "Ultimate Virtual Assistant"; 104 mainProgram = "newelle"; 105 license = lib.licenses.gpl3Plus; 106 platforms = lib.platforms.linux; 107 maintainers = with lib.maintainers; [ ]; 108 }; 109}