Modular WezTerm terminal configuration
- Lua 100%
| .gitignore | ||
| ai_commander.lua | ||
| constants.example.lua | ||
| events.lua | ||
| helpers.lua | ||
| keybindings.lua | ||
| mousebindings.lua | ||
| quota.lua | ||
| README.md | ||
| session.lua | ||
| tabline.lua | ||
| wezterm.lua | ||
WezTerm Configuration
Structure
| File | Purpose |
|---|---|
| wezterm.lua | Loads plugins, wires up modules, sets appearance options |
| keybindings.lua | All keyboard shortcuts. Registers everything with cmdpicker. |
| mousebindings.lua | Mouse bindings |
| events.lua | WezTerm event handlers |
| helpers.lua | Utility functions |
| tabline.lua | Tabline plugin configuration |
| session.lua | Workspace switcher + resurrect plugin setup |
| ai_commander.lua | AI Commander plugin setup |
| quota.lua | Quota limit plugin setup |
| constants.example.lua | API keys and URLs. Copy constants.example.lua to constants.lua. |
Plugins
Managed via wezterm.plugin.require.
| Plugin | Source |
|---|---|
| cmdpicker | Command palette with searchable keybinding descriptions |
| smart_ssh | Fuzzy SSH host selector |
| wez-tmux | Tmux-style keybindings |
| tabline.wez | Status bar |
| smart_workspace_switcher | Fuzzy workspace switching |
| resurrect | Save/restore workspace, window, and tab state |
| presentation.wez | Presentation mode |
Setup
- Copy
constants.example.luatoconstants.luaand fill in API keys if using AI Commander. - resurrect saved state encryption requires an age key at
.age/key.txt.mkdir .age && age-keygen -o .age/key.txt
Leader Key
Ctrl-Space. Most bindings are prefixed with the leader key. See keybindings.lua for the full list, or press Leader then r to open the command picker.