nixdots/modules/servers/per-host/overlord/kokoro.nix

135 lines
2.7 KiB
Nix

{pkgs, ...}: let
python = pkgs.python312;
spacyModelEn = python.pkgs.buildPythonPackage rec {
pname = "en-core-web-sm";
version = "3.8.0";
format = "wheel";
src = pkgs.fetchurl {
url = "https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-${version}/en_core_web_sm-${version}-py3-none-any.whl";
hash = "sha256-GTJCnbcn1L/z3u1rNM/AXfF3lPSlLusmz4ko98Gg+4U=";
};
propagatedBuildInputs = with python.pkgs; [
spacy
];
doCheck = false;
pythonImportsCheck = ["en_core_web_sm"];
};
espeakngLoaderPkg = python.pkgs.buildPythonPackage rec {
pname = "espeakng-loader";
version = "0.2.4";
format = "wheel";
src = python.pkgs.fetchPypi {
pname = "espeakng_loader";
inherit version;
format = "wheel";
dist = "py3";
python = "py3";
abi = "none";
platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
hash = "sha256-CHIbryfRPUYfa+bu2aZSd+cNaCNP9IT9i5iXsiLNy20=";
};
doCheck = false;
pythonImportsCheck = ["espeakng_loader"];
};
misakiPkg = python.pkgs.buildPythonPackage rec {
pname = "misaki";
version = "0.9.4";
pyproject = true;
src = python.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-OWD6Pm3heakO6OYoRGpKT2uMcwtuNBCZnPOWGJ9NnEA=";
};
nativeBuildInputs = with python.pkgs; [
hatchling
];
propagatedBuildInputs = with python.pkgs; [
spacyModelEn
num2words
addict
numpy
regex
requests
tqdm
spacy
espeakngLoaderPkg
];
doCheck = false;
pythonImportsCheck = ["misaki"];
};
kokoroPkg = python.pkgs.buildPythonPackage rec {
pname = "kokoro";
version = "0.9.4";
pyproject = true;
src = python.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-+/YzJieX+M9G/awzFc+creZ9yLdiwP7M8zSJJ3L7msQ=";
};
nativeBuildInputs = with python.pkgs; [
hatchling
];
propagatedBuildInputs = with python.pkgs; [
torch
numpy
scipy
soundfile
huggingface-hub
loguru
tqdm
regex
requests
transformers
misakiPkg
phonemizer
];
doCheck = false;
pythonImportsCheck = ["kokoro"];
};
slopPython = python.withPackages (ps: [
ps.spacy
ps.num2words
ps.addict
ps.requests
ps.pillow
ps.numpy
ps.soundfile
ps.scipy
ps.tqdm
ps.regex
ps.torch
ps.transformers
ps.huggingface-hub
ps.phonemizer
kokoroPkg
misakiPkg
espeakngLoaderPkg
spacyModelEn
]);
in {
documentation.doc.enable = false;
environment.systemPackages = with pkgs; [
ffmpeg
git
yt-dlp
espeak-ng
slopPython
];
}