# Common configuration for Tmux users { config, pkgs, ... }: { programs = { tmux = { # Terminal multiplexer required by byobu enable = true; aggressiveResize = true; clock24 = true; extraConfig = '' POWERLINE_COMMAND="/run/current-system/sw/bin/powerline" POWERLINE_CONFIG_COMMAND="/run/current-system/sw/bin/powerline-config" run-shell "/run/current-system/sw/bin/powerline-daemon -q" source /run/current-system/sw/share/tmux/powerline.conf # Plugins set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-continuum' # Bind home and end keys: bind-key -n Home send Escape "OH" bind-key -n End send Escape "OF" ## COLORSCHEME: gruvbox dark set-option -g status "on" # default statusbar color set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1 # default window title colors set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1 # default window with an activity alert set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3 # active window title colors set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1 # pane border set-option -g pane-active-border-style fg=colour250 #fg2 set-option -g pane-border-style fg=colour237 #bg1 # message infos set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1 # writing commands inactive set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1 # pane number display set-option -g display-panes-active-colour colour250 #fg2 set-option -g display-panes-colour colour237 #bg1 # clock set-window-option -g clock-mode-colour colour109 #blue # bell set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg # focus set-option -g focus-events on ## Theme settings mixed with colors (unfortunately, but there is no cleaner way) set-option -g status-justify "left" set-option -g status-left-style none set-option -g status-left-length "80" set-option -g status-right-style none set-option -g status-right-length "80" set-window-option -g window-status-separator "" set-option -g status-left "#[fg=colour248, bg=colour241] #S #[fg=colour241, bg=colour237, nobold, noitalics, nounderscore]" set-option -g status-right "#[fg=colour239, bg=colour237, nobold, nounderscore, noitalics]#[fg=colour246,bg=colour239] %Y-%m-%d  %H:%M #[fg=colour248, bg=colour239, nobold, noitalics, nounderscore]#[fg=colour237, bg=colour248] #h " set-window-option -g window-status-current-format "#[fg=colour237, bg=colour214, nobold, noitalics, nounderscore]#[fg=colour239, bg=colour214] #I #[fg=colour239, bg=colour214, bold] #W #[fg=colour214, bg=colour237, nobold, noitalics, nounderscore]" set-window-option -g window-status-format "#[fg=colour237,bg=colour239,noitalics]#[fg=colour223,bg=colour239] #I #[fg=colour223, bg=colour239] #W #[fg=colour239, bg=colour237, noitalics]" ''; keyMode = "vi"; newSession = true; shortcut = "a"; terminal = "screen-256color"; }; }; environment.systemPackages = with pkgs; [ python36Packages.powerline # Prompt enhancer tmuxPlugins.tmux-fzf tmuxPlugins.resurrect tmuxPlugins.continuum ]; }