Files
nix-config-ryan4yin/home/linux
ryan4yin | 二花 9f092808fd feat(aquamarine): serve Whisper transcription from the NPU (#472)
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)
2026-10-18 08:34:50 +08:00
..

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 aliases
    • tools.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.nix or tui.nix for terminal-focused setups
  • Desktops: Use gui.nix for full desktop environments with Noctalia Shell and Niri compositor