diff options
Diffstat (limited to 'modules/terminal/hjem/programs/tmux.nix')
| -rw-r--r-- | modules/terminal/hjem/programs/tmux.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/modules/terminal/hjem/programs/tmux.nix b/modules/terminal/hjem/programs/tmux.nix index fd2737e..d6c7cf8 100644 --- a/modules/terminal/hjem/programs/tmux.nix +++ b/modules/terminal/hjem/programs/tmux.nix @@ -14,12 +14,57 @@ in { config = lib.mkIf cfg.enable { tsunami = { enable = true; + + theme = + if (cfg.theme == "catppuccin") + then { + bg = "#1e1e2e"; + bg_dark = "#181825"; + } + else if (cfg.theme == "adwaita") + then { + bg = "#1d1d1d"; + bg_dark = "#171717"; + } + else {}; + + scripts.switch_to_utility = + # bash + '' + # if utility session doesn't exist, create it + if ! tmux has-session -t "utility"; then + tmux new-session -ds "utility" -c "$HOME" + fi + + if [ -z "$TMUX" ]; then + # we're not in tmux + tmux attach-session -t "utility" + else + tmux switch -t "utility" + fi + + # if cmus window doesn't exist, create it + if ! tmux list-windows -t "utility" -F "#{window_name}" | grep -qx "utility_cmus"; then + tmux new-window -t "utility" -n "utility_cmus" "cmus" + fi + + # if bluetuith window doesn't exist, create it + if ! tmux list-windows -t "utility" -F "#{window_name}" | grep -qx "utility_bluetuith"; then + tmux new-window -t "utility" -n "utility_bluetuith" "bluetuith" + fi + ''; + keys.leader = [ { name = "Lazygit"; key = "C-g"; exec = "display-popup -E -w 80% -h 80% -x C -y C -d '#{?@default-path,#{@default-path},#{pane_current_path}}' ${lib.getExe pkgs.lazygit}"; } + { + name = "Utility"; + key = "C-u"; + exec = "display-popup -w 80% -h 80% -x C -y C 'TMUX= ~/.config/tmux/scripts/switch_to_utility.sh'"; + } ]; confs."main" = '' set -g mouse on |
