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-4820GitHub issuePublicReceived

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.

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

omarchy default editor sublime_text silently falls back to nvimrevision 1 · captured 2026-10-04 12:03 UTC via poll

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:
   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:

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.

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.