{ config, lib, pkgs, ... }: with lib; let cfg = config.local.apps.terminal; in { options.local.apps.terminal.enable = mkEnableOption "terminal emulator settings"; config = mkIf cfg.enable { programs = { kitty = { enable = true; extraConfig = import ./kitty.conf.nix; }; tmux = { enable = true; aggressiveResize = true; clock24 = true; escapeTime = 10; terminal = "xterm-256color"; keyMode = "emacs"; mouse = true; extraConfig = '' set -ga update-environment " LIFT_PID" set -g set-titles on set -g renumber-windows on set -sa terminal-overrides ',xterm-termite:RGB' set -g status-style bg=default,fg=colour250 set -g pane-border-style fg=colour236 set -g pane-active-border-style fg=colour240 set -g window-status-format " #I:#W " set -g window-status-style bg=default,fg=colour244 set -g window-status-current-format " #I:#W " set -g window-status-current-style bg=colour236,fg=white,bold set -g status-position bottom set -g status-left-length 20 set -g status-right-length 60 set -g status-left "" set -g window-status-separator "" set -g status-justify left ''; }; }; home = { sessionVariables = { "TERMINAL" = "kitty"; }; }; }; }