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

Flatpak Support In omarchy menu

Reported by tristonarmstrong · filed Sep 22, 2025Closed upstream on 2025-09-23 by its own reporter tristonarmstrong. GitHub close reason: completed. Closed by its own reporter — not by itself 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

Flatpak Support In omarchy menurevision 1 · captured 2026-10-04 11:35 UTC via poll
PSA: I have no idea what im doing

I know Omarchy is opinionated and not sure how it feels about flatpaks, but for people like me who prefer flatpaks when possible, I added it to the walker menu.

If this is going to be considered for addition to omarchy, obviously either flatpak will need to be preinstalled (which people might not like) or the menu will need to dynamically populate based on whether or not flatpak is installed or not.

or either prompt the user to install it first, or install it for them.. Personally think these are jank

_Prerequisites:_
- install flatpak with install > package > flatpak from omarchy menu


updated the following functions ("others" is existing code)
> before updating the function, copy the file from the ~/.local/share/omarchy/bin and place it in ~/.local/bin

file: /omarchy-menu

show_install_menu() {
  case $(menu "...others \n Flatpak") in
  ... others
  *Flatpak*) terminal omarchy-flatpak-install ;;
  esac
}

show_remove_menu() {
  case $(menu "...others \n Flatpak") in
  ...others 
  *Flatpak*) terminal omarchy-flatpak-remove ;;
  esac
}

And added the following shell scripts:
> place these in ~/.local/bin

file: /omarchy-flatpak-remove

#!/bin/bash

# some flatpak app names are space seperated and thus we need to traverse until we find
# the id of the flatpak which must contain a minimum of 2 dots
extract_dotted() {
    awk '{
        for (i = 1; i <= NF; i++) {
            if (gsub(/\./, "&", $i) >= 2) {
                print $i
            }
        }
    }'
}

fzf_args=(
  --multi
  --preview 'flatpak info $(echo {} | awk "{for (i = 1; i <= NF; i++) { if (gsub(/\\./, \"&\", \$i) >= 2) { print \$i; exit } }}")' # redudant reuse of extract_dotted func. Could abstract to util bin
  --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize'
  --preview-label-pos='bottom'
  --preview-window 'down:65%:wrap'
  --bind 'alt-p:toggle-preview'
  --bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
  --bind 'alt-k:preview-up,alt-j:preview-down'
  --color 'pointer:red,marker:red'
)

pkg_names=$(flatpak list --app | fzf "${fzf_args[@]}")

if [[ -n "$pkg_names" ]]; then
  val=$(echo "$pkg_names" | extract_dotted)
  echo "$pkg_names" | extract_dotted | xargs flatpak remove -y
  omarchy-show-done
fi

file: /omarchy-flatpak-install

#!/bin/bash

fzf_args=(
  --multi
  --preview 'flatpak remote-info flathub {2}'
  --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize'
  --preview-label-pos='bottom'
  --preview-window 'down:65%:wrap'
  --bind 'alt-p:toggle-preview'
  --bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
  --bind 'alt-k:preview-up,alt-j:preview-down'
  --color 'pointer:green,marker:green'
)

pkg_names=$(flatpak remote-ls | fzf "${fzf_args[@]}")

if [[ -n "$pkg_names" ]]; then
  echo "$pkg_names"
  echo "$pkg_names" | awk '{print $2}'
  # Convert newline-separated selections to space-separated for yay
  echo "$pkg_names" | awk '{print $2}' | xargs flatpak install -y
  omarchy-show-done
fi

Make sure to mark them as executable with the command chmod +x ~/.local/bin/*
---

Tips

vscode (electron)

For something like vscode, you may need to run some of these commands:
Visual Studio Code (Flatpak) not launching

flatpak override --user --nosocket=wayland com.visualstudio.code;
flatpak override --user com.visualstudio.code --filesystem=host --socket=x11 --socket=wayland;

And i suspect this is the case for other electron based flatpaks as well

omarchy-menu hotkey

omarchy-menu command should point to the new bin file we creted (can varify in terminal), but when using the hotkey, it loads up the one in the omarchy bin directory. So youll need to do something to override this. What i did was:

file: ~/.config/hypr/bindings.conf

... others
unbind = SUPER ALT, SPACE
bindd = SUPER ALT, SPACE, Omarchy menu, exec, ~/.local/bin/omarchy-menu
View raw text
> PSA: I have no idea what im doing

I know Omarchy is opinionated and not sure how it feels about flatpaks, but for people like me who prefer flatpaks when possible, I added it to the walker menu.

If this is going to be considered for addition to omarchy, obviously either flatpak will need to be preinstalled (which people might not like) or the menu will need to dynamically populate based on whether or not flatpak is installed or not.

_or either prompt the user to install it first, or install it for them.. Personally think these are jank_ 

__Prerequisites:__
- install flatpak with `install > package > flatpak` from omarchy menu

---

updated the following functions (_"others" is existing code_)
> before updating the function, copy the file from the `~/.local/share/omarchy/bin` and place it in `~/.local/bin`

`file: /omarchy-menu`
```bash
show_install_menu() {
  case $(menu "...others \n Flatpak") in
  ... others
  *Flatpak*) terminal omarchy-flatpak-install ;;
  esac
}

show_remove_menu() {
  case $(menu "...others \n Flatpak") in
  ...others 
  *Flatpak*) terminal omarchy-flatpak-remove ;;
  esac
}
```

---

And added the following shell scripts:
> place these in `~/.local/bin`

`file: /omarchy-flatpak-remove`
```bash
#!/bin/bash

# some flatpak app names are space seperated and thus we need to traverse until we find
# the id of the flatpak which must contain a minimum of 2 dots
extract_dotted() {
    awk '{
        for (i = 1; i <= NF; i++) {
            if (gsub(/\./, "&", $i) >= 2) {
                print $i
            }
        }
    }'
}

fzf_args=(
  --multi
  --preview 'flatpak info $(echo {} | awk "{for (i = 1; i <= NF; i++) { if (gsub(/\\./, \"&\", \$i) >= 2) { print \$i; exit } }}")' # redudant reuse of extract_dotted func. Could abstract to util bin
  --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize'
  --preview-label-pos='bottom'
  --preview-window 'down:65%:wrap'
  --bind 'alt-p:toggle-preview'
  --bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
  --bind 'alt-k:preview-up,alt-j:preview-down'
  --color 'pointer:red,marker:red'
)

pkg_names=$(flatpak list --app | fzf "${fzf_args[@]}")

if [[ -n "$pkg_names" ]]; then
  val=$(echo "$pkg_names" | extract_dotted)
  echo "$pkg_names" | extract_dotted | xargs flatpak remove -y
  omarchy-show-done
fi
```

`file: /omarchy-flatpak-install`
```bash
#!/bin/bash

fzf_args=(
  --multi
  --preview 'flatpak remote-info flathub {2}'
  --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select, F11: maximize'
  --preview-label-pos='bottom'
  --preview-window 'down:65%:wrap'
  --bind 'alt-p:toggle-preview'
  --bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
  --bind 'alt-k:preview-up,alt-j:preview-down'
  --color 'pointer:green,marker:green'
)

pkg_names=$(flatpak remote-ls | fzf "${fzf_args[@]}")

if [[ -n "$pkg_names" ]]; then
  echo "$pkg_names"
  echo "$pkg_names" | awk '{print $2}'
  # Convert newline-separated selections to space-separated for yay
  echo "$pkg_names" | awk '{print $2}' | xargs flatpak install -y
  omarchy-show-done
fi
```

Make sure to mark them as executable with the command `chmod +x ~/.local/bin/*`
---

### Tips
#### vscode (electron)
For something like vscode, you may need to run some of these commands:
[Visual Studio Code (Flatpak) not launching](https://github.com/YaLTeR/niri/issues/1731#issuecomment-3217469702)
```bash
flatpak override --user --nosocket=wayland com.visualstudio.code;
flatpak override --user com.visualstudio.code --filesystem=host --socket=x11 --socket=wayland;
```

And i suspect this is the case for other electron based flatpaks as well

#### omarchy-menu hotkey
omarchy-menu command should point to the new bin file we creted (can varify in terminal), but when using the hotkey, it loads up the one in the omarchy bin directory. So youll need to do something to override this. What i did was:

`file: ~/.config/hypr/bindings.conf`
```bash
... others
unbind = SUPER ALT, SPACE
bindd = SUPER ALT, SPACE, Omarchy menu, exec, ~/.local/bin/omarchy-menu
```

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

  • Related PRpr/9908· confirmed
  • Related PRpr/9909· confirmed

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.