shenawy29

Use your favorite Neovim picker to pick files!

19
1
85% credibility
Found May 17, 2026 at 19 stars -- GitGems finds repos before they trend. Get early access to the next one.
Sign Up Free
AI Analysis
Lua
AI Summary

This is a Neovim plugin for Linux that replaces your computer's slow, mouse-heavy file picker with a fast, keyboard-driven fuzzy finder whenever you need to select files—like uploading documents in a browser. It works by connecting to your desktop's file dialog system and routing those requests through Neovim, where you can search and select files the way you already do when editing code. The setup requires installing a small background program and adding the plugin to your editor, but once configured, every file picker across your entire desktop becomes instantly more pleasant to use.

How It Works

1
😤 The Frustrating Upload Moment

You're uploading a file in your browser—maybe your resume or a photo—but the file picker is slow and clunky, forcing you to click through endless folders with your mouse.

2
🔍 Discovering a Better Way

You find a plugin that lets you use your fast, fuzzy-finding file picker from Neovim whenever a file dialog appears anywhere on your Linux desktop.

3
⚙️ Setting Up the Magic

You install a small background program that connects your file picker to the system, then add the plugin to your Neovim setup so everything works together.

4
The Moment Everything Changes

The next time you click 'Upload' in your browser, instead of the slow system dialog, a beautiful fuzzy-finding picker appears right inside Neovim.

5
⌨️ Finding Files Lightning Fast

You type part of the filename, and matching files appear instantly. You navigate with your keyboard, select what you need, and everything just works.

🎉 File Uploaded, Time Saved

Your file is uploaded in seconds instead of minutes, and you never have to touch the mouse when picking files again.

Sign up to see the full architecture

4 more

Sign Up Free

Star Growth

See how this repo grew from 19 to 19 stars Sign Up Free
Repurpose This Repo

Repurpose is a Pro feature

Generate ready-to-use prompts for X threads, LinkedIn posts, blog posts, YouTube scripts, and more -- with full repo context baked in.

Unlock Repurpose
AI-Generated Review

What is xdg-nvfilechooser.nvim?

This plugin replaces your system's native file picker with your fuzzy-finding Neovim workflow. Built in Lua for Neovim, it acts as an XDG desktop portal backend -- when any application pops up an "Upload" or "Open File" dialog, you get your Neovim picker instead of the clunky GTK or Qt dialog. The plugin communicates with a separate binary that handles the XDG portal protocol, while the Neovim side provides the actual file selection interface using snacks.picker.

Why is it gaining traction?

The native file picker is arguably the worst part of Linux desktop workflows. After mastering fuzzy finding in your editor, clicking through folder hierarchies feels archaic. This plugin solves a real, daily frustration for power users -- uploading files in browsers, attaching documents in apps, or selecting media without leaving your muscle memory. The setup is honest about its requirements (fd for directory finding, snacks.nvim as the only supported picker) and openly invites contributions for telescope and fzf-lua support.

Who should use this?

Linux Neovim users on Hyprland, Sway, or GNOME who have adopted folke's snacks.nvim and are tired of wrestling with the native file dialog. If you regularly upload files to web apps, attach documents to services, or pick files outside your terminal session, this fills a gap. Not for you if you primarily use GUI editors, macOS/Windows, or prefer the native picker experience.

Verdict

A clever solution to a legitimate problem, but it carries early-stage risk. At 19 stars with a credibility score of 0.85%, the plugin lacks community validation and the installation process is genuinely involved -- binary placement, D-Bus registration, systemd user services, and portal configuration are required. If you run NixOS, the integration is cleaner. For everyone else, test this in a non-critical environment first. The core idea is solid; the ecosystem support needs time to mature.

Sign up to read the full AI review Sign Up Free

Similar repos coming soon.