runa - rn
Documentation
A fast and lightweight console file browser written in Rust
rn - runa is a minimalist terminal file manager focused on speed and simplicity.
It allows you to navigate directories, view file listings, and perform typical file browser actions.
[!IMPORTANT] runa is a work in progress. It is being actively developed and features may change over time.
Changelog
For a detailed list of changes and release notes, see CHANGELOG.md.
Installation
Cargo:
Arch Linux (AUR)
You can install runa from the AUR using an AUR helper like paru or yay:
Pre-compiled Binaries
If you'd like to download Pre-compiled binaries instead of isntalling runa as a crate in cargo or via the AUR, you can grab the latest binaries for Linux, Windows and macOS form the Release page.
After downloading, add the rn (Linux/macOS) or rn.exe (Windows) binary to your system PATH to use runa from your terminal.
[!TIP] Checksum Check: You can verify the integrity of the release archives using the
SHA256SUMS.txtfile in the Release page.Unix
Windows
Get-FileHash runa-windows-x86_64.zip -Algorithm SHA256Compare the output with the corresponding entry in
SHA256SUMS.txt.
Build from source
Clone the repo and build with Cargo:
Usage
Run runa with:
rn
Configuration
A full configuration documentation will follow.
runa uses a runa.toml file for configuration. By default, it is located at:
$HOME/.config/runa/runa.toml (on both Unix and Windows, inside the user folder)
You can override the config path by setting an environment variable:
# Unix
# PowerShell (Windows)
$env:RUNA_CONFIG="C:\path\to\runa.toml"
You can generate a default config using the --init or --init-minimal flag:
# For the whole configuration options runa.toml
# For help with all the configuration options.
This will generate a config in the default config path.
Roadmap
runa is in active development.
Future releases will focus on expanding functionality while keeping it fast and lightweight.
Planned features
-
Search & Discovery: Integrated fuzzy finding and fast directory traversal.
-
Image Previews: Support for Sixel/Kitty graphics protocols.
-
Syntax Highlighting: Treesitter integration for the preview pane.
Completed
-
File Operations: Copy, move, delete, and rename from within the UI. ( Completed in 0.3.0 )
-
Content Search: Text search and filtering. (Completed in 0.3.0)
-
Performance: Reactive rendering (Completed in 0.2.0).
-
UI Customization: Pane-specific styling and Hex color support (Completed in 0.2.2).
-
Navigation Context: Persistent Parent (Origin) and Preview panes (Completed in 0.2.0)
Support & Contribute
If you enjoy using runa, you can help the project grow:
- ⭐ Star the Repo: It helps more people discover runa :)
- 🐛 Report Bugs: Open an issue if something doesn't work as expected.
- 💡 Feature Requests: Suggest new ideas in the Issues tab.
- 🦀 Contribute: Pull requests are always welcome!
Built With
runa stands on the shoulders of these incredible Rust crates:
- TUI Framework: Ratatui & Crossterm
- Configuration: Serde & TOML
- System Integration: Dirs (Standard config locations)
- Concurrency: Crossbeam-channel
License
This project is Licensed under the MIT License
See the LICENSE file for details.