A GUI tuner for WezTerm configuration that uses static decorator annotations in Lua files to generate interactive configuration interfaces. Available in two versions: Python (PyQt6-based) and high-performance Rust (with embedded web interface).
Static Decorators
Use comments to define GUI widgets
Rich Widget Library
Sliders, color pickers, selectors
PyQt6 Interface
Modern, responsive GUI framework
Live Configuration
Interactive WezTerm config editing
📦 Installation Options
🎯
RHEL/CentOS/Rocky/Alma/Fedora
🚀 RPM Install
# Add repository
sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo
# Install package
sudo dnf install wezztershier
# Launch GUI
wezztershier
# Parse config file
wezztershier ~/.config/wezterm/wezterm.lua
🏛️
Arch Linux
🏛️
AUR Packages Available
# Python version (PyQt6)
yay -S wezztershier
# or: paru -S wezztershier
# High-performance Rust version (recommended)
yay -S wezztershier-rust
# or: paru -S wezztershier-rust
# Launch GUI (Python)
wezztershier
# Launch GUI (Rust - embedded web interface)
wezztershier-rust gui ~/.config/wezterm/wezterm.lua
🔧 Decorator Grammar
wezztershier uses special comment annotations to generate GUI widgets:
-- @ui: slider(min=10, max=42, step=1) type=int
config.font_size = 18
-- @ui: select(options="JetBrains Mono, Fira Code, Cascadia Code") type=string
config.font = wezterm.font("JetBrains Mono")
-- @ui: color_picker(format="hex", alpha=false) type=color
config.colors = config.colors or {}
config.colors.background = "#333333"
-- @ui: numerical(min=0.5, max=5.5, step=0.01) type=float
config.line_height = 1.29
🎯 Available Widget Types
slider - Integer/float range sliders
numerical - Precise numeric input fields
select - Dropdown selection menus
color_picker - Color selection with hex/rgb formats
checkbox - Boolean true/false toggles
text - String input fields
table - Complex data structure editors
📖 Usage Examples
# Launch the GUI tuner
wezztershier
# Parse and display config sections
wezztershier ~/.config/wezterm/wezterm.lua
# Generate GUI from specific sections
wezztershier --section colors ~/.config/wezterm/wezterm.lua
# Export modified configuration
wezztershier --export ~/.config/wezterm/wezterm-new.lua
⚡ Performance Comparison
Rust Version
~10x faster parsing, 50% less memory, embedded web GUI
Python Version
Native PyQt6 widgets, familiar Python ecosystem
🏗️ Project Structure
wezztershier/
├── src/wezztershier/
│ ├── cli.py # Command-line interface
│ ├── core/
│ │ ├── parser.py # Lua config parser
│ │ └── backup.py # Configuration backup
│ ├── gui/
│ │ └── main_window.py # Main PyQt6 interface
│ └── widgets/
│ ├── sliders.py # Slider implementations
│ ├── color.py # Color picker widgets
│ ├── selectors.py # Dropdown menus
│ └── tables.py # Table editors