Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-4113GitHub issuePublicReceived

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.

Received and recorded verbatim. Nothing has been checked yet.

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

Elephant watches all of $HOME by default, exhausting inotify watchersrevision 1 · captured 2026-10-04 11:49 UTC via poll

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.