A living Physarum polycephalum simulation in your Omarchy bar. Feeds on system activity, avoids your cursor, grows networks between busy windows.
- Living colony in your bar — horizontal slice shows trail activity in real-time
- Full-screen overlay — zoomable, pannable view of the entire colony across all monitors
- Feeds on your activity — CPU load, RAM pressure, network I/O, focused windows, terminal output
- Avoids your cursor — mouse acts as repellent; mold flows around it
- Theme-aware — colors sync with your Omarchy theme automatically
- Persistent — colony survives reboots, Hyprland reloads, suspend/resume
- Zero external dependencies — pure Python stdlib, no
pip installneeded
# One-line install via omarchy CLI
omarchy plugin add https://github.com/bitshaker/omaslime.git --enable
# Or manual install
git clone https://github.com/bitshaker/omaslime.git
cd omaslime
./install.sh| Action | Result |
|---|---|
| Click bar widget | Open full-screen colony overlay |
| Scroll on bar widget | Pan vertical slice (view different workspace rows) |
SUPER+M | Toggle overlay (configure in Hyprland keybinds) |
| Overlay: Mouse drag | Pan view |
| Overlay: Mouse wheel | Zoom |
Overlay: H | Toggle HUD |
Overlay: W | Toggle window rectangles |
Overlay: C | Toggle cursor repellent visualization |
Overlay: ESC | Close overlay |
Edit ~/.config/omarchy/plugins/bitshaker.omaslime/config.toml:
[simulation]
tick_rate_hz = 10# Simulation speed (Hz)max_agents = 5000# Max agent countdiffusion_rate = 0.12# Trail spread speedevaporation_rate = 0.015# Trail fade speeddeposition_rate = 0.05# Trail deposit amount
[food]
cpu_weight = 1.0# CPU load → foodram_weight = 0.3# RAM pressure → foodnetwork_weight = 0.5# Network I/O → foodfocus_weight = 2.0# Focused window → fooddecay_half_life_sec = 30# Food persistence
[repellent]
cursor_radius_px = 200# Cursor repellent radiuscursor_strength = 1.5# Repellent strength
[visual]
colors_follow_theme = true# Use Omarchy theme colors
[persistence]
auto_save_interval_sec = 300save_on_exit = trueHybrid agent-based + grid diffusion:
- Agents (scouts, harvesters, connectors, spores) explore, seek food, form networks
- Grid fields (256×144) handle trail diffusion, evaporation, food/repellent spread via GPU shaders
- 10 Hz tick decoupled from 60 fps render
| Type | Ratio | Behavior |
|---|---|---|
| Scout | 40% | Random walk + weak chemotaxis, explores new territory |
| Harvester | 35% | Seeks nearest food, thickens trail on return path |
| Connector | 15% | Targets two food sources, forms loops (anastomosis) |
| Spore | 10% | Dormant until food appears, then blooms |
| Source | Trigger | Weight |
|---|---|---|
| CPU | Per-core load > 10% | 1.0 |
| RAM | Usage > 30% | 0.3 |
| Network | I/O bursts > 0.1 MB/s | 0.5 |
| Window Focus | Active window | 2.0 |
| Terminal | High scroll/output rate | 0.8 |
- Mouse cursor — circular gradient (configurable radius/strength)
- Idle workspaces — low-grade repellent after 5 min inactivity
- Fullscreen apps — barrier (mold grows around, not over)
omarchy-slime-mold/
├── manifest.json # Plugin metadata (Omarchy v1 schema)
├── BarWidget.qml # Bar item (shader + click handler)
├── Overlay.qml # Full-screen panel (zoom/pan, HUD, minimap)
├── config.toml.example # Configuration template
├── install.sh # Installer (systemd service + plugin registration)
├── uninstall.sh # Clean removal
├── src/
│ ├── main.py # Simulation coordinator (stdlib only)
│ └── sim/
│ ├── agent.py # Agent behaviors (scout/harvester/connector/spore)
│ ├── field.py # Grid fields (diffusion, evaporation, deposition)
│ ├── food.py # Food source management
│ └── persistence.py # Save/load (gzip JSON)
└── LICENSE
Hyprland events ──┐
/proc/stat ───────┤
/proc/meminfo ────┼──► Python simulation (10 Hz)
/proc/net/dev ────┤ │
▼ ▼
Field updates Agent updates
│ │
▼ ▼
Shared memory (mmap) ◄── QML ShaderEffect (60 fps)
│
▼
BarWidget.qml / Overlay.qml
cd omarchy-slime-mold
python3 src/main.pySlimeMoldSimulation— main loop, Hyprland bridge, system metricsAgentManager— population, birth/death, type behaviorsFieldManager— diffusion/evaporation on 4-channel gridFoodManager— source spawn/decay/mergeStateManager— gzip JSON persistence
sim.food_manager.add_food_source(x, y, strength=0.5, food_type="custom")sim.field_manager.add_repellent(grid_x, grid_y, radius, strength)| Component | Target |
|---|---|
| Simulation tick (5000 agents) | < 5 ms |
| Field update (256×144) | < 2 ms |
| Shared memory write | < 1 ms |
| Bar render (shader) | < 0.5 ms |
| Overlay render (4K) | < 4 ms |
| Memory | ~30 MB |
Auto-scales agent count if FPS drops.
./uninstall.sh
# Or
omarchy plugin remove bitshaker.omaslimeRemoves plugin directory, systemd service, and optionally user data.
MIT — see LICENSE
- Inspired by Physarum polycephalum maze-solving experiments
- Built for Omarchy Quattro
- Uses Quickshell shader pipeline
