Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Elephant watches all of $HOME by default, exhausting inotify watchers
Reported by n8himmel · filed Feb 13, 2026Closed upstream on 2026-07-18 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
System details
Omarchy on Arch Linux, default elephant configuration (no ~/.config/elephant/files.toml).
What's wrong?
Without a files.toml, elephant's file provider watches every directory under `$HOME` recursively. On a typical developer machine this easily consumes 400K–500K inotify watchers — hitting the system limit of 524,288 and breaking other tools that need file watchers (browser-sync, VS Code, webpack, etc.).
On my system, elephant alone grabbed ~487K watchers. Hidden directories (.cache, .cargo, .npm, .m2, etc.) accounted for ~130K of those, the Go module cache another ~37K, and none of these ever produce useful search results in Walker.
Workaround
Creating ~/.config/elephant/files.toml with an explicit search_dirs fixes it:
search_dirs = [
"/home/user/.local/share/applications",
"/home/user/.local/share/AppImage",
"/home/user/apps",
]After restarting elephant, watchers dropped from ~487K to 124.
Suggestion
Ship a default files.toml (or change the built-in default) that excludes at least:
- Hidden directories (
.*) — caches, package managers, toolchains - Known heavy/useless dirs like
go/pkg/mod,node_modules - Network mounts (inotify doesn't work on CIFS/NFS anyway)
Even a simple exclusion of .* would save ~130K watchers on most systems. Alternatively, the default search_dirs could target common user directories (~/Documents, ~/Downloads, ~/projects, etc.) instead of all of $HOME.
View raw text
### System details Omarchy on Arch Linux, default elephant configuration (no `~/.config/elephant/files.toml`). ### What's wrong? Without a `files.toml`, elephant's file provider watches **every directory under `$HOME`** recursively. On a typical developer machine this easily consumes 400K–500K inotify watchers — hitting the system limit of 524,288 and breaking other tools that need file watchers (browser-sync, VS Code, webpack, etc.). On my system, elephant alone grabbed ~487K watchers. Hidden directories (`.cache`, `.cargo`, `.npm`, `.m2`, etc.) accounted for ~130K of those, the Go module cache another ~37K, and none of these ever produce useful search results in Walker. ### Workaround Creating `~/.config/elephant/files.toml` with an explicit `search_dirs` fixes it: ```toml search_dirs = [ "/home/user/.local/share/applications", "/home/user/.local/share/AppImage", "/home/user/apps", ] ``` After restarting elephant, watchers dropped from ~487K to 124. ### Suggestion Ship a default `files.toml` (or change the built-in default) that excludes at least: - Hidden directories (`.*`) — caches, package managers, toolchains - Known heavy/useless dirs like `go/pkg/mod`, `node_modules` - Network mounts (inotify doesn't work on CIFS/NFS anyway) Even a simple exclusion of `.*` would save ~130K watchers on most systems. Alternatively, the default `search_dirs` could target common user directories (`~/Documents`, `~/Downloads`, `~/projects`, etc.) instead of all of `$HOME`.
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.