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.
omarchy-provision-user recreates default XDG folders even when user has already customized user-dirs.dirs
Reported by gallagherman · filed Aug 22, 2026 · open at source
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?
- AreaOutside the audited area· Decided by agents · verified
- 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?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
System details
12th Gen Intel(R) Core(TM) i7-1260P, Iris Xe Graphics, Omarchy 4.0.0 (Quattro), upgraded from Omarchy 3.x
What's wrong?
omarchy-provision-user unconditionally runs:
mkdir -p ~/Downloads ~/Pictures ~/Videos ~/.config/gtk-3.0
xdg-user-dirs-update --set TEMPLATES "$HOME"
xdg-user-dirs-update --set PUBLICSHARE "$HOME"
xdg-user-dirs-update --set DESKTOP "$HOME"
rmdir ~/Templates ~/Public ~/Desktop 2>/dev/null || true
touch ~/.config/gtk-3.0/bookmarks
for dir in Downloads Projects Pictures Videos; do
bookmark="file://$HOME/$dir $dir"
grep -qxF "$bookmark" ~/.config/gtk-3.0/bookmarks || echo "$bookmark" >>~/.config/gtk-3.0/bookmarks
doneThis creates ~/Downloads, ~/Pictures, and ~/Videos using default names, regardless of what's already configured in ~/.config/user-dirs.dirs. It doesn't check whether the user has already pointed those XDG dirs somewhere else — any custom location, name, or structure — before creating new, duplicate, default-named directories.
Reproduction steps
- On Omarchy 3.x, customize one or more XDG user dirs to a location other than Omarchy's default (renamed, moved, merged with another folder, etc.) and update
~/.config/user-dirs.dirsaccordingly (e.g.XDG_PICTURES_DIR="$HOME/some-custom-path"). - Confirm
user-dirs.dirscorrectly reflects the custom paths and everything resolves correctly (xdg-user-dir PICTURESreturns the custom path). - Update to Omarchy 4.0.
- Observe that
~/Pictures,~/Downloads,~/Videos(Omarchy's defaults) now exist again as empty duplicate folders alongside the custom ones the user was actually using — despiteuser-dirs.dirsnever having been reverted.
Expected behavior
If an XDG user dir is already set in user-dirs.dirs and the target directory exists, omarchy-provision-user should leave it alone rather than creating a second, default-named directory alongside it.
Suggested fix
Check for existing, valid XDG dirs before creating the default directories. If they exist use these for the gtk-3.0 bookmarks.
View raw text
### System details 12th Gen Intel(R) Core(TM) i7-1260P, Iris Xe Graphics, Omarchy 4.0.0 (Quattro), upgraded from Omarchy 3.x ### What's wrong? `omarchy-provision-user` unconditionally runs: ```bash mkdir -p ~/Downloads ~/Pictures ~/Videos ~/.config/gtk-3.0 xdg-user-dirs-update --set TEMPLATES "$HOME" xdg-user-dirs-update --set PUBLICSHARE "$HOME" xdg-user-dirs-update --set DESKTOP "$HOME" rmdir ~/Templates ~/Public ~/Desktop 2>/dev/null || true touch ~/.config/gtk-3.0/bookmarks for dir in Downloads Projects Pictures Videos; do bookmark="file://$HOME/$dir $dir" grep -qxF "$bookmark" ~/.config/gtk-3.0/bookmarks || echo "$bookmark" >>~/.config/gtk-3.0/bookmarks done ``` This creates `~/Downloads`, `~/Pictures`, and `~/Videos` using default names, regardless of what's already configured in `~/.config/user-dirs.dirs`. It doesn't check whether the user has already pointed those XDG dirs somewhere else — any custom location, name, or structure — before creating new, duplicate, default-named directories. ## Reproduction steps 1. On Omarchy 3.x, customize one or more XDG user dirs to a location other than Omarchy's default (renamed, moved, merged with another folder, etc.) and update `~/.config/user-dirs.dirs` accordingly (e.g. `XDG_PICTURES_DIR="$HOME/some-custom-path"`). 2. Confirm `user-dirs.dirs` correctly reflects the custom paths and everything resolves correctly (`xdg-user-dir PICTURES` returns the custom path). 3. Update to Omarchy 4.0. 4. Observe that `~/Pictures`, `~/Downloads`, `~/Videos` (Omarchy's defaults) now exist again as empty duplicate folders alongside the custom ones the user was actually using — despite `user-dirs.dirs` never having been reverted. ## Expected behavior If an XDG user dir is already set in `user-dirs.dirs` and the target directory exists, `omarchy-provision-user` should leave it alone rather than creating a second, default-named directory alongside it. ## Suggested fix Check for existing, valid XDG dirs before creating the default directories. If they exist use these for the gtk-3.0 bookmarks.
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.
- Out of scopeDecided by agents · verified · 2026-10-09 08:21 UTC