Nix package for giga-stt service.
- Nix 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| flake.lock | ||
| flake.nix | ||
| module.nix | ||
| package.nix | ||
| README.md | ||
| wheels.nix | ||
giga-stt
REST speech-to-text service on GigaAM (v3_e2e_rnnt), packaged for NixOS.
Flakes
| Output | Description |
|---|---|
packages.x86_64-linux.giga-stt (default) |
The REST service binary |
packages.x86_64-linux.gigaam-model |
GigaAM checkpoint + tokenizer (Sber CDN, hash-pinned) |
apps.x86_64-linux.giga-stt (default) |
Run the service directly: nix run .#giga-stt |
devShells.x86_64-linux.default |
Shell with the service on PATH |
overlays.default |
Exposes giga-stt as a package |
nixosModules.giga-stt (default) |
NixOS module (see below) |
NixOS module
{
services.giga-stt = {
enable = true;
openFirewall = true; # opens the service port
modelFiles = pkgs.callPackage ./package.nix { }.passthru.gigaamModel; # optional: prefetch weights from nix store
device = "auto"; # auto / cuda / cpu
port = 8000;
vadBackend = "auto"; # pyannote / silero / energy (audio > 25 s)
frBatchSize = 4; # raise for GPUs with more VRAM
maxUploadMb = 100;
environmentFile = null; # e.g. GIGAAM_API_KEY, HF_TOKEN
};
}
- Listens on
GIGAAM_HOST/GIGAAM_PORT(default0.0.0.0:8000), runs as a dynamic systemd user in/var/lib/giga-stt. - Without
modelFilesthe weights are downloaded to the StateDirectory on first start (internet required); with it they are symlinked from the nix store inpreStart. - Runs CUDA on NVIDIA GPUs: torch 2.8 and the nvidia/triton/silero-vad wheels come from PyPI (
wheels.nix), everything else from nixpkgs.