Snake

The build's compiling. The agent's still thinking. The good idea hasn't shown up yet. This is what you do instead of doomscrolling: a fully playable Snake, one click away in your Omarchy top bar.
It's a self-contained bar-widget plugin for Omarchy's
shell, in the same style as the built-in Audio, Network, and Bluetooth
widgets: one bar icon, one popup panel.
Install
omarchy plugin add https://github.com/jhgundersen/omarchy-snake-plugin.git --enable
For local development, install it with the command above and edit the checkout
at ~/.config/omarchy/plugins/jhgundersen.snake. Omarchy reloads plugin changes
automatically.
Uninstall
omarchy plugin remove jhgundersen.snake
Or disable it without removing the files:
omarchy plugin disable jhgundersen.snake
Playing
Click the snake icon in the bar to open the panel. Each open starts a fresh run.
- Arrow keys,
hjkl, orwasd— steer - Space — pause/resume, or restart after a game over
m, or themode(m)label under the board — toggle between Levels and Endless modeb, or theborders(b)label — toggle solid walls (default, running into an edge ends the run) vs. wrapping walls (stepping off one side re-enters from the opposite side)f, thefood(f)label, or clicking the board — cosmetic easter egg: cycles the food skin. Your choice is remembered for next time.- Esc — close the panel
Levels

Two modes, swap with m:
- Levels (default) — the header shows your current level and a thin progress bar tracks score toward the next one. You start on Level 1 with an open board. From level 2 on, each level lays out a different wall pattern to route around — a bar with a gap, a cross, a ring, pillars, and a few more — cycling forever through 8 shapes. Each new cycle adds one point to the score needed per level and speeds up the snake, down to a playable speed floor. The obstacle gaps narrow for the first three cycles before holding at their tightest. Between levels, the completed board fades into the next layout behind a brief victory overlay that tells you how long the level took and offers an appropriately underwhelming celebration. Leveling up respawns the snake on a clear patch of the new layout (score and best carry over; cosmetic settings don't change).
- Endless — the classic game: open board, no obstacles, no leveling, score just climbs.
Persistence
Your best score (tracked separately for Levels and Endless, since they're
not really comparable), lifetime playtime (shown off in some of the
game-over lines), chosen food skin, and border setting survive shell
restarts — kept as JSON in
~/.local/state/omarchy/plugins/jhgundersen.snake/state.json, written on
death, on closing the panel, and on changing a remembered setting.
Files
manifest.json— plugin manifest (bar-widgetkind)Panel.qml— bar icon + popup panel + game logic, all in one entry pointpreview.png— marketplace listing screenshotscreenshot-levels.png— levels/obstacles screenshotLICENSE— MIT
License
MIT — see LICENSE. No external dependencies beyond the Omarchy
shell APIs (qs.Ui, qs.Commons) it runs inside.