A command-line tool for managing complex tmux sessions with declarative YAML configuration.
Tmuxinator is a Ruby gem that provides a command-line interface for managing tmux sessions through declarative YAML configuration files. It solves the problem of manually setting up complex tmux sessions by allowing developers to define windows, panes, layouts, and commands in a reusable configuration.
Developers and system administrators who regularly use tmux for terminal multiplexing and want to automate session setup for projects, servers, or development environments.
Tmuxinator saves time and ensures consistency by codifying tmux sessions, making it easy to recreate identical workspaces across different machines or after restarts. Its YAML-based approach is more maintainable than manual tmux commands or shell scripts.
Manage complex tmux sessions easily
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Defines tmux sessions in reusable YAML files, as shown in the default sample config, enabling consistent workspace restoration across machines.
Uses `pre_window` to set up interpreters like rbenv or NVM, ensuring all panes start with the correct environment variables and versions.
Embeds Ruby ERB in YAML for templating, allowing dynamic values based on environment variables or command-line arguments for flexible configs.
Offers aliased commands for creating, starting, stopping, and debugging projects, streamlining session management with minimal typing.
Requires Ruby and has reported installation issues with Homebrew, complicating setup for users on non-Ruby-centric systems or those avoiding gem management.
Not compatible with tmux 2.5 and has specific version requirements, which can break functionality for users on certain OS distributions or locked versions.
YAML indentation rules are error-prone and explicitly warned as confusing in the README, leading to subtle bugs in pane and window definitions.