Skip to main content

Nixii

A desktop voice assistant for Linux. Trigger Nixii, ask a question or give a command, and it handles it — change the volume, set a wallpaper, take a screenshot, control media, or answer general queries using Gemini.

What It Does

  • System control — volume, brightness, mute, media playback, screenshots, wallpaper changes, app launcher.
  • General queries — ask anything. Nixii uses Gemini and can search the web for live information like weather, news, and prices.
  • Vision — say "open your eyes", "where should I click", or "why is this red" and Nixii asks permission to screenshot your screen, then describes what it sees. Approval is via desktop notification with a configurable timeout.
  • Voice interaction — manual trigger-to-record mechanism, speech-to-text, and text-to-speech. No constant background listening/wake-word overhead.

Installation & Setup

Install Nixii globally on your system using pipx:

pipx install nixii

This will automatically expose the commands globally. Run any command once to automatically initialize your configuration directory:

nixii-server

Now, configure your API keys by editing ~/.config/nixii/.env:

GOOGLE_CLOUD_API_KEY=your-vertex-express-mode-key
SARVAM_API_KEY=your-sarvam-key

Option 2: Local Development Setup

If you'd like to run or develop Nixii locally, install uv and sync dependencies:

uv sync

Run any command once (e.g. uv run nixii-server) to auto-generate your config, then add your API keys to ~/.config/nixii/.env.

Run

Note: If you are using the local development setup, prefix all of the following commands with uv run (e.g., uv run nixii-server).

First, discover your desktop environment (keybinds, scripts, wallpapers):

nixii-server --discover

Then start the server:

nixii-server

Next, start the voice daemon (which runs as a background process listening for manual trigger events):

nixii-voice

To interact with Nixii, trigger the recording. You can bind keys or desktop shortcuts to run these commands:

  • Trigger Recording (Toggle): Start or stop recording your query.
    nixii-voice trigger
    
  • New Session: Start a fresh conversation session and trigger recording.
    nixii-voice new
    

Run the command once to start recording, speak your request, and run it again to stop and process the audio!

Configuration

Nixii resolves its config in this order:

  1. --config <path> CLI flag
  2. $NIXII_CONFIG environment variable
  3. ~/.config/nixii/nixii.toml (user config)
  4. example_config/nixii.toml (repo default)
  5. Code defaults (no file needed)

The system prompt lives in code. Set agent_name in your TOML to change the persona — the prompt template uses it automatically.

Edit your TOML to configure audio thresholds, STT, TTS, model settings, vision, and local actions.

Metadata

Release files for nixii 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nixii 0.1.1
File Size Uploaded
nixii-0.1.1.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for nixii 0.1.1
File Interpreter ABI Platform
nixii-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.7 MB

Release files / nixii-0.1.1.tar.gz

Download URL nixii-0.1.1.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
e8975250e924e80bfe863d24f850d85540b727b06cfce825f4c5b1bf09338d2f
BLAKE2b-256 checksum
How to use checksums
3b1a68e31346785b58b655260e97d82bcc80d77e95630dae1361b3d4bb46dafb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / nixii-0.1.1-py3-none-any.whl

Download URL nixii-0.1.1-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
37372f9ff38a13767961490c17c66cd3c424cc65da393486481cdbb36903102b
BLAKE2b-256 checksum
How to use checksums
ad40ebb6d77c2723a256b126acacec71e64d13aa44e19c9cd9b9815a909f7bcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page