OMA-DUCK
OMA-DUCK is an original, theme-aware marsh arcade game that runs natively in the Omarchy Quattro shell. Aim with the mouse or keyboard, clear each round's hit quota, and keep your streak alive as the ducks get faster.
It uses original vector artwork and synthesized sounds. It is not affiliated with or derived from Nintendo's Duck Hunt.
Install
Requires Omarchy 4 or newer with Omarchy Shell enabled. It uses the Python 3 runtime included with Omarchy to safely load its small state file.
omarchy plugin add https://github.com/doctor/omaduck.git --enable
Click the duck in the bar, or launch it directly:
omarchy-shell shell summon io.github.doctor.omaduck '{}'
How to play
Each round sends ten ducks across the marsh. You have three shells per wave. The first two rounds use single-duck waves; later rounds introduce pairs, faster flight, and less time to react. Meet the displayed quota to advance.
- Mouse: move to aim, left-click to fire
- Arrow keys or
W/A/S/D: move the reticle Space: fireP: pause or resumeM: mute or unmuteR: return to the ready screenEnter: start, continue, or restartEscape: close
Privacy and state
OMA-DUCK has no network access, accounts, telemetry, services, installers, or privileged commands. It writes only high score, highest round, aggregate accuracy statistics, and the mute preference to:
${XDG_STATE_HOME:-~/.local/state}/omaduck/state.json
Closing the overlay ends the active run. Removing the plugin leaves this small state file in place so a reinstall preserves your records.
Update and remove
omarchy plugin update io.github.doctor.omaduck
omarchy plugin remove io.github.doctor.omaduck
Development
npm test
npm run assets
omarchy plugin validate .
The checked-in WAV files are generated deterministically by
tools/generate-sfx.cjs. Plugins execute as unsandboxed code inside Omarchy's
long-running shell, so review third-party plugin source before enabling it.
License
MIT © 2026 Doctor