Skip to content

dodazawawy/nixie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nixie (voice assistant for NixOS)

An offline-first voice assistant that listens for "hey nixie", then captures your next command, runs a local “skill”, and speaks back.

This repo is intentionally minimal and hackable:

  • Wake phrase: detected from speech-to-text (STT) transcript ("hey nixie").
  • STT: Vosk (offline).
  • TTS: piper if available, else espeak-ng.
  • Skills: simple Python router + a few built-ins (time/date, open apps, run commands).

Quick start (dev)

  1. Enter the dev shell:
nix develop
  1. Get a speech-to-text (STT) model:

Option A: Vosk (offline, light)

Note: this currently requires the Python vosk module to be available in your environment. If your Nixpkgs doesn’t package python311Packages.vosk, use whisper.cpp below.

mkdir -p models
# Put a Vosk model folder here, e.g. models/vosk-model-small-en-us-0.15
  1. Run:
export NIXIE_VOSK_MODEL_DIR="$PWD/models/vosk-model-small-en-us-0.15"
python -m nixie --stt vosk

Option B: whisper.cpp (offline, better accuracy)

Download a model (one-time), then run:

python -m nixie --download-whisper-model base.en
export NIXIE_WHISPER_MODEL="$PWD/models/ggml-base.en.bin"
python -m nixie --stt whispercpp --ui orb --debug

Seeing that it's active

  • Default UI is notify (desktop notifications on state changes).
  • To show an always-on-top “orb” window:
    python -m nixie --ui orb
  • To list audio input devices:
    python -m nixie --list-devices

Home Manager (user service)

If you use Home Manager, you can run Nixie as a user service:

{
  imports = [ /path/to/nixie/nixos/home-manager.nix ];

  services.nixie = {
    enable = true;
    modelDir = "%h/models/vosk-model-small-en-us-0.15";
    wakePhrase = "hey nixie";
    # audioDevice = "USB"; # optional
  };
}

Notes

  • Wake phrase detection via STT is simple but less reliable than true hotword engines.
  • Microphone access depends on PipeWire/PulseAudio configuration on your system.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors