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 default editor sublime_text silently falls back to nvim
Reported by Dr-DeBugg · filed Sep 1, 2026Closed upstream on 2026-09-01 by its own reporter Dr-DeBugg, as a duplicate of #9643 (R-4818). GitHub close reason: not_planned.
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
What happened
Installing Sublime Text via Omarchy's own installer (Menu → Install → Editor → Sublime Text) and then setting it as the default editor (via omarchy default editor sublime_text, or the equivalent Menu → Setup → Default Editor → Sublime Text entry) silently fails: $EDITOR <file> keeps opening Neovim instead of Sublime Text, with no error anywhere.
Expected behavior
After installing Sublime Text via Omarchy's installer and selecting it as the default editor, $EDITOR <file> (and anything else that shells out via omarchy-launch-editor) should open the file in Sublime Text.
Root cause
The install step itself is fine — install.editor.sublime in omarchy-menu.jsonc runs:
omarchy-install-and-launch 'Sublime Text' sublime-text-4 sublime_textThat installs the sublime-text-4 package and launches it via gtk-launch sublime_text (the .desktop file is correctly named sublime_text.desktop), so this part works.
The problem is that every place downstream treats `sublime_text` as if it were also the name of a `PATH` command, but the sublime-text-4 package doesn't ship one:
$ pacman -Ql sublime-text-4 | grep -iE "bin/|/sublime_text$"
sublime-text-4 /opt/sublime_text/sublime_text
sublime-text-4 /usr/bin/
sublime-text-4 /usr/bin/sublThe real binary lives at /opt/sublime_text/sublime_text (not on PATH); the only thing on PATH is the wrapper /usr/bin/subl. command -v sublime_text therefore always fails. This bites in (at least) two places:
- `omarchy-menu.jsonc`, `setup.default.editor.sublime` (the "Set Default Editor → Sublime Text" menu entry) gates itself on
"when":"omarchy-cmd-present sublime_text". Since that's always false, this menu entry may not even become selectable/visible after installing via the official installer. - `omarchy-launch-editor` re-validates the stored default every time it runs:
omarchy-cmd-present "$editor" || editor="nvim" Since sublime_text never passes omarchy-cmd-present, it silently resets to nvim on every launch — no error, so it just looks like the setting was ignored.
Steps to reproduce
- Install Sublime Text via Omarchy's own installer: Menu → Install → Editor → Sublime Text (or
omarchy-install-and-launch 'Sublime Text' sublime-text-4 sublime_text, same thing headless). - Set it as default editor:
omarchy default editor sublime_text. $EDITOR ~/.bashrc→ opens in Neovim, not Sublime Text.
Suggested fix
Use the actual PATH command (subl) wherever Sublime Text's launch command is checked/stored, while keeping sublime_text only as the .desktop id for gtk-launch:
omarchy-default-editor:sublime_text) editor="subl"; name="Sublime Text"; …omarchy-menu.jsoncsetup.default.editor.sublime:when/checkedshould test/compare againstsubl, notsublime_text.
Workaround
Symlinking a sublime_text command onto PATH that points at subl makes the existing checks pass:
mkdir -p ~/.local/bin
ln -sf /usr/bin/subl ~/.local/bin/sublime_textSystem info
- Omarchy: 4.0.1-1
- Hyprland: 0.56.2
- Kernel: 7.1.9-arch1-2 (arch x86_64)
- Distro: Omarchy
- sublime-text-4 package: 4.4200-1
- GPU: AMD Radeon RX 6800/6800 XT (amdgpu)
- CPU: AMD Ryzen 5 5600X
Full omarchy-debug --no-sudo --print output available on request.
Edit: corrected the repro to reflect installing via Omarchy's own installer (Menu → Install → Editor → Sublime Text) rather than a raw `pacman`/`omarchy pkg add` call, and added the `omarchy-menu.jsonc` `setup.default.editor.sublime` entry, which has the same broken `omarchy-cmd-present sublime_text` check.
View raw text
## What happened Installing Sublime Text via Omarchy's own installer (Menu → Install → Editor → Sublime Text) and then setting it as the default editor (via `omarchy default editor sublime_text`, or the equivalent Menu → Setup → Default Editor → Sublime Text entry) silently fails: `$EDITOR <file>` keeps opening Neovim instead of Sublime Text, with no error anywhere. ## Expected behavior After installing Sublime Text via Omarchy's installer and selecting it as the default editor, `$EDITOR <file>` (and anything else that shells out via `omarchy-launch-editor`) should open the file in Sublime Text. ## Root cause The install step itself is fine — `install.editor.sublime` in `omarchy-menu.jsonc` runs: ``` omarchy-install-and-launch 'Sublime Text' sublime-text-4 sublime_text ``` That installs the `sublime-text-4` package and launches it via `gtk-launch sublime_text` (the `.desktop` file is correctly named `sublime_text.desktop`), so this part works. The problem is that **every place downstream treats `sublime_text` as if it were also the name of a `PATH` command**, but the `sublime-text-4` package doesn't ship one: ``` $ pacman -Ql sublime-text-4 | grep -iE "bin/|/sublime_text$" sublime-text-4 /opt/sublime_text/sublime_text sublime-text-4 /usr/bin/ sublime-text-4 /usr/bin/subl ``` The real binary lives at `/opt/sublime_text/sublime_text` (not on `PATH`); the only thing on `PATH` is the wrapper `/usr/bin/subl`. `command -v sublime_text` therefore always fails. This bites in (at least) two places: 1. **`omarchy-menu.jsonc`, `setup.default.editor.sublime`** (the "Set Default Editor → Sublime Text" menu entry) gates itself on `"when":"omarchy-cmd-present sublime_text"`. Since that's always false, this menu entry may not even become selectable/visible after installing via the official installer. 2. **`omarchy-launch-editor`** re-validates the stored default every time it runs: ```bash omarchy-cmd-present "$editor" || editor="nvim" ``` Since `sublime_text` never passes `omarchy-cmd-present`, it silently resets to `nvim` on every launch — no error, so it just looks like the setting was ignored. ## Steps to reproduce 1. Install Sublime Text via Omarchy's own installer: Menu → Install → Editor → Sublime Text (or `omarchy-install-and-launch 'Sublime Text' sublime-text-4 sublime_text`, same thing headless). 2. Set it as default editor: `omarchy default editor sublime_text`. 3. `$EDITOR ~/.bashrc` → opens in Neovim, not Sublime Text. ## Suggested fix Use the actual `PATH` command (`subl`) wherever Sublime Text's launch command is checked/stored, while keeping `sublime_text` only as the `.desktop` id for `gtk-launch`: - `omarchy-default-editor`: `sublime_text) editor="subl"; name="Sublime Text"; …` - `omarchy-menu.jsonc` `setup.default.editor.sublime`: `when`/`checked` should test/compare against `subl`, not `sublime_text`. ## Workaround Symlinking a `sublime_text` command onto `PATH` that points at `subl` makes the existing checks pass: ```bash mkdir -p ~/.local/bin ln -sf /usr/bin/subl ~/.local/bin/sublime_text ``` ## System info - Omarchy: 4.0.1-1 - Hyprland: 0.56.2 - Kernel: 7.1.9-arch1-2 (arch x86_64) - Distro: Omarchy - sublime-text-4 package: 4.4200-1 - GPU: AMD Radeon RX 6800/6800 XT (amdgpu) - CPU: AMD Ryzen 5 5600X Full `omarchy-debug --no-sudo --print` output available on request. --- *Edit: corrected the repro to reflect installing via Omarchy's own installer (Menu → Install → Editor → Sublime Text) rather than a raw `pacman`/`omarchy pkg add` call, and added the `omarchy-menu.jsonc` `setup.default.editor.sublime` entry, which has the same broken `omarchy-cmd-present sublime_text` check.*
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.