Glazier.
Declarative tmux workspaces. Describe a session once in an HCL profile, then rebuild it on demand with one command.
glaze builds tmux sessions, windows and panes from a .glaze file written in HCL. Describe the workspace once, then run glaze up in the project directory and get the same layout every time. No more rebuilding panes by hand after every reboot.
session {
name = "daemon-run"
window {
name = "ice-breaker"
layout = "main-vertical"
pane {
commands = ["nvim ./payloads"]
}
pane {
commands = ["watch -n1 netwatch --target arasaka-mainframe"]
}
}
}$ brew install wilhelm-murdoch/tap/glazier
$ glaze up
Glazier validates the profile before tmux starts, so a bad layout name or a value of the wrong type comes back as a diagnostic with a line number, not a half-built session. Typed variables and string functions turn one profile into a template for many projects. Pane commands run in sequence through tmux wait-for, with no fixed sleeps. Every release runs its end-to-end suite on tmux 3.2a to 3.7c.
Getting started
Install Glazier, write a first profile and bring a workspace up.
Guides
Step by step answers to the common tasks.
Profiles
The reference for every block, attribute, variable and function.
Command line
Every subcommand, flag and exit code.
Project
Compatibility, security and how to contribute.