A launcher-style package search for Omarchy that hunts on three package ecosystems at once — Arch repos, Flathub and the AUR — and installs results with a quick arm-and-confirm, straight from your top bar.
Search anything FOSS: type a package name, or browse by what it does ("video editing", "browser", "chat"). Every result card shows real, live-scraped metadata: version, repository, architecture, license, homepage and last-updated date — with install buttons for each package source.
FossFetch — Browse open-source packages · Pacman + AUR + Flathub
Three tabs, each backed by a live search (no stale curated lists):
| Tab | Source | Live query |
|---|---|---|
| Pacman | Arch repos (core / extra / multilib) | pacman -Ss |
| Flatpak | Flathub | flatpak search + Flathub AppStream catalog |
| AUR | Arch User Repository | AUR RPC name-desc search |
Both the Pacman and Flatpak tabs support natural-language category browsing
— enter a phrase like video editing, browser, music, terminal or
discord and matching AppStream-category members surface first, then ranked
name matches. The keyword → category mapping lives in groups.keywords
and is shared by the Arch and Flathub group matchers.
Results are enriched on the fly:
- Version · Repo · Arch from
pacman -Si(batched into one subprocess). - License from
pacman -Si/flatpak info --show-metadata. - Homepage / GitHub link (opens externally).
- Last updated — pacman
Build Date, AURLastModified, or Flathub release timestamps — shown in the bottom-left of each card. - App icons: Arch's published AppStream icon catalog, Flathub icons, plus a
local fallback that extracts an icon from installed packages via
pacman -Ql.
Each card shows install buttons for the matching sources (a Pacman result may offer Pacman and a Flathub/AUR equivalent). First click arms ("Confirm?"); a second click runs the real command in your terminal:
| Button | Command |
|---|---|
| Pacman | sudo pacman -S --needed <pkg> |
| yay / paru | yay -S --needed <pkg> / paru -S --needed <pkg> |
| Flatpak | flatpak install --assumeyes flathub <appid> |
The terminal is read from $TERMINAL / $TERMINAL_CMD and falls back to
kitty. Pacman and Flatpak install attempts run independently, so arming one
never conflicts with another.
The "Find App" pill in the bar restyles itself live. Choose from the options panel: Current, Outline, Soft, Bold, Minimal, Icon (a bare magnifying-glass glyph). The setting is pushed to the bar widget in real time and persists.
- Toggle the AUR and Flatpak tabs on/off.
- Choose the AUR install helper: yay or paru.
- Toolbar icon design picker.
- Compact "Buy Me a Coffee" button with a small tick-box to hide it.
All options persist to
~/.local/state/omarchy/settings/davedes.fossfetch.json.
- Keyboard-first:
Tabcycles tabs, arrow keys move the selection,Enterarms the highlighted card's install (a second press runs it),Esccloses,/refocuses the search box. - Theme-aware: per-ecosystem accents (green = Pacman, cyan = AUR,
blue = Flatpak, yellow = confirm state) are read from the active theme's
colors.toml, so the panel blends with whatever theme is running. - Renders on Omarchy's frosted popup surface with the standard menu selected-row treatment.
- Omarchy 4.x (Quickshell-based shell) on Arch Linux
pacman(base),python3(datastore scripts)- Optional / feature-gated:
flatpak— for the Flatpak tab and Flatpak installsyayorparu— for AUR installs- a network connection for the first category/icon catalog download (cached locally; see Caches)
omarchy plugin clone davedes.fossfetch…or manually:
git clone https://github.com/Davedes83/fossfetch.git ~/.config/omarchy/plugins/davedes.fossfetchAdd the FossFetch widget to your preferred bar section via the Omarchy
widgets menu (or ~/.config/omarchy/shell.json). Default section: right.
In ~/.config/hypr/bindings.lua:
o.bind("SUPER + ALT + F", "FossFetch", "omarchy-shell fossfetch toggle")The panel can also be toggled over IPC with
omarchy-shell fossfetch toggle from any launcher/hotkey.
A built-in optional Hyprland global shortcut (
quickshell:toggle_alt_finder) is also available as an alternative to the IPC binding — bind it withbind = SUPER ALT, F, global, quickshell:toggle_alt_finder.
- Press
SUPER + ALT + F(or click the magnifier pill in the bar). - Type a query:
- a package / app name → exact, prefix and substring matches ranked first;
- a natural-language phrase → category members listed, then name matches.
Tabto switch tab (Pacman / AUR / Flatpak), arrow keys to select,Enterto install: the first press arms the card's primary install ("Confirm?"), a second press runs the command.- Clicking an install button works the same way. The card's homepage ("Visit site") chip opens the project website externally.
- Click the gear (top right) to reach the options.
Esccloses;/refocuses search.
The plugin ships sensible defaults; the shell's settings UI exposes the
BarWidget schema:
| Setting | Default | Description |
|---|---|---|
panelWidth |
560 | Width of the search popup (360–900) |
debounceMs |
150 | Delay after typing before searching (0–500) |
buttonLabel |
"Find App" | Text on the bar pill (hidden in Icon design) |
Options chosen in the panel are persisted to
~/.local/state/omarchy/settings/davedes.fossfetch.json:
{
"flatpak": true,
"aur": true,
"aurHelper": "yay",
"design": "current",
"showCoffee": true
}| Key | Values | Meaning |
|---|---|---|
flatpak |
true/false |
show the Flatpak tab |
aur |
true/false |
show the AUR tab |
aurHelper |
yay/paru |
AUR install command |
design |
current, outline, soft, bold, minimal, icon |
toolbar pill style |
showCoffee |
true/false |
show the "Buy Me a Coffee" button |
- Datastore indices live under
~/.cache/fossfetch/:catalog/<date>/groups.tsv+ icons — built from Arch's published AppStream catalog and refreshed when it is over 32 days old;flathub/groups.tsv+flathub/appids.tsv— built from Flathub's AppStream catalog (same staleness window).
- Everything is resolved against public, first-party sources (Arch's AppStream mirror, Flathub's AppStream feed, the AUR RPC). No accounts, no telemetry, no third-party trackers.
- Search results and enriched metadata are always fetched live; remove the cache directory at any time and it will be rebuilt on the next search.
| File | Purpose |
|---|---|
BarWidget.qml |
Top-bar pill widget + toolbar icon designs |
Panel.qml |
Main search panel UI, results model, install flow |
aur_search.py |
AUR RPC search (name/desc), emits 8-column TSV |
flathub_groups.py |
Flathub AppStream category matcher + release-date index |
appstream_groups.sh |
Arch AppStream category matcher (groups.tsv) |
appstream_icons.sh |
Arch AppStream icon catalog resolution |
flatpak_icon.py |
Name → Flathub app-id resolution for icons |
groups.keywords |
Natural-language keyword → AppStream category table |
alternatives.json |
Bundled curated metadata of FOSS alternatives to |
| proprietary apps | |
manifest.json |
Omarchy plugin manifest (bar-widget) |
- AUR install buttons are no-ops until
yayorparuis actually installed; pick the helper you have in Options. - Flatpak results/installs require the
flathubremote to be present. - First search on a tab may be slower while the AppStream/icon catalogs are downloaded once; afterwards everything is served from the local cache.
paruis not bundled — it must be installed via your preferred AUR helper.
MIT. See manifest.json for plugin metadata.