← All tools

nerima-lisp/cl-tmux

Popularity 75 Updated Network & Systems

A tmux-compatible terminal multiplexer written entirely in Common Lisp

githubauto-collected

Installation

A directly usable install command is not verified yet. Check the project documentation or releases.

nerimux

A workspace-oriented terminal multiplexer written entirely in Common Lisp, with a magit-style keymap. The primary UI is a repolist of three sections, Attention, Active, and Repositories, plus a thin client attached to a headless runtime. The entry surface is workspace-only: attach, server, and kill are the only commands. The core regression suite runs hermetically through Nix; live PTY integration is an explicit host-side check.

Full documentation is published at <https://nerima-lisp.github.io/nerimux/. The source for that site lives in docs/src/.

Quick Start

nix run github:nerima-lisp/nerimux              # same as `attach`

nix run github:nerima-lisp/nerimux -- attach
nix run github:nerima-lisp/nerimux -- attach github.com/org/repo
nix run github:nerima-lisp/nerimux -- attach /path/to/worktree
nix run github:nerima-lisp/nerimux -- kill  # stop the server

The examples use the flake directly. After nix build ., invoke the same commands with ./result/bin/nerimux.

attach auto-starts the headless runtime and connects a thin client. Running nerimux with no command at all is the same as attach; only an unrecognized command word prints the usage summary and exits non-zero. If the current directory sits inside a worktree ghq already tracks (a subdirectory counts too), attach opens straight into that worktree's pane instead of the repolist. C-q d detaches and leaves the runtime resident; C-p, from the repolist or status view, opens the global picker over whatever is on screen. A selector containing a slash is resolved either against the ghq catalog using the full specification, host/organization/repository, or against a local worktree path. server runs the headless runtime without attaching a client, and kill stops it.

nerimux reads no configuration file and has no runtime-configurable options. Every value the workspace UI depends on, including shell, $TERM, scrollback length, split ratios, and pane limits, is a compiled-in constant.

Install

# flake.nix
inputs.nerimux = {
  url = "github:nerima-lisp/nerimux/v0.3.0";
  inputs.nixpkgs.follows = "nixpkgs";
};

Note the pinned tag. Consumers inside this org must pin a release tag rather than follow the default branch.

Nix is the only supported build path: it pins SBCL and every Lisp dependency, so a build either reproduces exactly or fails loudly. From a checkout, nix build . produces ./result/bin/nerimux.

Documentation

  • Getting started,

install, usage, default key bindings, running the suite

  • Architecture,

event flow, layering, source layout

  • Security model,