44 lines
1.4 KiB
Nix
44 lines
1.4 KiB
Nix
{
|
|
description = "A simple flake";
|
|
|
|
inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
|
|
outputs = { self, nixpkgs }: {
|
|
|
|
defaultPackage.x86_64-linux = let
|
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
python = pkgs.python311;
|
|
pythonPackages = python.pkgs;
|
|
|
|
modelUrl = "https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/hfc_female/medium/en_US-hfc_female-medium.onnx?download=true";
|
|
modelJsonUrl = "https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/hfc_female/medium/en_US-hfc_female-medium.onnx.json?download=true.json";
|
|
|
|
model = pkgs.fetchurl {
|
|
name = "hfc_female/medium/en_US-hfc_female-medium.onnx";
|
|
url = modelUrl;
|
|
sha256 = "sha256-kUxHN4j8H6i2Os4c3NtEWI9K5SPTqzffFTZhaDWhQLc="; # replace with the correct sha256
|
|
};
|
|
|
|
modelJson = pkgs.fetchurl {
|
|
name = "hfc_female/medium/en_US-hfc_female-medium.onnx.json";
|
|
url = modelJsonUrl;
|
|
sha256 = "sha256-A/H6BiK4BGMoNZLZesqfbomuw0WlxWtyV3I+AJPFi2w="; # replace with the correct sha256
|
|
};
|
|
in pkgs.mkShell {
|
|
nativeBuildInputs = with pkgs; [
|
|
python
|
|
piper-tts
|
|
alsa-utils # for aplay for piper-tts to stream to
|
|
|
|
(pythonPackages.pypdf)
|
|
|
|
];
|
|
|
|
shellHook = ''
|
|
mkdir -p piper-models
|
|
cp ${model} piper-models/
|
|
cp ${modelJson} piper-models/
|
|
'';
|
|
};
|
|
};
|
|
} |