refactor: move tmux to nixosModules
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2024-11-22 16:10:51 -05:00
parent 06e62c54d4
commit ae24ae1400
6 changed files with 62 additions and 32 deletions

View file

@ -17,6 +17,9 @@ in {
./packages.nix
self.nixosModules.borgbackup
self.nixosModules.tmux
{programs.tmux.enableCustomConf = true;}
home-manager.nixosModules.home-manager
];

View file

@ -4,6 +4,5 @@
./direnv
./git
./nix-index
./tmux
];
}

View file

@ -1,31 +0,0 @@
{pkgs, ...}: {
programs = {
# Make sure we have color support
bash.shellAliases.tmux = "tmux -2";
tmux = {
enable = true;
mouse = true;
keyMode = "vi";
terminal = "tmux-256color";
newSession = true;
historyLimit = 30000;
plugins = builtins.attrValues {
inherit (pkgs.tmuxPlugins) dracula;
};
extraConfig =
# bash
''
bind-key -n Home send Escape "OH"
bind-key -n End send Escape "OF"
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
set -ga terminal-overrides ",*256col*:Tc"
'';
};
};
}

Binary file not shown.

View file

@ -9,5 +9,6 @@ self: {
nvidia = import ./nvidia;
plymouth = import ./plymouth;
server = import ./server;
tmux = import ./tmux;
wyoming-plus = import ./wyoming-plus;
}

View file

@ -0,0 +1,58 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) attrValues elemAt mkIf mkOption types;
cfg = config.programs.tmux;
firstUser = elemAt (attrValues config.home-manager.users) 0;
in {
options.programs.tmux = {
enableCustomConf = mkOption {
type = types.bool;
default = false;
};
};
config = mkIf cfg.enableCustomConf {
environment.etc."tmux.conf".source = firstUser.xdg.configFile."tmux/tmux.conf".source;
home-manager.sharedModules = [
{
programs = {
# Make sure we have color support
bash.shellAliases.tmux = "tmux -2";
tmux = {
enable = true;
mouse = true;
keyMode = "vi";
terminal = "tmux-256color";
newSession = true;
historyLimit = 30000;
plugins = attrValues {
inherit (pkgs.tmuxPlugins) dracula;
};
extraConfig =
# bash
''
bind-key -n Home send Escape "OH"
bind-key -n End send Escape "OF"
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
set -ga terminal-overrides ",*256col*:Tc"
'';
};
};
}
];
};
}