diff --git a/.gitmodules b/.gitmodules index db4cdff..b18f0d7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,37 +19,33 @@ url = https://github.com/cheat/cheatsheets.git ignore = dirty -[submodule "tmux/tpm"] - path = config/tmux/plugins/tpm - url = https://github.com/tmux-plugins/tpm.git - ignore = dirty -[submodule "tmux/catppuccin"] - path = config/tmux/plugins/tmux - url = https://github.com/catppuccin/tmux.git [submodule "tmux/tmux-continuum"] path = config/tmux/plugins/tmux-continuum url = https://github.com/tmux-plugins/tmux-continuum -[submodule "tmux/tmux-menus"] - path = config/tmux/plugins/tmux-menus - url = https://github.com/jaclu/tmux-menus.git + ignore = dirty [submodule "tmux/tmux-resurrect"] path = config/tmux/plugins/tmux-resurrect url = https://github.com/tmux-plugins/tmux-resurrect + ignore = dirty [submodule "tmux/tmux-sensible"] path = config/tmux/plugins/tmux-sensible url = https://github.com/tmux-plugins/tmux-sensible.git + ignore = dirty [submodule "tmux/tmux-sessionist"] path = config/tmux/plugins/tmux-sessionist url = https://github.com/tmux-plugins/tmux-sessionist.git + ignore = dirty [submodule "tmux/tmux-yank"] path = config/tmux/plugins/tmux-yank url = https://github.com/tmux-plugins/tmux-yank.git + ignore = dirty [submodule "tmux/tmux-window-name"] path = config/tmux/plugins/tmux-window-name url = https://github.com/ofirgall/tmux-window-name.git [submodule "dotbot-snap"] path = tools/dotbot-snap url = https://github.com/DrDynamic/dotbot-snap.git + ignore = dirty [submodule "dotbot-pip"] path = tools/dotbot-pip url = https://github.com/sobolevn/dotbot-pip.git diff --git a/add-submodules.sh b/add-submodules.sh index c7a2418..c30d3e0 100755 --- a/add-submodules.sh +++ b/add-submodules.sh @@ -19,14 +19,8 @@ git submodule add --name cheat-community \ -f https://github.com/cheat/cheatsheets.git config/cheat/cheatsheets/community # tmux plugin manager and plugins -git submodule add --name tmux/tpm \ - -f https://github.com/tmux-plugins/tpm.git config/tmux/plugins/tpm -git submodule add --name tmux/catppuccin \ - -f https://github.com/catppuccin/tmux.git config/tmux/plugins/tmux git submodule add --name tmux/tmux-continuum \ -f https://github.com/tmux-plugins/tmux-continuum config/tmux/plugins/tmux-continuum -git submodule add --name tmux/tmux-menus \ - -f https://github.com/jaclu/tmux-menus.git config/tmux/plugins/tmux-menus git submodule add --name tmux/tmux-resurrect \ -f https://github.com/tmux-plugins/tmux-resurrect config/tmux/plugins/tmux-resurrect git submodule add --name tmux/tmux-sensible \ @@ -37,3 +31,8 @@ git submodule add --name tmux/tmux-window-name \ -f https://github.com/ofirgall/tmux-window-name.git config/tmux/plugins/tmux-window-name git submodule add --name tmux/tmux-yank \ -f https://github.com/tmux-plugins/tmux-yank.git config/tmux/plugins/tmux-yank + +# remove old submodules +[ -d "config/tmux/plugins/tpm" ] && rm -rf config/tmux/plugins/tpm +[ -d "config/tmux/plugins/tmux" ] && rm -rf config/tmux/plugins/tmux +[ -d "config/tmux/plugins/tmux-menus" ] && rm -rf config/tmux/plugins/tmux-menus diff --git a/config/alacritty/alacritty.yml b/config/alacritty/alacritty.yml index b2726c1..98fa021 100644 --- a/config/alacritty/alacritty.yml +++ b/config/alacritty/alacritty.yml @@ -75,144 +75,39 @@ font: # Should display the render timer debug.render_timer: false -# https://github.com/catppuccin/alacritty +# TokyoNight Alacritty Colors (storm) colors: + # Default colors primary: - background: '#1E1E2E' # base - foreground: '#CDD6F4' # text - # Bright and dim foreground colors - dim_foreground: '#CDD6F4' # text - bright_foreground: '#CDD6F4' # text - - # Cursor colors - cursor: - text: '#1E1E2E' # base - cursor: '#F5E0DC' # rosewater - vi_mode_cursor: - text: '#1E1E2E' # base - cursor: '#B4BEFE' # lavender - - # Search colors - search: - matches: - foreground: '#1E1E2E' # base - background: '#A6ADC8' # subtext0 - focused_match: - foreground: '#1E1E2E' # base - background: '#A6E3A1' # green - footer_bar: - foreground: '#1E1E2E' # base - background: '#A6ADC8' # subtext0 - - # Keyboard regex hints - hints: - start: - foreground: '#1E1E2E' # base - background: '#F9E2AF' # yellow - end: - foreground: '#1E1E2E' # base - background: '#A6ADC8' # subtext0 - - # Selection colors - selection: - text: '#1E1E2E' # base - background: '#F5E0DC' # rosewater + background: '0x24283b' + foreground: '0xc0caf5' # Normal colors normal: - black: '#45475A' # surface1 - red: '#F38BA8' # red - green: '#A6E3A1' # green - yellow: '#F9E2AF' # yellow - blue: '#89B4FA' # blue - magenta: '#F5C2E7' # pink - cyan: '#94E2D5' # teal - white: '#BAC2DE' # subtext1 + black: '0x1d202f' + red: '0xf7768e' + green: '0x9ece6a' + yellow: '0xe0af68' + blue: '0x7aa2f7' + magenta: '0xbb9af7' + cyan: '0x7dcfff' + white: '0xa9b1d6' # Bright colors bright: - black: '#585B70' # surface2 - red: '#F38BA8' # red - green: '#A6E3A1' # green - yellow: '#F9E2AF' # yellow - blue: '#89B4FA' # blue - magenta: '#F5C2E7' # pink - cyan: '#94E2D5' # teal - white: '#A6ADC8' # subtext0 - - # Dim colors - dim: - black: '#45475A' # surface1 - red: '#F38BA8' # red - green: '#A6E3A1' # green - yellow: '#F9E2AF' # yellow - blue: '#89B4FA' # blue - magenta: '#F5C2E7' # pink - cyan: '#94E2D5' # teal - white: '#BAC2DE' # subtext1 + black: '0x414868' + red: '0xf7768e' + green: '0x9ece6a' + yellow: '0xe0af68' + blue: '0x7aa2f7' + magenta: '0xbb9af7' + cyan: '0x7dcfff' + white: '0xc0caf5' indexed_colors: - - { index: 16, color: '#FAB387' } - - { index: 17, color: '#F5E0DC' } + - { index: 16, color: '0xff9e64' } + - { index: 17, color: '0xdb4b4b' } -# Visual Bell -# -# Any time the BEL code is received, Alacritty "rings" the visual bell. Once -# rung, the terminal background will be set to white and transition back to the -# default background color. You can control the rate of this transition by -# setting the `duration` property (represented in milliseconds). You can also -# configure the transition function by setting the `animation` property. -# -# Possible values for `animation` -# `Ease` -# `EaseOut` -# `EaseOutSine` -# `EaseOutQuad` -# `EaseOutCubic` -# `EaseOutQuart` -# `EaseOutQuint` -# `EaseOutExpo` -# `EaseOutCirc` -# `Linear` -# -# To completely disable the visual bell, set its duration to 0. -# -# visual_bell: -# animation: EaseOutExpo -# duration: 0 - -# Key bindings -# -# Each binding is defined as an object with some properties. Most of the -# properties are optional. All of the alphabetical keys should have a letter for -# the `key` value such as `V`. Function keys are probably what you would expect -# as well (F1, F2, ..). The number keys above the main keyboard are encoded as -# `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`, -# etc. These all match the glutin::VirtualKeyCode variants. -# -# Possible values for `mods` -# `Command`, `Super` refer to the super/command/windows key -# `Control` for the control key -# `Shift` for the Shift key -# `Alt` and `Option` refer to alt/option -# -# mods may be combined with a `|`. For example, requiring control and shift -# looks like: -# -# mods: Control|Shift -# -# The parser is currently quite sensitive to whitespace and capitalization - -# capitalization must match exactly, and piped items must not have whitespace -# around them. -# -# Either an `action`, `chars`, or `command` field must be present. -# `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`. -# `chars` writes the specified string every time that binding is activated. -# These should generally be escape sequences, but they can be configured to -# send arbitrary strings of bytes. -# `command` must be a map containing a `program` string, and `args` array of -# strings. For example: -# - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } } key_bindings: - { key: V, mods: Command, action: Paste } - { key: C, mods: Command, action: Copy } diff --git a/config/tmux/plugins/tmux b/config/tmux/plugins/tmux deleted file mode 160000 index 38932bd..0000000 --- a/config/tmux/plugins/tmux +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 38932bddfcabfe3b2bc4e8c71e273c3505f9be95 diff --git a/config/tmux/plugins/tmux-menus b/config/tmux/plugins/tmux-menus deleted file mode 160000 index c24c8d5..0000000 --- a/config/tmux/plugins/tmux-menus +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c24c8d5ecb6e1c126831cc55d05d78e9582587cd diff --git a/config/tmux/plugins/tpm b/config/tmux/plugins/tpm deleted file mode 160000 index 1ff3208..0000000 --- a/config/tmux/plugins/tpm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1ff32085b2b30956fbab58b1520d84d95f18d48d diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index ca60c19..e4c3a35 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -85,62 +85,37 @@ set-option -g renumber-windows on # set vi-mode set-window-option -g mode-keys vi +# Set theme to tokyonight +source-file ~/.dotfiles/config/tmux/tokyonight_storm.tmux + # ╭──────────────────────────────────────────────────────────╮ # │ Plugins │ # ╰──────────────────────────────────────────────────────────╯ -# Set plugins install dir -set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.dotfiles/config/tmux/plugins' - -## Install plugins, starting with plugin manager -set -g @tpm_plugins ' \ - catppuccin/tmux \ - tmux-plugins/tmux-continuum \ - jaclu/tmux-menus \ - ofirgall/tmux-window-name \ - tmux-plugins/tmux-resurrect \ - tmux-plugins/tmux-sensible \ - tmux-plugins/tmux-sessionist \ - tmux-plugins/tmux-yank \ - tmux-plugins/tpm \ -' +run-shell ~/.dotfiles/config/tmux/plugins/tmux-sensible/sensible.tmux +run-shell ~/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux +run-shell ~/.dotfiles/config/tmux/plugins/tmux-resurrect/resurrect.tmux +run-shell ~/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux +run-shell ~/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux +run-shell ~/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux # ╭──────────────────────────────────────────────────────────╮ # │ Plugins related configurations │ # ╰──────────────────────────────────────────────────────────╯ -## https://github.com/jaclu/tmux-menus -set -g @menus_trigger 'm' - ## A plugin to name your tmux windows smartly. ## https://github.com/ofirgall/tmux-window-name ### Maximum name length of a window -set -g @tmux_window_name_max_name_len "20" +set -g @tmux_window_name_max_name_len "30" ### Replace $HOME with ~ in window names set -g @tmux_window_name_use_tilde "True" -## https://github.com/catppuccin/tmux -set -g @catppuccin_flavour "mocha" # latte/frappe/macchiato/mocha -set -g @catppuccin_window_tabs_enabled on # or off to disable window_tabs -set -g @catppuccin_window_status_enable "yes" - -## set -g @catppuccin_window_right_separator "█" -set -g @catppuccin_window_number_position "left" -set -g @catppuccin_window_middle_separator ": " -set -g @catppuccin_window_default_fill "none" -set -g @catppuccin_window_current_fill "all" -set -g @catppuccin_status_modules "application session date_time" -set -g @catppuccin_status_left_separator "█" -set -g @catppuccin_status_right_separator "█" -set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M" - ## https://github.com/tmux-plugins/tmux-continuum set -g @continuum-restore 'on' set -g @continuum-boot 'on' +set -g @continuum-boot-options 'alacritty' ## https://github.com/tmux-plugins/tmux-resurrect set -g @resurrect-strategy-nvim 'session' set -g @resurrect-dir '$HOME/.local/state/tmux/tmux-resurrect' -# Finally run the tmux plugin manager -run '~/.dotfiles/config/tmux/plugins/tpm/tpm' diff --git a/config/tmux/tokyonight_storm.tmux b/config/tmux/tokyonight_storm.tmux new file mode 100755 index 0000000..f920139 --- /dev/null +++ b/config/tmux/tokyonight_storm.tmux @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# TokyoNight colors for Tmux + +set -g mode-style "fg=#7aa2f7,bg=#3b4261" + +set -g message-style "fg=#7aa2f7,bg=#3b4261" +set -g message-command-style "fg=#7aa2f7,bg=#3b4261" + +set -g pane-border-style "fg=#3b4261" +set -g pane-active-border-style "fg=#7aa2f7" + +set -g status "on" +set -g status-justify "left" + +set -g status-style "fg=#7aa2f7,bg=#1f2335" + +set -g status-left-length "100" +set -g status-right-length "100" + +set -g status-left-style NONE +set -g status-right-style NONE + +set -g status-left "#[fg=#1d202f,bg=#7aa2f7,bold] #S #[fg=#7aa2f7,bg=#1f2335,nobold,nounderscore,noitalics]" +set -g status-right "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#1f2335] #{prefix_highlight} #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261] %Y-%m-%d  %I:%M %p #[fg=#7aa2f7,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1d202f,bg=#7aa2f7,bold] #h " +if-shell '[ "$(tmux show-option -gqv "clock-mode-style")" == "24" ]' { + set -g status-right "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#1f2335] #{prefix_highlight} #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261] %Y-%m-%d  %H:%M #[fg=#7aa2f7,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#1d202f,bg=#7aa2f7,bold] #h " +} + +setw -g window-status-activity-style "underscore,fg=#a9b1d6,bg=#1f2335" +setw -g window-status-separator "" +setw -g window-status-style "NONE,fg=#a9b1d6,bg=#1f2335" +setw -g window-status-format "#[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]#[default] #I  #W #F #[fg=#1f2335,bg=#1f2335,nobold,nounderscore,noitalics]" +setw -g window-status-current-format "#[fg=#1f2335,bg=#3b4261,nobold,nounderscore,noitalics]#[fg=#7aa2f7,bg=#3b4261,bold] #I  #W #F #[fg=#3b4261,bg=#1f2335,nobold,nounderscore,noitalics]" + +# tmux-plugins/tmux-prefix-highlight support +set -g @prefix_highlight_output_prefix "#[fg=#e0af68]#[bg=#1f2335]#[fg=#1f2335]#[bg=#e0af68]" +set -g @prefix_highlight_output_suffix ""