Nix package for giga-stt service.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-09 23:31:02 +03:00
flake.lock Initial commit 2026-09-09 23:27:38 +03:00
flake.nix Initial commit 2026-09-09 23:27:38 +03:00
module.nix Initial commit 2026-09-09 23:27:38 +03:00
package.nix Initial commit 2026-09-09 23:27:38 +03:00
README.md Add README 2026-09-09 23:31:02 +03:00
wheels.nix Initial commit 2026-09-09 23:27:38 +03:00

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 (default 0.0.0.0:8000), runs as a dynamic systemd user in /var/lib/giga-stt.
  • Without modelFiles the weights are downloaded to the StateDirectory on first start (internet required); with it they are symlinked from the nix store in preStart.
  • Runs CUDA on NVIDIA GPUs: torch 2.8 and the nvidia/triton/silero-vad wheels come from PyPI (wheels.nix), everything else from nixpkgs.