Omahub
← All plugins
I

File Picker

by iamArham10

Fuzzy file selector and launcher for documents, media, markdown notes, and code

Security review

Review recommended · 1 finding

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
ccc5d7a
Scanned
1 month ago

Flagged patterns appear only in documentation files (README / docs) — descriptive examples, not executable code.

  • Docs sudo README.md:51

    Command runs with sudo, elevating the process beyond the plugin environment.

    sudo pacman -S chafa ffmpegthumbnailer

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
ccc5d7a
Reviewed
1 month ago

The plugin is a file picker that scans user directories and uses standard tools like fzf, xdg-open, and stat. The flagged sudo command appears only in the README as an installation instruction for optional dependencies and is not executed by the plugin itself. No malicious behavior, network calls, or credential access was found.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/iamArham10/omarchy-file-picker --enable
Productivity #system

🔍 Omarchy File Picker (arh.file-picker)

A high-performance fuzzy file search and launcher plugin for Omarchy and Hyprland.

Quickly find and open documents, notes, videos, audio, images, and code files from your configured directories using an interactive terminal TUI powered by fzf.


<p align="center"> <img src="assets/filePicker.png" alt="Omarchy File Picker — File Search" width="850" /> </p> <p align="center"> <img src="assets/filePicker2.png" alt="Omarchy File Picker — Image & Video Preview" width="850" /> </p>

✨ Features

  • ⚡ Lightning Fast Scanning: Uses fd (with fallback to find) for sub-50ms directory indexing with background caching.
  • 🗂️ Configurable Directories & File Types: Simple JSON configuration (~/.config/omarchy/file-picker.json) to add/remove search folders, categories, and exclusions.
  • 🖼️ Image & Video Thumbnails: Live terminal image previews via chafa, video frame thumbnails via ffmpegthumbnailer.
  • 📄 Rich File Previews: PDF text extraction (pdftotext), syntax-highlighted code/markdown (bat), audio/video metadata (ffprobe).
  • 🏷️ Category Filtering: Instant category pills for All, Docs, Notes, Videos, Audio, Images, and Code.
  • 🔗 Action Shortcuts: Open file (Enter), open folder in file manager (Alt+Enter), or copy file path (Ctrl+Y).

📦 Installation

Install and enable the plugin directly with the Omarchy CLI:

omarchy plugin add https://github.com/iamArham10/omarchy-file-picker.git --enable

🗑️ Uninstallation / Removal

To disable and remove the plugin:

omarchy plugin remove arh.file-picker

Optional Dependencies

For the best preview experience, install these packages:

sudo pacman -S chafa ffmpegthumbnailer
Package Purpose
chafa Renders image and video thumbnails in the terminal preview
ffmpegthumbnailer Extracts video frame thumbnails for preview
bat Syntax-highlighted code and markdown previews (usually pre-installed)
pdftotext (poppler) PDF text extraction for preview

⌨️ Hyprland Keybinding Configuration

Add the keybinding to your ~/.config/hypr/bindings.lua:

-- Fuzzy file picker (floating fzf window with live previews; rule in hyprland.lua)
o.bind("SUPER + I", "Fuzzy file picker", "alacritty --title fzf-picker -e omarchy-file-picker")

⚙️ Configuration

The configuration file is automatically created at:

~/.config/omarchy/file-picker.json

You can open and edit it anytime by running:

omarchy-file-picker --config

Example ~/.config/omarchy/file-picker.json

{
  "directories": [
    "~/Documents",
    "~/Downloads",
    "~/Desktop",
    "~/Github",
    "~/Videos",
    "~/Music",
    "~/Pictures",
    "~/Obsidian"
  ],
  "categories": {
    "all": [],
    "documents": ["pdf", "epub", "djvu", "docx", "pptx", "xlsx", "txt", "csv", "odt", "ods", "odp", "rtf"],
    "notes": ["md", "markdown", "org", "rst", "adoc"],
    "videos": ["mp4", "mkv", "avi", "mov", "webm", "flv", "wmv", "m4v"],
    "audio": ["mp3", "flac", "ogg", "wav", "m4a", "aac", "opus"],
    "images": ["png", "jpg", "jpeg", "webp", "gif", "svg", "bmp", "avif"],
    "code": ["py", "rs", "go", "js", "ts", "jsx", "tsx", "c", "cpp", "h", "hpp", "sh", "bash", "zsh", "lua", "json", "toml", "yaml", "yml"]
  },
  "excludeDirectories": [
    "node_modules", ".git", "__pycache__", ".cache", "dist", "build",
    "out", ".next", "vendor", "venv", ".venv", "target", ".cargo",
    ".idea", ".vscode", "coverage"
  ],
  "cacheTtlSeconds": 300,
  "maxResults": 2000
}

🚀 CLI Commands

# Open the interactive terminal TUI (default)
omarchy-file-picker

# Pre-filter by category
omarchy-file-picker --category images
omarchy-file-picker --category videos

# Re-index all directories and force refresh the cache
omarchy-file-picker --refresh

# Open the JSON configuration file in your editor
omarchy-file-picker --config

⌨️ Shortcuts

Key Action
↑ / ↓ Navigate file list
Enter Open selected file in default app (xdg-open)
Alt + Enter Open containing directory
Ctrl + Y Copy file path to clipboard (wl-copy)
Ctrl + R Force refresh cache
Esc Close picker

🔒 Security & Scope

  • Local Execution Only: No network requests, telemetry, or external API calls.
  • Sandboxed Caching: File metadata cache is stored strictly in user space (~/.cache/omarchy/file-picker/).
  • Standard Desktop Integration: Uses standard xdg-open to launch user-selected files in their chosen system apps.

🛠️ Verification & Development

To validate the plugin against the Omarchy shell manifest schema:

omarchy plugin validate ~/.config/omarchy/plugins/arh.file-picker

To reload plugins after modifying QML files:

omarchy-shell shell rescanPlugins

📜 License

MIT License © 2026 Arham Imran