From fba87a9480d85e19bdb39cee76cedaf761914bc8 Mon Sep 17 00:00:00 2001 From: foglar Date: Mon, 2 Dec 2024 21:18:01 +0100 Subject: [PATCH] tmux added --- nixos/packages/terminal_tools.nix | 22 +++++--------- nixos/packages/tools/tmux.nix | 48 +++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 nixos/packages/tools/tmux.nix diff --git a/nixos/packages/terminal_tools.nix b/nixos/packages/terminal_tools.nix index 136fa76..a7e0b8d 100644 --- a/nixos/packages/terminal_tools.nix +++ b/nixos/packages/terminal_tools.nix @@ -12,6 +12,8 @@ imports = [ ./tools/oh-my-posh.nix ./tools/shell.nix + ./tools/kitty.nix + ./tools/tmux.nix ]; config = lib.mkIf config.terminal_tools.enable { @@ -21,11 +23,15 @@ oh-my-posh.enable = lib.mkDefault true; }; + program = { + kitty.enable = lib.mkDefault true; + tmux.enable = lib.mkDefault true; + }; + programs = { bat.enable = true; btop.enable = true; fzf.enable = true; - tmux.enable = true; }; stylix.targets = { @@ -42,20 +48,6 @@ enableBashIntegration = true; }; - programs.kitty = { - enable = true; - font.name = lib.mkDefault "JetBrainsMono Nerd Font"; - #themeFile = "tokyo_night_night"; - #themeFile = "Catppuccin-Mocha"; - settings = { - font_size = 11.5; - confirm_os_window_close = 0; - hide_window_decorations = 0; - enable_audio_bell = false; - window_padding_width = 25; - }; - }; - home.packages = with pkgs; [ pfetch zoxide diff --git a/nixos/packages/tools/tmux.nix b/nixos/packages/tools/tmux.nix new file mode 100644 index 0000000..c1ed477 --- /dev/null +++ b/nixos/packages/tools/tmux.nix @@ -0,0 +1,48 @@ +{ + lib, + config, + pkgs, + ... +}: { + options = { + programs.tmux.enable = lib.mkEnableOption "tmux"; + }; + + config = lib.mkIf config.programs.tmux.enable { + programs.tmux = { + enable = true; + clock24 = true; + terminal = "screen-256color"; + + plugins = [ + pkgs.tmuxPlugins.dracula + pkgs.tmuxPlugins.tpm + #pkgs.tmuxPlugins.tmux-fzf + pkgs.tmuxPlugins.sensible + pkgs.tmuxPlugins.yank + pkgs.tmuxPlugins.jump + ]; + + extraConfig = '' + # Set switching between windows simpler + unbind C-b + set -g prefix C-Space + bind C-Space send-prefix + + bind -n M-H previous-window + bind -n M-L next-window + + set -g status-position top + set-option -sa terminal-overrides ",xterm*:Tc" + set-option -g mouse on + + set-window-option -g mode-keys vi + setw -g mode-keys vi + #keybindings for copying + bind-key -T copy-mode-vi v send-keys -X begin-selection + bind-key -T copy-mode-vi C-v send-keys -X rectangle toggle + bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel + ''; + }; + }; +}