mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-04 19:48:55 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e1deba4ccf | |||
| 36e4de3035 | |||
| 3eab1faeab | |||
| 1eb4098646 | |||
| f7db8cae15 | |||
| 97dd3dc21d | |||
| 6da6797f1b | |||
|
|
88356f1392 | ||
| 174bb842e9 | |||
| f6e7590118 | |||
| 498996a6e2 | |||
| 0961985fb4 | |||
| 293452604d | |||
|
|
9582f18c7d |
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* @ivuorinen
|
||||||
@@ -49,7 +49,7 @@ repos:
|
|||||||
- id: actionlint
|
- id: actionlint
|
||||||
|
|
||||||
- repo: https://github.com/renovatebot/pre-commit-hooks
|
- repo: https://github.com/renovatebot/pre-commit-hooks
|
||||||
rev: 39.91.0
|
rev: 39.96.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: renovate-config-validator
|
- id: renovate-config-validator
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ alias .='cd $HOME'
|
|||||||
alias .b='cd $XDG_BIN_HOME'
|
alias .b='cd $XDG_BIN_HOME'
|
||||||
alias .c='cd $HOME/Code'
|
alias .c='cd $HOME/Code'
|
||||||
alias .d='cd $DOTFILES'
|
alias .d='cd $DOTFILES'
|
||||||
alias .dx='cd $DOTFILES;nvim'
|
|
||||||
alias .l='cd $HOME/.local'
|
alias .l='cd $HOME/.local'
|
||||||
|
alias .o='cd $HOME/Code/ivuorinen/obsidian/'
|
||||||
|
|
||||||
# Shortcuts for listing
|
# Shortcuts for listing
|
||||||
alias ll="ls -la"
|
alias ll="ls -la"
|
||||||
|
|||||||
@@ -333,14 +333,6 @@ export ANTIDOTE_DIR="$DOTFILES/tools/antidote"
|
|||||||
export ANTIDOTE_HOME="$XDG_CACHE_HOME/antidote"
|
export ANTIDOTE_HOME="$XDG_CACHE_HOME/antidote"
|
||||||
export ANTIDOTE_PLUGINS="$XDG_CONFIG_HOME/zsh/antidote_plugins"
|
export ANTIDOTE_PLUGINS="$XDG_CONFIG_HOME/zsh/antidote_plugins"
|
||||||
|
|
||||||
# Antigen configuration
|
|
||||||
# https://github.com/zsh-users/antigen/wiki/Configuration
|
|
||||||
msg "Setting up Antigen configuration"
|
|
||||||
export ADOTDIR="$XDG_DATA_HOME/antigen"
|
|
||||||
export ANTIGEN_CACHE="$XDG_CACHE_HOME/antigen"
|
|
||||||
export ANTIGEN_SYSTEM_RECEIPT_F=".local/share/antigen/antigen_system_lastupdate"
|
|
||||||
export ANTIGEN_PLUGIN_RECEIPT_F=".local/share/antigen/antigen_plugin_lastupdate"
|
|
||||||
|
|
||||||
# Ansible configuration
|
# Ansible configuration
|
||||||
# https://docs.ansible.com/ansible/latest/reference_appendices/config.html
|
# https://docs.ansible.com/ansible/latest/reference_appendices/config.html
|
||||||
msg "Setting up Ansible configuration"
|
msg "Setting up Ansible configuration"
|
||||||
@@ -476,6 +468,7 @@ export TF_PLUGIN_CACHE_DIR="$XDG_CACHE_HOME/terraform/plugin-cache"
|
|||||||
# tmux
|
# tmux
|
||||||
# https://tmux.github.io/
|
# https://tmux.github.io/
|
||||||
msg "Setting up tmux configuration"
|
msg "Setting up tmux configuration"
|
||||||
|
export TMUX_TMPDIR="$XDG_STATE_HOME/tmux"
|
||||||
export TMUX_PLUGINS="$XDG_CONFIG_HOME/tmux/plugins"
|
export TMUX_PLUGINS="$XDG_CONFIG_HOME/tmux/plugins"
|
||||||
export TMUX_CONF="$XDG_CONFIG_HOME/tmux/tmux.conf"
|
export TMUX_CONF="$XDG_CONFIG_HOME/tmux/tmux.conf"
|
||||||
## These settings are for zsh-tmux
|
## These settings are for zsh-tmux
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ 'L3MON4D3/LuaSnip', version = 'v2.*' },
|
||||||
|
|
||||||
-- Set of preconfigured snippets for different languages.
|
-- Set of preconfigured snippets for different languages.
|
||||||
-- https://github.com/rafamadriz/friendly-snippets
|
-- https://github.com/rafamadriz/friendly-snippets
|
||||||
{ 'rafamadriz/friendly-snippets' },
|
{ 'rafamadriz/friendly-snippets' },
|
||||||
@@ -50,6 +52,7 @@ return {
|
|||||||
---@module 'blink.cmp'
|
---@module 'blink.cmp'
|
||||||
---@type blink.cmp.Config
|
---@type blink.cmp.Config
|
||||||
opts = {
|
opts = {
|
||||||
|
snippets = { preset = 'luasnip' },
|
||||||
-- 'default' for mappings similar to built-in completion
|
-- 'default' for mappings similar to built-in completion
|
||||||
-- 'super-tab' for mappings similar to vscode (tab to accept, arrow keys to navigate)
|
-- 'super-tab' for mappings similar to vscode (tab to accept, arrow keys to navigate)
|
||||||
-- 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
|
-- 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
|
||||||
@@ -92,10 +95,11 @@ return {
|
|||||||
-- elsewhere in your config, without redefining it, via `opts_extend`
|
-- elsewhere in your config, without redefining it, via `opts_extend`
|
||||||
sources = {
|
sources = {
|
||||||
default = {
|
default = {
|
||||||
|
'lazydev',
|
||||||
'lsp',
|
'lsp',
|
||||||
|
'snippets',
|
||||||
'copilot',
|
'copilot',
|
||||||
'path',
|
'path',
|
||||||
'snippets',
|
|
||||||
'buffer',
|
'buffer',
|
||||||
},
|
},
|
||||||
providers = {
|
providers = {
|
||||||
@@ -103,12 +107,15 @@ return {
|
|||||||
name = 'copilot',
|
name = 'copilot',
|
||||||
module = 'blink-cmp-copilot',
|
module = 'blink-cmp-copilot',
|
||||||
},
|
},
|
||||||
|
lazydev = {
|
||||||
|
name = 'LazyDev',
|
||||||
|
module = 'lazydev.integrations.blink',
|
||||||
|
-- make lazydev completions top priority (see `:h blink.cmp`)
|
||||||
|
score_offset = 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
-- experimental auto-brackets support
|
|
||||||
-- completion = { accept = { auto_brackets = { enabled = true } } }
|
|
||||||
|
|
||||||
-- experimental signature help support
|
-- experimental signature help support
|
||||||
signature = { enabled = true },
|
signature = { enabled = true },
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -150,7 +150,6 @@ return {
|
|||||||
{
|
{
|
||||||
'whatyouhide/vim-textobj-xmlattr',
|
'whatyouhide/vim-textobj-xmlattr',
|
||||||
dependencies = { 'kana/vim-textobj-user' },
|
dependencies = { 'kana/vim-textobj-user' },
|
||||||
opts = {},
|
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Describe the regexp under the cursor
|
-- Describe the regexp under the cursor
|
||||||
|
|||||||
@@ -124,6 +124,9 @@ return {
|
|||||||
library = {
|
library = {
|
||||||
-- Load luvit types when the `vim.uv` word is found
|
-- Load luvit types when the `vim.uv` word is found
|
||||||
{ path = 'luvit-meta/library', words = { 'vim%.uv' } },
|
{ path = 'luvit-meta/library', words = { 'vim%.uv' } },
|
||||||
|
-- load assert and describe paths
|
||||||
|
{ path = 'luassert/library', words = { 'assert' } },
|
||||||
|
{ path = 'busted/library', words = { 'describe' } },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,114 +4,35 @@
|
|||||||
# - https://tmuxguide.readthedocs.io/en/latest/tmux/tmux.html
|
# - https://tmuxguide.readthedocs.io/en/latest/tmux/tmux.html
|
||||||
# - https://github.com/dreamsofcode-io/tmux/blob/main/tmux.conf
|
# - https://github.com/dreamsofcode-io/tmux/blob/main/tmux.conf
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Bindings │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
# bind flags
|
|
||||||
# -r = repeatable, only needs prefix once
|
|
||||||
# -n = doesn't need prefix
|
|
||||||
# -t = binds to a certain key-table (root, copy-mode, prefix, etc.)
|
|
||||||
|
|
||||||
# Set <prefix> to Control + Space, keeping the default of C-b intact.
|
|
||||||
# C-Space send-prefix line doubles the prefix when in nested tmux session.
|
|
||||||
# unbind C-b
|
|
||||||
set -g prefix C-Space
|
|
||||||
bind C-Space send-prefix
|
|
||||||
|
|
||||||
# Use Alt-arrow keys without prefix key to switch panes
|
|
||||||
bind -n M-Left select-pane -L
|
|
||||||
bind -n M-Right select-pane -R
|
|
||||||
bind -n M-Up select-pane -U
|
|
||||||
bind -n M-Down select-pane -D
|
|
||||||
|
|
||||||
# Smart pane switching with awareness of vim splits
|
|
||||||
is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"'
|
|
||||||
bind -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
|
|
||||||
bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
|
|
||||||
bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
|
|
||||||
bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
|
|
||||||
|
|
||||||
# Reload tmux config with <prefix> + r
|
|
||||||
unbind r
|
|
||||||
bind r source-file ~/.dotfiles/config/tmux/tmux.conf \; display "tmux cfg reloaded!"
|
|
||||||
|
|
||||||
# Switch to next client with <prefix>( and previous with <prefix>)
|
|
||||||
# Repeatable, only needs prefix once
|
|
||||||
bind -r '(' switch-client -p\; refresh-client -S
|
|
||||||
bind -r ')' switch-client -n\; refresh-client -S
|
|
||||||
|
|
||||||
# Switch between previous and next windows with repeatable
|
|
||||||
# <prefix> + n and <prefix> + p
|
|
||||||
bind -r n next-window
|
|
||||||
bind -r p previous-window
|
|
||||||
|
|
||||||
# Switch between two most recently used windows
|
|
||||||
bind Space last-window
|
|
||||||
|
|
||||||
# Move the current window to the next window or previous window position
|
|
||||||
bind -r N run-shell "tmux swap-window -t $(expr $(tmux list-windows | grep \"(active)\" | cut -d \":\" -f 1) + 1)"
|
|
||||||
bind -r P run-shell "tmux swap-window -t $(expr $(tmux list-windows | grep \"(active)\" | cut -d \":\" -f 1) - 1)"
|
|
||||||
|
|
||||||
bind-key > swap-window -t +1 \; next
|
|
||||||
bind-key < swap-window -t -1 \; prev
|
|
||||||
|
|
||||||
# Open a new window with <prefix> + N
|
|
||||||
bind N new-window
|
|
||||||
|
|
||||||
# Set default directory for new windows in this session to current directory:
|
|
||||||
bind M-c attach-session -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
# Open a new window in the current directory
|
|
||||||
bind C new-window -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
# Copy mode
|
|
||||||
bind -T copy-mode-vi v send-keys -X begin-selection
|
|
||||||
bind -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
|
||||||
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
|
||||||
|
|
||||||
# Splits
|
|
||||||
bind '"' split-window -v -c "#{pane_current_path}"
|
|
||||||
bind '!' split-window -h -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
# .local/bin/t triggers
|
|
||||||
bind -r T new-window ~/.local/bin/t
|
|
||||||
bind -r D run-shell "t ~/Code/ivuorinen/dotfiles"
|
|
||||||
|
|
||||||
# synchronize all panes in a window
|
|
||||||
bind y setw synchronize-panes
|
|
||||||
|
|
||||||
#### copy mode : vim ####
|
|
||||||
# copy mode using 'Esc'
|
|
||||||
unbind [
|
|
||||||
bind Escape copy-mode
|
|
||||||
|
|
||||||
# paste using 'p'
|
|
||||||
unbind p
|
|
||||||
bind p paste-buffer
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
# │ Settings │
|
# │ Settings │
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
# set [flags] [command] [value]
|
||||||
|
# Flags can be combined, e.g. -as
|
||||||
|
# -a : Append the value to the existing setting.
|
||||||
|
# -s : Apply the setting to the current session.
|
||||||
|
# -g : Apply the setting globally to all sessions.
|
||||||
|
# -o : Set the option only if it is not already set.
|
||||||
|
# -u : Unset the specified option.
|
||||||
|
|
||||||
# set -g default-terminal "tmux-256color"
|
set -g default-terminal "tmux-256color"
|
||||||
# set -ag terminal-overrides ",xterm-256color:RGB"
|
# set -ag terminal-overrides ",xterm-256color:RGB"
|
||||||
|
|
||||||
# Undercurl
|
# undercurl
|
||||||
set -g default-terminal "${TERM}"
|
|
||||||
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
|
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
|
||||||
set -as terminal-overrides ',*:Setulc=\E[58::2::::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colors - needs tmux-3.0
|
set -as terminal-overrides ',*:Setulc=\E[58::2::::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colors - needs tmux-3.0
|
||||||
|
|
||||||
# Enable hyperlinks
|
# Enable hyperlinks
|
||||||
set -as terminal-overrides ',*:Hls=\E]8;id=%p1%s;%p2%s\E\\:Hlr=\E]8;;\E\\''
|
# set -as terminal-overrides ',*:Hls=\E]8;id=%p1%s;%p2%s\E\\:Hlr=\E]8;;\E\\''
|
||||||
|
|
||||||
# Setting status on
|
set -g status-keys vi # vi keys to move between panes
|
||||||
set -g status "on"
|
set -g detach-on-destroy off # don't detach tmux when killing a session
|
||||||
|
set -g display-time 0 # Hide clock
|
||||||
# Allow tmux to set the terminal title
|
set -g focus-events on # Focus events enabled for terminals that support them
|
||||||
set -g set-titles on
|
set -g mouse on # Mouse support
|
||||||
|
set -g set-titles "on" # Allow tmux to set the terminal title
|
||||||
# Hide clock
|
set -g set-titles on # Expose window title
|
||||||
set -g display-time 0
|
set -g status "on" # Setting status on
|
||||||
|
|
||||||
# Activity Monitoring (for when something happens in another pain)
|
# Activity Monitoring (for when something happens in another pain)
|
||||||
set -g monitor-activity on
|
set -g monitor-activity on
|
||||||
@@ -121,63 +42,28 @@ set -g visual-bell off
|
|||||||
# A bell in another window should cause a bell in the current window
|
# A bell in another window should cause a bell in the current window
|
||||||
set -g bell-action any
|
set -g bell-action any
|
||||||
|
|
||||||
# Expose window title
|
|
||||||
set-option -g set-titles on
|
|
||||||
|
|
||||||
# Set bigger history limit
|
|
||||||
set -g history-limit 20000
|
|
||||||
|
|
||||||
# Keep Tmux alive when the initial command is finished
|
# Keep Tmux alive when the initial command is finished
|
||||||
set -g remain-on-exit off
|
set -g remain-on-exit off
|
||||||
|
|
||||||
# Mouse support
|
|
||||||
set -g mouse on
|
|
||||||
|
|
||||||
# Make delay shorter
|
|
||||||
set -sg escape-time 0
|
|
||||||
|
|
||||||
# Start windows and panes at 1, not 0
|
# Start windows and panes at 1, not 0
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
set -g pane-base-index 1
|
set -g pane-base-index 1
|
||||||
set-window-option -g pane-base-index 1
|
set -g renumber-windows on
|
||||||
set-option -g renumber-windows on
|
|
||||||
|
|
||||||
# set vi-mode
|
|
||||||
set-window-option -g mode-keys vi
|
|
||||||
|
|
||||||
# don't detach tmux when killing a session
|
|
||||||
set -g detach-on-destroy off
|
|
||||||
|
|
||||||
# address vim mode switching delay (http://superuser.com/a/252717/65504)
|
|
||||||
set -s escape-time 0
|
|
||||||
|
|
||||||
# Focus events enabled for terminals that support them
|
|
||||||
set -g focus-events on
|
|
||||||
|
|
||||||
# Useful when using sharing a session with different size terminals
|
|
||||||
setw -g aggressive-resize on
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
# │ Theme │
|
# │ Theme │
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
set -g status-left-length "0"
|
|
||||||
set -g status-right-length "30"
|
|
||||||
|
|
||||||
set-option -g status-position "bottom"
|
|
||||||
set-option -g status-justify left
|
|
||||||
set-option -g status-left ''
|
|
||||||
set-option -g window-status-format ' #I:#W '
|
|
||||||
set-option -g window-status-current-format ' #I:#W#{?window_zoomed_flag, ◈ ,} '
|
|
||||||
|
|
||||||
set-option -g status-right "#S@#{hostname_short} #{tmux_mode_indicator}"
|
|
||||||
|
|
||||||
set -g pane-border-style "fg=#3b4261"
|
|
||||||
set -g pane-active-border-style "fg=#7aa2f7"
|
set -g pane-active-border-style "fg=#7aa2f7"
|
||||||
|
set -g pane-border-style "fg=#3b4261"
|
||||||
# https://github.com/erikw/tmux-dark-notify
|
set -g status-justify "left"
|
||||||
set -g @dark-notify-theme-path-light '~/.dotfiles/config/tmux/theme-light.conf'
|
set -g status-left ''
|
||||||
set -g @dark-notify-theme-path-dark '~/.dotfiles/config/tmux/theme-dark.conf'
|
set -g status-left-length "0"
|
||||||
|
set -g status-position "bottom"
|
||||||
|
set -g status-right "#S@#{hostname_short} #{tmux_mode_indicator}"
|
||||||
|
set -g status-right-length "30"
|
||||||
|
set -g window-status-current-format ' #I:#W#{?window_zoomed_flag, ◈ ,} '
|
||||||
|
set -g window-status-format ' #I:#W '
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
# │ Plugins related configurations │
|
# │ Plugins related configurations │
|
||||||
@@ -193,33 +79,68 @@ set -g @suspend_key 'F12'
|
|||||||
### Maximum name length of a window
|
### Maximum name length of a window
|
||||||
set -g @tmux_window_name_max_name_len "20"
|
set -g @tmux_window_name_max_name_len "20"
|
||||||
### Replace $HOME with ~ in window names
|
### Replace $HOME with ~ in window names
|
||||||
set -g @tmux_window_name_use_tilde "True"
|
|
||||||
set -g @tmux_window_name_shells "['bash', 'fish', 'sh', 'zsh', 'oh-my-posh']"
|
|
||||||
set -g @tmux_window_dir_programs "['nvim', 'vim', 'vi', 'git']"
|
set -g @tmux_window_dir_programs "['nvim', 'vim', 'vi', 'git']"
|
||||||
set -g @tmux_window_name_ignored_programs "['sqlite3', 'oh-my-posh', 'antidot', 'antidote', 'direnv', 'md5']" # Default is []
|
set -g @tmux_window_name_ignored_programs "['sqlite3', 'antidote', 'direnv', 'md5']" # Default is []
|
||||||
|
set -g @tmux_window_name_shells "['bash', 'fish', 'sh', 'zsh']"
|
||||||
set -g @tmux_window_name_substitute_sets "[('.+ipython2', 'ipython2'), ('.+ipython3', 'ipython3'), ('.+\.local', '.local'), ('.+asdf', 'asdf')]"
|
set -g @tmux_window_name_substitute_sets "[('.+ipython2', 'ipython2'), ('.+ipython3', 'ipython3'), ('.+\.local', '.local'), ('.+asdf', 'asdf')]"
|
||||||
|
set -g @tmux_window_name_use_tilde "True"
|
||||||
|
|
||||||
## https://github.com/tmux-plugins/tmux-continuum
|
# https://github.com/erikw/tmux-dark-notify
|
||||||
# set -g @continuum-restore 'on'
|
set -g @dark-notify-theme-path-light '~/.dotfiles/config/tmux/theme-light.conf'
|
||||||
|
set -g @dark-notify-theme-path-dark '~/.dotfiles/config/tmux/theme-dark.conf'
|
||||||
|
|
||||||
## https://github.com/MunifTanjim/tmux-mode-indicator
|
## https://github.com/MunifTanjim/tmux-mode-indicator
|
||||||
set -g @mode_indicator_prefix_mode_style 'bg=default,fg=#7aa2f7'
|
|
||||||
set -g @mode_indicator_copy_mode_style 'bg=default,fg=yellow'
|
set -g @mode_indicator_copy_mode_style 'bg=default,fg=yellow'
|
||||||
set -g @mode_indicator_empty_mode_style 'bg=default,fg=#7aa2f7'
|
set -g @mode_indicator_empty_mode_style 'bg=default,fg=#7aa2f7'
|
||||||
|
set -g @mode_indicator_prefix_mode_style 'bg=default,fg=#7aa2f7'
|
||||||
set -g @mode_indicator_sync_mode_style 'bg=default,fg=red'
|
set -g @mode_indicator_sync_mode_style 'bg=default,fg=red'
|
||||||
|
|
||||||
# https://github.com/wfxr/tmux-fzf-url
|
# https://github.com/wfxr/tmux-fzf-url
|
||||||
set -g @fzf-url-bind 'u'
|
set -g @fzf-url-bind 'u'
|
||||||
set -g @fzf-url-history-limit '2000'
|
set -g @fzf-url-history-limit '2000'
|
||||||
|
|
||||||
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
|
# │ Bindings │
|
||||||
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
# bind flags
|
||||||
|
# -r = repeatable, only needs prefix once
|
||||||
|
# -n = doesn't need prefix
|
||||||
|
# -t = binds to a certain key-table (root, copy-mode, prefix, etc.)
|
||||||
|
|
||||||
|
# Set <prefix> to Control + Space, keeping the default of C-b intact.
|
||||||
|
# C-Space send-prefix line doubles the prefix when in nested tmux session.
|
||||||
|
set -g prefix C-Space
|
||||||
|
bind C-Space send-prefix
|
||||||
|
|
||||||
|
# Use Alt-arrow keys without prefix key to switch panes
|
||||||
|
bind -n M-Down select-pane -D
|
||||||
|
bind -n M-Left select-pane -L
|
||||||
|
bind -n M-Right select-pane -R
|
||||||
|
bind -n M-Up select-pane -U
|
||||||
|
|
||||||
|
# Easier switching between window
|
||||||
|
bind C-n next-window
|
||||||
|
bind C-p previous-window
|
||||||
|
bind C-a last-window
|
||||||
|
|
||||||
|
# Reload tmux config with <prefix> + r
|
||||||
|
unbind r
|
||||||
|
bind r "source-file ~/.dotfiles/config/tmux/tmux.conf; display 'tmux cfg reloaded!'"
|
||||||
|
|
||||||
|
# copy mode using 'Esc'
|
||||||
|
unbind [
|
||||||
|
bind Escape copy-mode
|
||||||
|
|
||||||
|
# paste using 'p'
|
||||||
|
unbind p
|
||||||
|
bind p paste-buffer
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
# │ Plugins │
|
# │ Plugins │
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-sensible/sensible.tmux
|
run-shell ~/.dotfiles/config/tmux/plugins/tmux-sensible/sensible.tmux
|
||||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux
|
run-shell ~/.dotfiles/config/tmux/plugins/tmux-window-name/tmux_window_name.tmux
|
||||||
# run-shell ~/.dotfiles/config/tmux/plugins/tmux-continuum/continuum.tmux
|
|
||||||
# run-shell ~/.dotfiles/config/tmux/plugins/tmux-sessionist/sessionist.tmux
|
|
||||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux
|
run-shell ~/.dotfiles/config/tmux/plugins/tmux-mode-indicator/mode_indicator.tmux
|
||||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux
|
run-shell ~/.dotfiles/config/tmux/plugins/tmux-suspend/suspend.tmux
|
||||||
run-shell ~/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux
|
run-shell ~/.dotfiles/config/tmux/plugins/tmux-yank/yank.tmux
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ ohmyzsh/ohmyzsh path:plugins/golang
|
|||||||
ohmyzsh/ohmyzsh path:plugins/gpg-agent
|
ohmyzsh/ohmyzsh path:plugins/gpg-agent
|
||||||
ohmyzsh/ohmyzsh path:plugins/nvm
|
ohmyzsh/ohmyzsh path:plugins/nvm
|
||||||
ohmyzsh/ohmyzsh path:plugins/python
|
ohmyzsh/ohmyzsh path:plugins/python
|
||||||
ohmyzsh/ohmyzsh path:plugins/tmux
|
# ohmyzsh/ohmyzsh path:plugins/tmux
|
||||||
ohmyzsh/ohmyzsh path:plugins/z
|
ohmyzsh/ohmyzsh path:plugins/z
|
||||||
|
|
||||||
# Automatically activate nvm if .nvmrc file is present
|
# Automatically activate nvm if .nvmrc file is present
|
||||||
|
|||||||
@@ -6,7 +6,8 @@
|
|||||||
# transient_prompt, instant_prompt=verbose.
|
# transient_prompt, instant_prompt=verbose.
|
||||||
# Type `p10k configure` to generate another config.
|
# Type `p10k configure` to generate another config.
|
||||||
#
|
#
|
||||||
# Config file for Powerlevel10k with the style of Pure (https://github.com/sindresorhus/pure).
|
# Config file for Powerlevel10k with the style of Pure
|
||||||
|
# (https://github.com/sindresorhus/pure).
|
||||||
#
|
#
|
||||||
# Differences from Pure:
|
# Differences from Pure:
|
||||||
#
|
#
|
||||||
@@ -14,13 +15,16 @@
|
|||||||
# - `@c4d3ec2c` instead of something like `v1.4.0~11` when in detached HEAD state.
|
# - `@c4d3ec2c` instead of something like `v1.4.0~11` when in detached HEAD state.
|
||||||
# - No automatic `git fetch` (the same as in Pure with `PURE_GIT_PULL=0`).
|
# - No automatic `git fetch` (the same as in Pure with `PURE_GIT_PULL=0`).
|
||||||
#
|
#
|
||||||
# Apart from the differences listed above, the replication of Pure prompt is exact. This includes
|
# Apart from the differences listed above, the replication of Pure
|
||||||
# even the questionable parts. For example, just like in Pure, there is no indication of Git status
|
# prompt is exact. This includes even the questionable parts.
|
||||||
# being stale; prompt symbol is the same in command, visual and overwrite vi modes; when prompt
|
# For example, just like in Pure, there is no indication of Git status
|
||||||
# doesn't fit on one line, it wraps around with no attempt to shorten it.
|
# being stale; prompt symbol is the same in command, visual and overwrite
|
||||||
|
# vi modes; when prompt doesn't fit on one line, it wraps around with
|
||||||
|
# no attempt to shorten it.
|
||||||
#
|
#
|
||||||
# If you like the general style of Pure but not particularly attached to all its quirks, type
|
# If you like the general style of Pure but not particularly attached
|
||||||
# `p10k configure` and pick "Lean" style. This will give you slick minimalist prompt while taking
|
# to all its quirks, type `p10k configure` and pick "Lean" style.
|
||||||
|
# This will give you slick minimalist prompt while taking
|
||||||
# advantage of Powerlevel10k features that aren't present in Pure.
|
# advantage of Powerlevel10k features that aren't present in Pure.
|
||||||
|
|
||||||
# Temporarily change options.
|
# Temporarily change options.
|
||||||
@@ -83,8 +87,9 @@
|
|||||||
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
|
typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol
|
||||||
typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION= # no segment icons
|
typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION= # no segment icons
|
||||||
|
|
||||||
# Add an empty line before each prompt except the first. This doesn't emulate the bug
|
# Add an empty line before each prompt except the first. This doesn't
|
||||||
# in Pure that makes prompt drift down whenever you use the Alt-C binding from fzf or similar.
|
# emulate the bug in Pure that makes prompt drift down whenever you use
|
||||||
|
# the Alt-C binding from fzf or similar.
|
||||||
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
|
typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
|
||||||
|
|
||||||
# Magenta prompt symbol if the last command succeeded.
|
# Magenta prompt symbol if the last command succeeded.
|
||||||
@@ -116,6 +121,9 @@
|
|||||||
# Don't show context unless root or in SSH.
|
# Don't show context unless root or in SSH.
|
||||||
# typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
|
# typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
|
||||||
|
|
||||||
|
# aws, go and nvm versions colors.
|
||||||
|
typeset -g POWERLEVEL9K_{AWS,GO,NVM}_FOREGROUND=$grey
|
||||||
|
|
||||||
# Show previous command duration only if it's >= 86400s = 24h.
|
# Show previous command duration only if it's >= 86400s = 24h.
|
||||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=86400
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=86400
|
||||||
# Don't show fractional seconds. Thus, 7s rather than 7.3s.
|
# Don't show fractional seconds. Thus, 7s rather than 7.3s.
|
||||||
@@ -125,15 +133,17 @@
|
|||||||
# Yellow previous command duration.
|
# Yellow previous command duration.
|
||||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
|
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
|
||||||
|
|
||||||
# Grey Git prompt. This makes stale prompts indistinguishable from up-to-date ones.
|
# Grey Git prompt. This makes stale prompts indistinguishable
|
||||||
|
# from up-to-date ones.
|
||||||
typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
|
typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
|
||||||
|
|
||||||
# Disable async loading indicator to make directories that aren't Git repositories
|
# Disable async loading indicator to make directories that aren't
|
||||||
# indistinguishable from large Git repositories without known state.
|
# Git repositories indistinguishable from large Git repositories
|
||||||
|
# without known state.
|
||||||
typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
|
typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
|
||||||
|
|
||||||
# Don't wait for Git status even for a millisecond, so that prompt always updates
|
# Don't wait for Git status even for a millisecond, so that
|
||||||
# asynchronously when Git state changes.
|
# prompt always updates asynchronously when Git state changes.
|
||||||
typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
|
typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
|
||||||
|
|
||||||
# Cyan ahead/behind arrows.
|
# Cyan ahead/behind arrows.
|
||||||
@@ -161,36 +171,42 @@
|
|||||||
typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
|
typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
|
||||||
# Format for the current time: 09:51:02. See `man 3 strftime`.
|
# Format for the current time: 09:51:02. See `man 3 strftime`.
|
||||||
typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
|
typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
|
||||||
# If set to true, time will update when you hit enter. This way prompts for the past
|
|
||||||
# commands will contain the start times of their commands rather than the end times of
|
# If set to true, time will update when you hit enter. This way prompts
|
||||||
# their preceding commands.
|
# for the past commands will contain the start times of their commands
|
||||||
|
# rather than the end times of their preceding commands.
|
||||||
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
|
typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
|
||||||
|
|
||||||
# Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
|
# Transient prompt works similarly to the builtin transient_rprompt option.
|
||||||
# when accepting a command line. Supported values:
|
# It trims down prompt when accepting a command line. Supported values:
|
||||||
#
|
#
|
||||||
# - off: Don't change prompt when accepting a command line.
|
# - off: Don't change prompt when accepting a command line.
|
||||||
# - always: Trim down prompt when accepting a command line.
|
# - always: Trim down prompt when accepting a command line.
|
||||||
# - same-dir: Trim down prompt when accepting a command line unless this is the first command
|
# - same-dir: Trim down prompt when accepting a command line
|
||||||
# typed after changing current working directory.
|
# unless this is the first command typed after
|
||||||
|
# changing current working directory.
|
||||||
typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
|
typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
|
||||||
|
|
||||||
# Instant prompt mode.
|
# Instant prompt mode.
|
||||||
#
|
#
|
||||||
# - off: Disable instant prompt. Choose this if you've tried instant prompt and found
|
# - off: Disable instant prompt. Choose this if you've tried
|
||||||
# it incompatible with your zsh configuration files.
|
# instant prompt and found it incompatible with your
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# zsh configuration files.
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# - quiet: Enable instant prompt and don't print warnings when
|
||||||
|
# detecting console output during zsh initialization.
|
||||||
|
# Choose this if you've read and understood
|
||||||
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
# https://github.com/romkatv/powerlevel10k#instant-prompt.
|
||||||
# - verbose: Enable instant prompt and print a warning when detecting console output during
|
# - verbose: Enable instant prompt and print a warning when detecting
|
||||||
# zsh initialization. Choose this if you've never tried instant prompt, haven't
|
# console output during zsh initialization. Choose this
|
||||||
# seen the warning, or if you are unsure what this all means.
|
# if you've never tried instant prompt, haven't seen the
|
||||||
|
# warning, or if you are unsure what this all means.
|
||||||
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
|
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
|
||||||
|
|
||||||
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
|
# Hot reload allows you to change POWERLEVEL9K options after
|
||||||
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
|
# Powerlevel10k has been initialized. For example, you can type
|
||||||
# can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
|
# POWERLEVEL9K_BACKGROUND=red and see your prompt turn red.
|
||||||
# really need it.
|
# Hot reload can slow down prompt by 1-2 milliseconds, so it's
|
||||||
|
# better to keep it turned off unless you really need it.
|
||||||
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
|
typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
|
||||||
|
|
||||||
# If p10k is already loaded, reload configuration.
|
# If p10k is already loaded, reload configuration.
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
- include: 'tools/dotbot-defaults.yaml'
|
- include: 'tools/dotbot-defaults.yaml'
|
||||||
- shell:
|
- shell:
|
||||||
- echo "Configuring air"
|
- echo "Configuring air"
|
||||||
- brewfile:
|
|
||||||
- Brewfile
|
|
||||||
- link:
|
- link:
|
||||||
~/:
|
~/:
|
||||||
force: true
|
force: true
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
~/.local/share/gnupg:
|
~/.local/share/gnupg:
|
||||||
mode: 0700
|
mode: 0700
|
||||||
~/.local/state:
|
~/.local/state:
|
||||||
|
~/.local/state/tmux:
|
||||||
~/.local/state/zsh:
|
~/.local/state/zsh:
|
||||||
~/.ssh:
|
~/.ssh:
|
||||||
mode: 0700
|
mode: 0700
|
||||||
|
|||||||
Reference in New Issue
Block a user