Installation¶
Prerequisites¶
- macOS: Homebrew
- Linux: a Debian/Ubuntu-based system (other distros: install from source)
Everything else (Python 3.11, dependencies) is installed automatically.
macOS¶
Install¶
brew install dragfly/tap/dictare
This:
- Installs Dictare and all dependencies via Homebrew
- Downloads the signed hotkey launcher (
~/Applications/Dictare.app) - Registers a launchd service (
dev.dragfly.dictare) - Downloads the STT model on first run
Permissions¶
Dictare needs three permissions on macOS:
- Microphone — prompted automatically on first launch. Grant it.
- Input Monitoring — after granting microphone, macOS opens Privacy & Security > Input Monitoring. You'll see Dictare listed but disabled. Enable it, enter your password, then restart the service:
dictare service restart
- Accessibility — needed for keyboard mode (typing into other apps). Grant it in System Settings > Privacy & Security > Accessibility.
Hotkey¶
The default hotkey on macOS is Right Command (KEY_RIGHTMETA).
- Single press: enable/disable microphone
- Double-tap: submit transcription
- Right Alt + hotkey: toggle mode (agents/keyboard)
Service Management¶
dictare service start # Start the background engine
dictare service stop # Stop it
dictare service restart # Restart after config changes
dictare service status # Check if running
dictare service logs # View service logs
The service plist lives at ~/Library/LaunchAgents/dev.dragfly.dictare.plist.
Linux¶
Install¶
curl -fsSL https://raw.githubusercontent.com/dragfly/dictare/main/install.sh | bash
Permissions¶
Dictare needs two things on Linux:
- Input group — required for the global hotkey (evdev, works on both X11 and Wayland):
sudo usermod -aG input $USER
Log out and back in for the group change to take effect.
- ydotool — required for keyboard mode on Wayland:
sudo apt install ydotool
Hotkey¶
The default hotkey on Linux is Scroll Lock (KEY_SCROLLLOCK).
Service Management¶
The install script creates a systemd user service:
systemctl --user start dictare
systemctl --user stop dictare
systemctl --user restart dictare
systemctl --user status dictare
journalctl --user -u dictare -f
Or use the Dictare CLI:
dictare service start
dictare service stop
dictare service status
Development Setup¶
To run from source without installing:
git clone https://github.com/dragfly/dictare
cd dictare
uv run --python 3.11 dictare service start
All CLI commands work with the uv run --python 3.11 prefix during development.
Uninstall¶
macOS¶
dictare service uninstall
This stops the service, removes the launchd plist, and unlinks the Homebrew formula.
Linux¶
dictare service uninstall
This stops and disables the systemd service.