https://github.com/sl-ru/mmtui
TUI disk mount manager for TUI file managers
https://github.com/sl-ru/mmtui
Last synced: 5 months ago
JSON representation
TUI disk mount manager for TUI file managers
- Host: GitHub
- URL: https://github.com/sl-ru/mmtui
- Owner: SL-RU
- License: mit
- Created: 2024-12-16T19:00:31.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-28T00:04:55.000Z (over 1 year ago)
- Last Synced: 2025-01-28T01:23:18.079Z (over 1 year ago)
- Language: Rust
- Size: 1.15 MB
- Stars: 18
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mmtui
TUI disk mount manager for TUI file managers for Linux

# Dependencies
- udisks2
# Binaries
Latest prebuilt static binary you can find here: https://github.com/SL-RU/mmtui/releases
# Build
```
cargo build --release
```
Binary will be in `target/release/mmtui`
## AUR
On Archlinux you can install from AUR, package is named `mmtui-bin`: https://aur.archlinux.org/packages/mmtui-bin
## Configuration
mmtui supports an optional configuration file located at:
`$XDG_CONFIG_HOME/mmtui/mmtui.toml`
Given a relative path, mmtui searches `XDG_CONFIG_HOME` first and then `XDG_CONFIG_DIRS`, using the first existing configuration file found. If no configuration file found, built-in defaults are used. If a configuration file exists, it fully overrides the default configuration. The lookup is based on [freedesktop.org XDG Base Directory Specification](https://specifications.freedesktop.org/basedir/latest/).
The following shows the built-in default configuration used when no configuration file is present:
```toml
fstype_ignore = [
"tmpfs",
"ramfs",
"swap",
"devtmpfs",
"devpts",
"hugetlbfs",
"mqueue",
"fuse.portal",
"fuse.gvfsd-fuse",
]
path_ignore = [
"/tmp",
"/sys",
"/proc",
]
```
### Options
All options must be present in the configuration file. Options cannot be omitted; use an empty list if no entries are desired.
* `fstype_ignore`
List of filesystem types to ignore. Any mount whose filesystem type matches an entry in this list will be excluded.
* `path_ignore`
List of absolute paths to ignore. Any mount point or path matching an entry in this list will be excluded.
# Integrations
## Yazi - mount.yazi
Plugin for yazi file manager: https://github.com/SL-RU/mount.yazi
## Ranger file manager
https://github.com/SL-RU/ranger_udisk_menu is deprecated, now you can use this application instead. Download or build `mmtui` and add it location to $PATH environment variable or substitute location in the variable MMTUI_PATH in the script below.
Add this to `ranger config/commands.py`:
```Python
class mount(Command):
""":mount.
Show menu to mount and unmount.
"""
MMTUI_PATH = "mmtui"
def execute(self):
"""Show menu to mount and unmount."""
import os
import tempfile
(f, p) = tempfile.mkstemp()
os.close(f)
self.fm.execute_console(
f'shell bash -c "{self.MMTUI_PATH} 1> {p}"'
)
with open(p, 'r') as f:
d = f.readline().strip()
if os.path.exists(d):
self.fm.cd(d)
os.remove(p)
```
# release-please
[Release-please is used](https://github.com/googleapis/release-please) in this repository. Because of that there are rules for commit names:
## How should I write my commits?
Release Please assumes you are using [Conventional Commit messages](https://www.conventionalcommits.org/).
The most important prefixes you should have in mind are:
* `fix:` which represents bug fixes, and correlates to a [SemVer](https://semver.org/)
patch.
* `feat:` which represents a new feature, and correlates to a SemVer minor.
* `feat!:`, or `fix!:`, `refactor!:`, etc., which represent a breaking change
(indicated by the `!`) and will result in a SemVer major.