Turns out it is more trouble than it is worth trying to make this work:
with the secure socket problem etc...
The first start up is fast enough for me in the end.
This reverts commit cc21d84808.
49 lines
1.4 KiB
Nix
49 lines
1.4 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
let
|
|
cfg = config.my.home.tmux;
|
|
in
|
|
{
|
|
options.my.home.tmux = with lib.my; {
|
|
enable = mkDisableOption "tmux terminal multiplexer";
|
|
};
|
|
|
|
config.programs.tmux = lib.mkIf cfg.enable {
|
|
enable = true;
|
|
|
|
keyMode = "vi"; # Home-row keys and other niceties
|
|
clock24 = true; # I'm one of those heathens
|
|
escapeTime = 0; # Let vim do its thing instead
|
|
historyLimit = 50000; # Bigger buffer
|
|
terminal = "tmux-256color"; # I want accurate termcap info
|
|
|
|
plugins = with pkgs.tmuxPlugins; [
|
|
# Open high-lighted files in copy mode
|
|
open
|
|
# Better pane management
|
|
pain-control
|
|
# Better session management
|
|
sessionist
|
|
# X clipboard integration
|
|
yank
|
|
{
|
|
# Show when prefix has been pressed
|
|
plugin = prefix-highlight;
|
|
extraConfig = ''
|
|
# Also show when I'm in copy or sync mode
|
|
set -g @prefix_highlight_show_copy_mode 'on'
|
|
set -g @prefix_highlight_show_sync_mode 'on'
|
|
# Show prefix mode in status bar
|
|
set -g status-right '#{prefix_highlight} %a %Y-%m-%d %H:%M'
|
|
'';
|
|
}
|
|
];
|
|
|
|
extraConfig = ''
|
|
# Better vim mode
|
|
bind-key -T copy-mode-vi 'v' send -X begin-selection
|
|
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
|
|
# Block selection in vim mode
|
|
bind-key -Tcopy-mode-vi 'C-v' send -X begin-selection \; send -X rectangle-toggle
|
|
'';
|
|
};
|
|
}
|