mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
The goal is speech recognition on the NPU for vinput, and sherpa-onnx cannot
deliver it: every model it loads keeps a dynamic time axis, which the NPU
compiler rejects outright. Qwen3-ASR and SenseVoice both core-dumped in
vpux-compiler ("Got non broadcastable dimensions pair"), and reshaping the ONNX
inputs does not help because the dynamic dimensions sit inside the graph
(WA-037). Whisper is the only family OpenVINO publishes fully static IRs for,
and its fixed 30 s window is exactly what the compiler accepts.
The host now runs an OpenAI-compatible /v1/audio/transcriptions service backed
by whisper-large-v3-turbo int8 on the NPU: 1.5 s for 11 s of audio against
2.1 s on CPU, with the compiled graph cached in /var/cache so only a cold cache
pays the ~60 s NPU compile. vinput on the desktop sends raw PCM to it through a
small provider script.
Only the NPU driver and compiler still come from the unmerged branch in the
`nixpkgs-npu` input (NixOS/nixpkgs#570230), whose nixpkgs also happens to be
the one where openvino-genai 2026.4.0.0 builds at all.
Assisted-by: DeepSeek Harness 0.2.1-rc.2 (deepseek-v4.1-flash)
Home Manager's Linux Submodules
This directory contains Linux-specific Home Manager configurations.
Configuration Modules
Core Configurations
- core.nix: Linux-specific configurations
- base/: Base Linux configurations including shell, tools, and utilities
shell.nix: Shell configurations and aliasestools.nix: Essential command-line tools and utilities
Desktop Configurations
- gui/: Desktop environment configurations
- niri/: Niri compositor configuration
- i3/: Headless computer-use session (see
gui/i3/README.md) - base/: Common desktop applications and services
Available Entry Points
- core.nix: Core Linux configuration, suitable for basic setups
- tui.nix: Terminal-based interface configuration for lightweight environments
- gui.nix: Graphical user interface configuration entry point, imports desktop environments
Usage
- Lightweight/Terminal: Use
core.nixortui.nixfor terminal-focused setups - Desktops: Use
gui.nixfor full desktop environments with Noctalia Shell and Niri compositor