I built a tmux session manager for myself, It uses a ruby configuration file similar to the one below, You can find it at https://github.com/minhajuddin/tummy . I feel ruby is more flexible at configuration than yaml.
session "statictrain"
directory "/home/minhajuddin/r/st/web"
window "src", [
pane("vim TODO"),
]
window "server-iex", [
pane("iex -S mix phoenix.server"),
# the last argument is passed to tmux as raw arguments
#pane("iex -S mix", :horizontal, "-l 8"),
pane("git status; tail -f log/debug.log", :vertical),
]
# if you comment this out it will focus the first window when the session is started
#focus_window "server-iex"
# focus_window 0 # you can even focus a window by index starting at 0
# vim: filetype=ruby