tmux session manager powered by nim
  • Nim 92%
  • Nix 8%
Find a file
2026-03-18 15:02:37 -04:00
.github/workflows use nim latest 2025-10-10 13:44:04 -04:00
nix bump version 2026-03-18 15:02:37 -04:00
src roots roots roots 2026-03-18 14:33:45 -04:00
.forge.cfg build: enter atlas 2023-11-10 12:22:49 -06:00
.gitignore switch to atlas 2025-10-21 12:42:07 -04:00
atlas.lock update usu 2026-03-18 14:33:45 -04:00
config.nims update deps 2026-02-25 13:49:57 -05:00
README.md refactor!: use ini/cfg 2024-09-14 10:15:14 -05:00
todo.md add a todo 2025-10-15 11:20:41 -04:00
tsm.nimble bump version 2026-03-18 15:02:37 -04:00

Tmux session manager (tsm)

Install

There are pre-built binaries available in Releases including a nightly release.

w/eget:

eget daylinmorgan/tsm
eget daylinmorgan/tsm --pre-release # for nightly build

w/nimble:

nimble install https://github.com/daylinmorgan/tsm

Usage

To configure tsm export the below environment variables:

TSM_PATHS: a colon-delimited set of parent directories to find projects.
TSM_HEIGHT: integer specifying number of rows in terminal (default: 15)

For example in your rc file:

export TSM_PATHS="$HOME/projects/personal:$HOME/projects/work"

To make full use of tsm you should also add a new key binding to your tmux.conf. For example, you can bind the f key to show a popup with tsm:

bind f display-popup \
  -h 60% -w 60% \
  -E "tsm"

Prior Art