tmux: true color support
Adds True Color support based on the following gist: https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6
This commit is contained in:
parent
2aff324cf6
commit
088d81b6b6
|
@ -94,6 +94,11 @@ let
|
|||
bind-key -N "Kill the current pane" x kill-pane
|
||||
''}
|
||||
|
||||
${optionalString cfg.trueColor ''
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -ag terminal-overrides ",xterm-256color:RGB"
|
||||
''}
|
||||
|
||||
set -g mouse ${boolToStr cfg.mouse}
|
||||
setw -g aggressive-resize ${boolToStr cfg.aggressiveResize}
|
||||
setw -g clock-mode-style ${if cfg.clock24 then "24" else "12"}
|
||||
|
@ -293,6 +298,8 @@ in {
|
|||
|
||||
tmuxinator.enable = mkEnableOption "tmuxinator";
|
||||
|
||||
trueColor = mkEnableOption "true color support";
|
||||
|
||||
plugins = mkOption {
|
||||
type = with types;
|
||||
listOf (either package pluginModule) // {
|
||||
|
|
|
@ -23,6 +23,8 @@ set -g mode-keys emacs
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
|
|
|
@ -8,4 +8,5 @@
|
|||
tmux-shortcut-without-prefix = ./shortcut-without-prefix.nix;
|
||||
tmux-prefix = ./prefix.nix;
|
||||
tmux-mouse-enabled = ./mouse-enabled.nix;
|
||||
tmux-truecolor-enabled = ./truecolor-enabled.nix;
|
||||
}
|
||||
|
|
|
@ -23,6 +23,8 @@ bind-key -N "Kill the current window" & kill-window
|
|||
bind-key -N "Kill the current pane" x kill-pane
|
||||
|
||||
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
|
|
|
@ -21,6 +21,8 @@ set -g mode-keys emacs
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
set -g mouse on
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
|
|
|
@ -26,6 +26,8 @@ bind -N "Send the prefix key through to the application" \
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
|
|
|
@ -27,6 +27,8 @@ bind C-a last-window
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
|
|
33
tests/modules/programs/tmux/truecolor-enabled.conf
Normal file
33
tests/modules/programs/tmux/truecolor-enabled.conf
Normal file
|
@ -0,0 +1,33 @@
|
|||
# ============================================= #
|
||||
# Start with defaults from the Sensible plugin #
|
||||
# --------------------------------------------- #
|
||||
run-shell @sensible_rtp@
|
||||
# ============================================= #
|
||||
|
||||
set -g default-terminal "screen"
|
||||
set -g base-index 0
|
||||
setw -g pane-base-index 0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set -g status-keys emacs
|
||||
set -g mode-keys emacs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -ag terminal-overrides ",xterm-256color:RGB"
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize off
|
||||
setw -g clock-mode-style 12
|
||||
set -s escape-time 500
|
||||
set -g history-limit 2000
|
||||
|
26
tests/modules/programs/tmux/truecolor-enabled.nix
Normal file
26
tests/modules/programs/tmux/truecolor-enabled.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
config = {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
trueColor = true;
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
tmuxPlugins = super.tmuxPlugins // {
|
||||
sensible = super.tmuxPlugins.sensible // { rtp = "@sensible_rtp@"; };
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/tmux/tmux.conf
|
||||
assertFileContent home-files/.config/tmux/tmux.conf \
|
||||
${./truecolor-enabled.conf}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -23,6 +23,8 @@ set -g mode-keys vi
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
set -g mouse off
|
||||
setw -g aggressive-resize on
|
||||
setw -g clock-mode-style 24
|
||||
|
|
Loading…
Reference in a new issue