A tmux session manager that saves and loads tmux sessions through simple YAML/JSON configuration files.
tmuxp is a session manager for tmux that allows developers to save and load tmux sessions using simple YAML or JSON configuration files. It solves the problem of manually recreating complex terminal layouts by enabling declarative, reproducible session setups. Built on libtmux, it provides programmatic control over tmux sessions, windows, and panes.
Developers and system administrators who use tmux regularly and want to automate their terminal workspace setup, especially those managing multiple projects or complex development environments.
Developers choose tmuxp for its intuitive configuration format, project-aware session loading, and powerful features like session freezing and an interactive Python shell. It reduces manual tmux setup time and ensures consistent, version-controlled terminal environments across teams.
🖥️ Session manager for tmux, built on libtmux.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows defining complex tmux sessions in simple YAML or JSON files, enabling reproducible setups as shown in the example configurations with windows, panes, and shell commands.
Automatically loads configurations from .tmuxp.yaml or .tmuxp.json files in project directories, streamlining workflow setup for developers working on multiple projects.
Can snapshot live tmux sessions into reusable config files with 'tmuxp freeze', capturing layouts and pane paths for easy restoration and sharing.
Provides a debug console preloaded with libtmux objects for programmatic interaction, allowing developers to inspect and manipulate sessions directly from Python.
Requires Python 3.10+ and additional packages, adding setup complexity in minimal environments or systems where Python is not standard.
Advanced session definitions can lead to lengthy, complex YAML/JSON files that are harder to maintain and debug, especially for elaborate multi-window setups.
While extensible via plugins, the community contributions are smaller compared to tmux itself, resulting in fewer out-of-the-box integrations and advanced features.