Tmux: Difference between revisions
imported>Srid larger example |
m Add category CLI Applications, link to pkgs |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[https://github.com/tmux/tmux/wiki 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 == | == Global configuration == | ||
{{nixos:package|tmux}} can be configured globally from <code>/etc/nixos/configuration.nix</code>. | |||
As an example: | As an example: | ||
Line 11: | Line 11: | ||
enable = true; | enable = true; | ||
clock24 = true; | clock24 = true; | ||
extraConfig = '' # used for less common options, intelligently combines if defined in multiple places. | |||
... | ... | ||
''; | ''; | ||
Line 17: | Line 17: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Note that <code>extraConfig</code> writes directly to <code>/etc/tmux.conf</code> | |||
=== Using Plugins === | |||
Tmux plugins can be also configured using <code>programs.tmux.plugins</code>. They can be found as NixOS packages: [https://search.nixos.org/packages?type=packages&query=tmuxPlugins tmuxPlugins]. Each of the tmux plugin is run via <code>run-shell</code> automatically. | |||
Some plugins need to be run after having had some custom configuration done>, but extraConfig gets executed after. For example <code>tmuxPlugins.cpu</code> needs the status line be declared before the plugin is run. For that scenario, <code>run-shell</code> can be added within <code>extraConfig</code>: | |||
<syntaxhighlight lang="nix"> | |||
programs.tmux = { | |||
enable = true; | |||
extraConfig = '' | |||
... | |||
set -g status-right '#[fg=black,bg=color15] #{cpu_percentage} %H:%M ' | |||
run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux | |||
''; | |||
} | |||
</syntaxhighlight> | |||
== Per-user configuration == | == 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. | 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. | ||
== See also == | == See also == | ||
Line 31: | Line 44: | ||
* [https://wiki.archlinux.org/index.php/Tmux Arch Wiki page on tmux] | * [https://wiki.archlinux.org/index.php/Tmux Arch Wiki page on tmux] | ||
* [https://github.com/tmux/tmux tmux repository] | * [https://github.com/tmux/tmux tmux repository] | ||
[[Category:CLI Applications]] |