Tmux
tmux is a "terminal multiplexer: it enables a number of terminals (or windows), each running a separate program, to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached."
Global configuration
tmux can be configured globally from /etc/nixos/configuration.nix
.
As an example:
programs.tmux = {
enable = true;
clock24 = true;
extraTmuxConf = '' # used for less common options, intelligently combines if defined in multiple places.
...
'';
}
Note that extraTmuxConf
writes directly to /etc/tmux.conf
Per-user configuration
However, if you want to configure per user, you could use Home Manager. This also grants you with more options available directly through nix, as opposed to through an extra config option. Though it should be noted that a few of the options have different names.
Example: https://github.com/srid/nix-config/blob/master/nix/home/tmux.nix