How to set up Walkie on Omarchy

Add Walkie's pacman repository and install walkie-bin, then bind a key in ~/.config/hypr/bindings.lua using Omarchy's o.bind helper — Wayland does not let an app register its own global hotkey, so the compositor holds the key and runs walkie --start-transcription and walkie --stop-transcription on press and release. Optionally add the Walkie bar widget for click-to-dictate. One thing to watch: Omarchy's built-in Voxtype already binds Super + Ctrl + X and F9, so pick different keys if you keep both installed.

Omarchy

This page covers Omarchy specifically. For Arch without Omarchy, Debian, or any other distro, see Walkie on Linux — the install is the same, but the keybinding and bar steps below are Omarchy's own and will not apply.

Setup at a glance

  1. Run the one-line installer — it adds Walkie's pacman repository and installs walkie-bin.Updates then ride omarchy update like any other package.
  2. Bind a key in ~/.config/hypr/bindings.lua, then run hyprctl reload.Wayland cannot let Walkie register its own hotkey, so Hyprland holds the key and runs a Walkie command on press and release.
  3. Hold the key, say a sentence, and release.The text is typed into whatever app has focus. Everything after this — the bar widget, meeting audio, autostart — is optional.

Install Walkie

One command adds Walkie's package repository and installs it. Updates then ride pacman -Syu like everything else on the system, and the installer prints your hotkey setup when it finishes:

curl -fsSL https://trywalkie.com/install.sh | sh

Prefer to see every step? The installer only does this — trust Walkie's package signing key, then add the repository to /etc/pacman.conf once:

curl -fsSL https://b150.s3.us-east-1.amazonaws.com/walkie/arch/x86_64/walkie-signing-key.asc -o /tmp/walkie-key.asc
sudo pacman-key --add /tmp/walkie-key.asc
sudo pacman-key --lsign-key 7D83A6322DEC79B94A9BE087D51158E4F15B9894
# /etc/pacman.conf
[walkie]
SigLevel = Required
Server = https://b150.s3.us-east-1.amazonaws.com/walkie/arch/$arch

Then bring the system up to date through Omarchy's own updater (which also syncs Walkie's repository), and install:

omarchy update
sudo pacman -S walkie-bin

The package pulls in the optional pieces Walkie needs as optdependswtype for typing text, wl-clipboard for the clipboard path, and the PipeWire packages for meeting audio. Omarchy already installs wtype and PipeWire as part of its base system, so on a stock install there is usually nothing more to add.

Bind a key for dictation

Wayland has no protocol that lets an application listen for a global keyboard shortcut, so Walkie's in-app shortcut setting cannot see your keypress. The compositor holds the key instead and runs a Walkie command when it goes down and up. This is the same approach Omarchy uses for its own Voxtype dictation.

Walkie can write this binding for you: during onboarding (and on the home screen banner) it offers a one-click Set up my keys that appends the block below to your config and reloads Hyprland. The manual steps here do exactly the same thing.

Omarchy configures Hyprland through Lua, and your bindings belong in the user-owned file ~/.config/hypr/bindings.lua:

if o.cmd_present("walkie") then
  o.bind("SUPER + CTRL + M", "Walkie dictation (hold to talk)", "walkie --start-transcription")
  o.bind("SUPER + CTRL + M", "Walkie dictation (release)", "walkie --stop-transcription", { release = true })
  o.bind("F10", "Walkie push-to-talk (start)", "walkie --start-transcription")
  o.bind("F10", "Walkie push-to-talk (stop)", "walkie --stop-transcription", { release = true })
end

Walkie tiles like any other window — in a small tile it shows a compact status card, and one click takes it full screen. These keys are chosen to be free on a stock Omarchy: Super + Ctrl + X and F9 belong to the built-in Voxtype, and Super + Ctrl + D opens the Display panel.

Then reload the compositor:

hyprctl reload

If you remove Voxtype

Prefer Voxtype's muscle-memory keys? After sudo pacman -R voxtype-bin, Super + Ctrl + X and F9 are free — swap them into the block above. Just don't run both recorders on the same keys: two things listening to one keypress means two transcriptions.

Add the Walkie bar widget

Walkie can live in your Omarchy bar: it shows whether Walkie is idle, recording, transcribing or in a meeting, and clicking it starts dictation without touching the keyboard. The walkie-bin package ships the widget at /usr/share/walkie/omarchy-plugin/.

  1. Copy the widget into your Omarchy plugins directory.The directory name has to match the plugin id, com.b150.walkie.
  2. Enable it and pick which side of the bar it sits on.--section takes left, center or right.
mkdir -p ~/.config/omarchy/plugins/com.b150.walkie
cp /usr/share/walkie/omarchy-plugin/{manifest.json,BarWidget.qml} \
   ~/.config/omarchy/plugins/com.b150.walkie/
omarchy plugin enable com.b150.walkie --section right
ActionWhat it does
Left clickOpen or focus the Walkie window
Right clickStart dictation; right-click again to transcribe
Middle clickCancel whatever is running
HoverCurrent state, and the meeting clock during a meeting

The icon breathes while the microphone is open, dims when idle, and fades further when Walkie is not running.

Widget settings

Edit the widget's entry in ~/.config/omarchy/shell.json, or set them from the command line with omarchy bar set com.b150.walkie <key> <value>:

KeyDefaultWhat it does
commandwalkieExecutable to call. Use an absolute path for an AppImage install.
hideWhenIdlefalseTake up no space in the bar unless something is happening.
showLabelfalsePrint the state name next to the icon.
fontFamilybar's fontOverride the font used for the icon glyph.
fontSize14Icon size in pixels.

Using another bar

The widget is a thin wrapper around a command any bar can call. walkie status prints one line of Waybar-shaped JSON and exits; walkie status --watch streams a line every time the state changes.

{"text":"<glyph>","alt":"recording","class":"recording","tooltip":"Walkie — recording"}

class carries the state: idle, recording, analyzing, transcribing, thinking, speaking, error, meeting, meeting_paused, or stopped when Walkie is not running. text is a Nerd Font glyph you can ignore in favour of your own. For Waybar:

"custom/walkie": {
  "exec": "walkie status --watch",
  "return-type": "json",
  "format": "{}",
  "tooltip": true,
  "on-click": "walkie --toggle-transcription"
}

Meeting audio

To record the other side of a call, Walkie reads your speakers' monitor source through PipeWire's PulseAudio layer. Omarchy ships PipeWire, but confirm these are present:

sudo pacman -S pipewire-pulse libpulse pipewire-alsa
  • pipewire-pulse and libpulse provide parec and the monitor source Walkie records from.
  • pipewire-alsa is what lets your microphone work at all — without it, recording fails with a device error.

Start Walkie on login

Hyprland ignores the XDG autostart entry Walkie writes, so use the systemd user service instead. The package installs the unit; enable it once:

systemctl --user enable --now walkie

Or, if you would rather keep it in your compositor config:

exec-once = walkie --start-hidden

Check it works

  1. Confirm Walkie is running and reachable.walkie status should print idle rather than stopped.
  2. Hold your push-to-talk key, say a sentence, and release.Try it in a terminal first, then in a browser field — text injection can differ between the two.
  3. Check the bar widget changes state while you hold the key.

Known limitations on Omarchy

  • The recording overlay is off by default. Some compositors treat it as the focused window, which stops Walkie pasting back into the app you were typing in. You can turn it on in Settings if yours behaves.
  • Builds are unsigned, and the pacman repository is unsigned too.
  • Read Aloud's text capture is limited on Wayland. Reading a selection from another app does not work on every compositor yet; dropping a file onto Walkie always does.
  • The bar widget needs a recent Walkie build — the one that added the walkie status command. Against an older build the widget simply shows "not running".

Frequently asked questions about how to set up Walkie on Omarchy

Why does my key start two recordings at once?

Omarchy's built-in Voxtype binds the same Super + Ctrl + X and F9 keys that Walkie's snippet uses. Rebind one of them — see If you also use Voxtype.

Do I need to be in the `input` group?

No. Binding keys in Hyprland — the setup on this page — needs no special permissions. The input group is only required if you switch Walkie's keyboard backend to evdev, or use dotool for typing.

Why does the bar widget say Walkie is not running when it is?

The widget calls walkie on your PATH. If you installed the AppImage or a build from source, point it at the binary: omarchy bar set com.b150.walkie command /full/path/to/walkie.

The tray icon never appears when Walkie autostarts. Why?

The systemd user manager needs the session's Wayland variables. Run systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE, then restart the service.

My hotkey starts a recording but nothing gets typed.

That is text injection, not the hotkey. Install wtypesudo pacman -S wtype — which is what Walkie uses on Hyprland.

Will an Omarchy upgrade break the widget or my bindings?

The widget imports only QtQuick and Quickshell.Io, deliberately avoiding the modules Omarchy versions with itself, so upgrades should leave it alone. Your bindings live in bindings.lua, which Omarchy does not overwrite.

Does dictation still run on-device?

Yes. On-Device Mode behaves exactly as it does on macOS and Windows: audio never leaves your machine. See What leaves your device.

View as markdown
Was this helpful?