A Rust TUI drive mounting utility
Find a file
Pontoporeia 31d3102b3e Readme Improvements
- Added correct cargo install cmd
- removed duplicate rust dependencies sections
- changes keybinding list to tables
2025-11-04 14:06:47 +01:00
src Added version flag 2025-11-04 13:50:12 +01:00
.gitignore added Rust specifics to the .gitignore and added Design.md 2025-06-06 23:07:27 +02:00
ARCHITECTURE.md feat: Convert drive manager to TUI application with hierarchical drive view and system drive safety warnings 2025-06-06 23:06:09 +02:00
BUILDING.md docs: restructure documentation and update README for v0.2.0 2025-09-18 22:02:44 +02:00
Cargo.toml lean crate include rule and updated tool version 2025-11-04 13:54:50 +01:00
CONTRIBUTING.md docs: restructure documentation and update README for v0.2.0 2025-09-18 22:02:44 +02:00
DESIGN.md added Rust specifics to the .gitignore and added Design.md 2025-06-06 23:07:27 +02:00
LICENSE Initial commit 2025-06-06 23:03:08 +02:00
README.md Readme Improvements 2025-11-04 14:06:47 +01:00

rmount

A Rust TUI (Terminal User Interface) drive mounting utility for Linux systems. rmount provides an intuitive interface for managing drive mounting, unmounting, and ejection operations with safety features to prevent accidental system drive modifications.

Features

  • Interactive TUI: Navigate drives and partitions with keyboard shortcuts
  • Safe Operations: Warnings for system drives to prevent accidental damage
  • Multiple Interfaces: Both TUI and command-line interfaces available
  • Comprehensive Drive Info: Display filesystem, size, mount status, and labels
  • Auto-detection: Automatically detects removable drives and partitions
  • Auto-refresh: Automatic drive list updates every 2 seconds (configurable)
  • Smart Navigation: Only partitions are selectable, main drives shown for context
  • Terminal Integration: Open mounted drives directly in terminal navigation
  • Enhanced UI: Improved colors adapting to terminal theme with help menu

Dependencies

System Requirements

  • Linux operating system
  • The following system utilities must be installed:
    • lsblk - List block devices
    • udisksctl - Disk management utility (usually part of udisks2 package)
    • blkid - Block device identification utility

Installation of System Dependencies

Ubuntu/Debian:

sudo apt update
sudo apt install util-linux udisks2 util-linux-extra

Arch Linux:

sudo pacman -S util-linux udisks2

Fedora/RHEL/CentOS:

sudo dnf install util-linux udisks2

Installation

From Cargo

cargo install --git https://codeberg.org/Pontoporeia/rmount

From Source

See BUILDING.md for detailed build instructions.

Quick build:

git clone https://codeberg.org/Pontoporeia/rmount.git
cd rmount
cargo build --release
sudo cp target/release/rmount /usr/local/bin/

Usage

TUI Mode (Default)

Launch the interactive terminal interface:

rmount

Command Line Options

# Start with auto-refresh disabled
rmount --no-auto-refresh

# Set custom refresh interval (in seconds)
rmount --refresh-interval 5

TUI Controls

Navigation

Keys Description
j, Move down (partitions only)
k, Move up (partitions only)
g Go to top
G Go to bottom

Actions

Keys Description
m Mount selected partition
u Unmount selected partition
e Eject selected drive
o Open mounted partition in terminal (navigates to mount point)
r Refresh drive list
a Toggle auto-refresh

Help & Interface

Keys Description
?, h Show/hide help menu
q Quit application
y, n Confirm/cancel operations
Esc Cancel current operation or close help

Command Line Mode

List all drives

rmount list

Show detailed drive information

rmount info /dev/sdb1

Mount a drive

rmount mount /dev/sdb1
rmount mount /dev/sdb1 /mnt/mydrive  # Custom mount point

Unmount a drive

rmount unmount /dev/sdb1

Eject a drive

rmount eject /dev/sdb

Contributing

We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines on:

  • Setting up your development environment
  • Code style and standards
  • Testing requirements
  • Submitting pull requests
  • Reporting issues

For build instructions, see BUILDING.md.

Safety Notes

  • System Drive Warning: rmount will warn you before performing operations on system drives
  • Root Permissions: Some operations may require sudo privileges
  • Data Safety: Always ensure important data is backed up before drive operations

License

This project is licensed under the AGPL 3.0 or Later License - see the LICENSE file for details.

Acknowledgments

  • Built with ratatui for the terminal interface
  • Uses clap for command line parsing
  • Inspired by various Linux drive management utilities