| Crates.io | murus |
| lib.rs | murus |
| version | 0.1.1 |
| created_at | 2025-09-07 20:18:53.844042+00 |
| updated_at | 2025-09-13 16:33:05.388652+00 |
| description | Crates for tmux API and plugin manager implementations |
| homepage | https://git.notfloor.com/nfejzic/plux |
| repository | https://git.notfloor.com/nfejzic/plux |
| max_upload_size | |
| id | 1828501 |
| size | 11,121 |
This workspace contains Rust crate that wraps tmux commands and a simple plugin manager for tmux.
Plux is a very simple tmux plugin manager. Aim is to provide modern plugin
management. To use the plugin manager, specify plux.toml file with desired
plugins, and add run-shell plux to your tmux configuration.
Plux needs to know two paths to do the work:
@plux_toml_path - where the plux.toml file is located. By default the
$HOME/.config/tmux/plux.toml is used.@plux_plugins_path - directory that will contain installed plugins. By
default the $HOME/.config/tmux/plux/ directory is used.You can install plux with using cargo:
cargo install plux
Plugins are specified in a single plux.toml file, with following syntax:
[plugins]
# you can specify the url of a plugin directly, default git branch will be used
# (e.g. 'main')
tmux-ssh-split = "https://github.com/pschmitt/tmux-ssh-split"
# or you can specify full plugin spec
# with branch:
tmux-fingers = { rul = "https://github.com/Morantron/tmux-fingers", branch = "feature-xyz" }
# with tag:
smart-splits = { url = "https://github.com/mrjones2014/smart-splits.nvim", tag = "v2.0.3"}
# with commit hash:
tmux-sensible = { url = "https://github.com/tmux-plugins/tmux-sensible", commit = "<commit hash>"}
There are multiple parts to plugin installation:
git clone command..tmux
files in plugins directory. Plux does that as well, with one exception. If
plugin contains a top level plux_start.tmux file, then this file is sourced
from tmux (e.g. tmux source <path-to-plugin>/plux_start.tmux). Otherwise
all .tmux files are executed (e.g. tmux run-shell <path-to-file>.tmux).