Press a hotkey, speak, see your words on screen.
A lightweight, native voice-dictation tool for Linux. Windows and macOS are on the roadmap. One static Rust binary — no Electron, no Python, no WebKit.
- Local by default. Whisper runs on your machine; nothing leaves it.
- Or bring a key. Groq, OpenAI, Cerebras, Anthropic, Deepgram — switch with one command, no restart.
- Lands in any window. Terminal, browser, IDE, chat — Shift+Insert paste works everywhere on X11.
| Distro | Command |
|---|---|
| Arch / Manjaro | sudo pacman -U fono-0.2.0-1-x86_64.pkg.tar.zst (from Releases) |
| Debian / Ubuntu | sudo apt install ./fono_0.2.0_amd64.deb (from Releases) |
| Slackware / NimbleX | installpkg fono-0.2.0-x86_64-1.txz (from Releases) |
| NixOS / Nix flake | nix profile install github:bogdanr/fono |
| Any Linux (one-liner) | curl -fsSL https://github.com/bogdanr/fono/releases/latest/download/fono-v0.2.0-x86_64 | sudo install -m755 /dev/stdin /usr/local/bin/fono |
| macOS / Windows | Planned after the Linux-first releases |
fono setup # picks local vs cloud based on your hardware, installs models
fono # starts the daemon (tray + hotkeys)Default hotkeys: F9 to toggle recording, F8 to push-to-talk (hold).
Speak. Text appears at your cursor.
Hot-swap STT, LLM, or both — no daemon restart:
fono use cloud groq # paired preset (Groq STT + Groq LLM)
fono use stt openai # change just STT
fono use local # back to whisper-local + skip LLMAPI keys live in ~/.config/fono/secrets.toml:
fono keys add GROQ_API_KEY # paste at the prompt
fono keys check # reachability probe per stored keyLocal-first. Nothing leaves your machine unless you pick a cloud provider.
No telemetry, ever. See docs/privacy.md.
- Provider matrix — STT + LLM endpoints, env vars, default models.
- Text injection guide — Shift+Insert, override per-app.
- Wayland notes — KDE/GNOME compositor binding.
- Troubleshooting — symptom-first recipes.
Pull requests welcome. See CONTRIBUTING.md for the workflow.
GPL-3.0-only. See LICENSE.