diff --git a/home.nix b/home.nix index d9f16ff..15631d2 100644 --- a/home.nix +++ b/home.nix @@ -81,9 +81,9 @@ if [ -n "$NIX_PROJECT_SHELL" ]; then PROMPT="($NIX_PROJECT_SHELL)$PROMPT" fi - # Only start Zellij if we're in an interactive terminal - if [ -z "$ZELLIJ" ] && [ "$TERM" != "linux" ]; then - exec zellij + # Only start tmux if we're in an interactive terminal + if [ -z "$TMUX" ] && [ "$TERM" != "linux" ]; then + exec tmux fi ''; @@ -102,16 +102,31 @@ }; }; - # Enable zellij (terminal multiplexing) - programs.zellij = { + # Enable tmux (terminal multiplexing) + programs.tmux = { enable = true; - # Optional: write your own config to ~/.config/zellij/config.kdl - settings = { - theme = "default"; - pane_frames = true; - default_layout = "compact"; - }; + # Basic tmux configuration + terminal = "screen-256color"; + historyLimit = 10000; + keyMode = "vi"; + mouse = true; + + extraConfig = '' + # Set prefix to Ctrl-a instead of Ctrl-b + unbind C-b + set-option -g prefix C-a + bind-key C-a send-prefix + + # Split panes using | and - + bind | split-window -h + bind - split-window -v + unbind '"' + unbind % + + # Reload config file + bind r source-file ~/.config/tmux/tmux.conf + ''; }; # Neovim management