Letting you define your tmux window setup configuration, pre-run environment setup and launch programs as you start a new tmux session.
Installation with Tmux Plugin Manager (recommended)
Add plugin to the list of TPM plugins in .tmux.conf
:
set -g @plugin 'AranBorkum/tmux-cookie-cutter'
Hit prefix + I
to fetch the plugin and source it.
Clone the repo:
$ git clone https://github.com/AranBorkum/tmux-cookie-cutter ~/clone/path
Add this line to the bottom of .tmux.conf
:
run-shell ~/clone/path/cookie-cutter.tmux
Reload TMUX environment:
# type this in terminal
$ tmux source-file ~/.tmux.conf
Create a .tmux-cookie-cutter.yaml
file in your $HOME/.config/
directory or a bespoke one in the root of your project. Configure this with the following values:
default_windows:
- name: "neovim"
envvars:
- VARIABLE_1=...
- VARIABLE_2=...
setup_command: "source .venv/bin/activate"
command: "nvim"
- name: "terminal"
envvars:
- VARIABLE_1=...
- VARIABLE_2=...
setup_command: "source .venv/bin/activate"
command:
panes:
- split_direction: "vertical"
size: 25 # percentage width of a vertically split pane
- split_direction: "horizontal"
command: ./manage runserver
size: 40 # percentage width of a horizontally split pane
Optionally, you can set the python interpreter to use, it defaults to python3:
set-option -g @cookie_cutter_python "python3"
Be sure it has PyYAML available, you can use uv
to run it with the pyyaml
package:
set-option -g @cookie_cutter_python "uv run --with pyyaml"