ScriptsJun 1, 2026·3 min read

Xplr — A Hackable Minimal Fast TUI File Explorer

Xplr is a terminal file explorer written in Rust that emphasizes hackability through a Lua-based configuration system, allowing users to customize every aspect of navigation, keybindings, and file operations.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Xplr Overview
Direct install command
npx -y tokrepo@latest install 6acb42e2-5d50-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

Introduction

Xplr is a TUI-based file explorer that treats customization as a first-class citizen. Rather than offering a fixed set of features, it provides a minimal core with a powerful Lua scripting layer that lets users build their ideal file management workflow from composable primitives.

What Xplr Does

  • Navigates the filesystem with Vim-inspired keybindings in a terminal UI
  • Provides batch file operations (copy, move, delete, rename) with selection
  • Supports fuzzy filtering and sorting by name, size, date, or custom criteria
  • Integrates with external tools via piping and shell command execution
  • Maintains a session history for quick navigation to previous directories

Architecture Overview

Xplr is written in Rust for performance and safety. The rendering loop uses a TUI framework for terminal drawing while the configuration and plugin system is powered by an embedded Lua interpreter (mlua). User actions dispatch messages that modify application state, following an Elm-like architecture that keeps the UI and logic cleanly separated.

Self-Hosting & Configuration

  • Install via cargo, Homebrew, Nix, or system package managers
  • Configuration lives in ~/.config/xplr/init.lua
  • Define custom modes, keybindings, and layouts entirely in Lua
  • Install community plugins by adding Lua modules to the config
  • Set default file opener and preview commands via configuration

Key Features

  • Composable modal interface with user-defined modes
  • Built-in file preview integration with bat, less, or custom previewers
  • Bookmark system for frequently accessed directories
  • Input/output pipes for integration with fzf, ripgrep, or scripts
  • Cross-platform support on Linux, macOS, and Windows

Comparison with Similar Tools

  • ranger — Python-based file manager with columns, less hackable
  • nnn — Extremely fast but configuration is compile-time via C macros
  • lf — Go-based, shell-script configuration, less type-safe
  • Yazi — Rust async file manager, more opinionated defaults
  • Midnight Commander — Classic two-panel manager, less scriptable

FAQ

Q: Is Xplr a replacement for ls or find? A: It is an interactive file explorer, not a command-line utility. It complements tools like ls and find for navigating and managing files visually.

Q: Can I use Xplr without knowing Lua? A: Yes. The default configuration provides a functional file explorer. Lua knowledge is only needed for deep customization.

Q: Does Xplr support file previews? A: Yes, via integration with external previewers. Plugins exist for image preview in terminals that support graphics protocols.

Q: How does the plugin system work? A: Plugins are Lua modules that extend xplr's configuration. Install them by cloning into your config directory and requiring them in init.lua.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets