From 7f3c29f8f3277281ee4442ecb88afd5152f46616 Mon Sep 17 00:00:00 2001 From: "Arthur K." Date: Fri, 30 Jan 2026 17:57:53 +0300 Subject: [PATCH] annual dotfiles push --- .config/alacritty/alacritty.toml | 241 ++++++++++++++++++++++++++++++- .config/alacritty/alacritty.yml | 65 --------- .config/tmux/keybinds-ru.conf | 24 +++ .config/tmux/tmux.conf | 15 +- .config/zsh/.zlogin | 6 +- .config/zsh/.zshrc | 46 +++--- .gitconfig | 2 + .local/bin/scripts/nike | 2 +- .local/bin/scripts/oop | 3 +- .local/bin/scripts/q | 3 + .local/bin/scripts/t | 8 + .local/bin/scripts/xcp | 12 ++ 12 files changed, 330 insertions(+), 97 deletions(-) delete mode 100644 .config/alacritty/alacritty.yml create mode 100644 .config/tmux/keybinds-ru.conf create mode 100755 .local/bin/scripts/q create mode 100755 .local/bin/scripts/t create mode 100755 .local/bin/scripts/xcp diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index 9207478..3080e63 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -1,4 +1,3 @@ - [colors.bright] black = "#696969" blue = "#007FFF" @@ -28,7 +27,7 @@ blinking = "Off" shape = "Block" [env] -TERM = "xterm-256color" +TERM = "alacritty" [font] size = 11.5 @@ -53,11 +52,239 @@ y = 2 [keyboard] bindings = [ - {key = "Slash", mods = "Control", chars = "\u001f"}, - {key = "Space", mods = "Control", chars = "\u0000"}, - {key = "Back", mods = "Control", chars = "\u001b\u007f"}, - {key = "M", mods = "Control", chars = "\u0100"}, - {key = "х", mods = "Control", chars = "\u001b"}, + { key = "Slash", mods = "Control", chars = "\u001f" }, + { key = "Space", mods = "Control", chars = "\u0000" }, + { key = "Back", mods = "Control", chars = "\u001b\u007f" }, + { key = "M", mods = "Control", chars = "\u0100" }, + { key = "Enter", mods = "Shift", chars = "\u001b\u000d" }, + { key = "Enter", mods = "Alt", chars = "\u000d" }, + + # russian + { key = "Ь", mods = "Control", chars = "\u0100" }, + { key = "М", mods = "Control|Shift", action = "Paste" }, + { key = "С", mods = "Control|Shift", action = "Copy" }, + { key = "№", mods = "Shift", chars = "#" }, + + # generated + { key = "ё", mods = "Control", chars = "\u0000" }, + { key = "ё", mods = "Alt", chars = "\u001b``" }, + { key = "ё", mods = "Alt|Control", chars = "\u001b\u0000" }, + { key = "й", mods = "Control", chars = "\u0011" }, + { key = "й", mods = "Alt", chars = "\u001bq" }, + { key = "й", mods = "Alt|Control", chars = "\u001b\u0011" }, + { key = "ц", mods = "Control", chars = "\u0017" }, + { key = "ц", mods = "Alt", chars = "\u001bw" }, + { key = "ц", mods = "Alt|Control", chars = "\u001b\u0017" }, + { key = "у", mods = "Control", chars = "\u0005" }, + { key = "у", mods = "Alt", chars = "\u001be" }, + { key = "у", mods = "Alt|Control", chars = "\u001b\u0005" }, + { key = "к", mods = "Control", chars = "\u0012" }, + { key = "к", mods = "Alt", chars = "\u001br" }, + { key = "к", mods = "Alt|Control", chars = "\u001b\u0012" }, + { key = "е", mods = "Control", chars = "\u0014" }, + { key = "е", mods = "Alt", chars = "\u001bt" }, + { key = "е", mods = "Alt|Control", chars = "\u001b\u0014" }, + { key = "н", mods = "Control", chars = "\u0019" }, + { key = "н", mods = "Alt", chars = "\u001by" }, + { key = "н", mods = "Alt|Control", chars = "\u001b\u0019" }, + { key = "г", mods = "Control", chars = "\u0015" }, + { key = "г", mods = "Alt", chars = "\u001bu" }, + { key = "г", mods = "Alt|Control", chars = "\u001b\u0015" }, + { key = "ш", mods = "Control", chars = "\u0009" }, + { key = "ш", mods = "Alt", chars = "\u001bi" }, + { key = "ш", mods = "Alt|Control", chars = "\u001b\u0009" }, + { key = "щ", mods = "Control", chars = "\u000f" }, + { key = "щ", mods = "Alt", chars = "\u001bo" }, + { key = "щ", mods = "Alt|Control", chars = "\u001b\u000f" }, + { key = "з", mods = "Control", chars = "\u0010" }, + { key = "з", mods = "Alt", chars = "\u001bp" }, + { key = "з", mods = "Alt|Control", chars = "\u001b\u0010" }, + { key = "х", mods = "Control", chars = "\u001b" }, + { key = "х", mods = "Alt", chars = "\u001b[" }, + { key = "х", mods = "Alt|Control", chars = "\u001b\u001b" }, + { key = "ъ", mods = "Control", chars = "\u001d" }, + { key = "ъ", mods = "Alt", chars = "\u001b]" }, + { key = "ъ", mods = "Alt|Control", chars = "\u001b\u001d" }, + { key = "ф", mods = "Control", chars = "\u0001" }, + { key = "ф", mods = "Alt", chars = "\u001ba" }, + { key = "ф", mods = "Alt|Control", chars = "\u001b\u0001" }, + { key = "ы", mods = "Control", chars = "\u0013" }, + { key = "ы", mods = "Alt", chars = "\u001bs" }, + { key = "ы", mods = "Alt|Control", chars = "\u001b\u0013" }, + { key = "в", mods = "Control", chars = "\u0004" }, + { key = "в", mods = "Alt", chars = "\u001bd" }, + { key = "в", mods = "Alt|Control", chars = "\u001b\u0004" }, + { key = "а", mods = "Control", chars = "\u0006" }, + { key = "а", mods = "Alt", chars = "\u001bf" }, + { key = "а", mods = "Alt|Control", chars = "\u001b\u0006" }, + { key = "п", mods = "Control", chars = "\u0007" }, + { key = "п", mods = "Alt", chars = "\u001bg" }, + { key = "п", mods = "Alt|Control", chars = "\u001b\u0007" }, + { key = "р", mods = "Control", chars = "\u0008" }, + { key = "р", mods = "Alt", chars = "\u001bh" }, + { key = "р", mods = "Alt|Control", chars = "\u001b\u0008" }, + { key = "о", mods = "Control", chars = "\u000a" }, + { key = "о", mods = "Alt", chars = "\u001bj" }, + { key = "о", mods = "Alt|Control", chars = "\u001b\u000a" }, + { key = "л", mods = "Control", chars = "\u000b" }, + { key = "л", mods = "Alt", chars = "\u001bk" }, + { key = "л", mods = "Alt|Control", chars = "\u001b\u000b" }, + { key = "д", mods = "Control", chars = "\u000c" }, + { key = "д", mods = "Alt", chars = "\u001bl" }, + { key = "д", mods = "Alt|Control", chars = "\u001b\u000c" }, + { key = "ж", mods = "Control", chars = "\u001b" }, + { key = "ж", mods = "Alt", chars = "\u001b;" }, + { key = "ж", mods = "Alt|Control", chars = "\u001b\u001b" }, + { key = "э", mods = "Control", chars = "\u0007" }, + { key = "э", mods = "Alt", chars = "\u001b'" }, + { key = "э", mods = "Alt|Control", chars = "\u001b\u0007" }, + { key = "я", mods = "Control", chars = "\u001a" }, + { key = "я", mods = "Alt", chars = "\u001bz" }, + { key = "я", mods = "Alt|Control", chars = "\u001b\u001a" }, + { key = "ч", mods = "Control", chars = "\u0018" }, + { key = "ч", mods = "Alt", chars = "\u001bx" }, + { key = "ч", mods = "Alt|Control", chars = "\u001b\u0018" }, + { key = "с", mods = "Control", chars = "\u0003" }, + { key = "с", mods = "Alt", chars = "\u001bc" }, + { key = "с", mods = "Alt|Control", chars = "\u001b\u0003" }, + { key = "м", mods = "Control", chars = "\u0016" }, + { key = "м", mods = "Alt", chars = "\u001bv" }, + { key = "м", mods = "Alt|Control", chars = "\u001b\u0016" }, + { key = "и", mods = "Control", chars = "\u0002" }, + { key = "и", mods = "Alt", chars = "\u001bb" }, + { key = "и", mods = "Alt|Control", chars = "\u001b\u0002" }, + { key = "т", mods = "Control", chars = "\u000e" }, + { key = "т", mods = "Alt", chars = "\u001bn" }, + { key = "т", mods = "Alt|Control", chars = "\u001b\u000e" }, + { key = "ь", mods = "Alt", chars = "\u001bm" }, + { key = "ь", mods = "Alt|Control", chars = "\u001b\u000d" }, + { key = "б", mods = "Control", chars = "\u000c" }, + { key = "б", mods = "Alt", chars = "\u001b," }, + { key = "б", mods = "Alt|Control", chars = "\u001b\u000c" }, + { key = "ю", mods = "Control", chars = "\u000e" }, + { key = "ю", mods = "Alt", chars = "\u001b." }, + { key = "ю", mods = "Alt|Control", chars = "\u001b\u000e" }, + { key = ".", mods = "Control", chars = "\u000f" }, + { key = ".", mods = "Alt", chars = "\u001b/" }, + { key = ".", mods = "Alt|Control", chars = "\u001b\u000f" }, + { key = "Ё", mods = "Shift|Control", chars = "\u001e" }, + { key = "Ё", mods = "Shift|Alt", chars = "\u001b~" }, + { key = "Ё", mods = "Shift|Alt|Control", chars = "\u001b\u001e" }, + { key = "\"", mods = "Shift|Control", chars = "\u0000" }, + { key = "\"", mods = "Shift|Alt", chars = "\u001b@" }, + { key = "\"", mods = "Shift|Alt|Control", chars = "\u001b\u0000" }, + { key = "№", mods = "Shift|Control", chars = "\u0003" }, + { key = "№", mods = "Shift|Alt", chars = "\u001b#" }, + { key = "№", mods = "Shift|Alt|Control", chars = "\u001b\u0003" }, + { key = ";", mods = "Shift|Control", chars = "\u0004" }, + { key = ";", mods = "Shift|Alt", chars = "\u001b$" }, + { key = ";", mods = "Shift|Alt|Control", chars = "\u001b\u0004" }, + { key = ":", mods = "Shift|Control", chars = "\u001e" }, + { key = ":", mods = "Shift|Alt", chars = "\u001b^" }, + { key = ":", mods = "Shift|Alt|Control", chars = "\u001b\u001e" }, + { key = "?", mods = "Shift|Control", chars = "\u0006" }, + { key = "?", mods = "Shift|Alt", chars = "\u001b&" }, + { key = "?", mods = "Shift|Alt|Control", chars = "\u001b\u0006" }, + { key = "Й", mods = "Shift|Control", chars = "\u0011" }, + { key = "Й", mods = "Shift|Alt", chars = "\u001bQ" }, + { key = "Й", mods = "Shift|Alt|Control", chars = "\u001b\u0011" }, + { key = "Ц", mods = "Shift|Control", chars = "\u0017" }, + { key = "Ц", mods = "Shift|Alt", chars = "\u001bW" }, + { key = "Ц", mods = "Shift|Alt|Control", chars = "\u001b\u0017" }, + { key = "У", mods = "Shift|Control", chars = "\u0005" }, + { key = "У", mods = "Shift|Alt", chars = "\u001bE" }, + { key = "У", mods = "Shift|Alt|Control", chars = "\u001b\u0005" }, + { key = "К", mods = "Shift|Control", chars = "\u0012" }, + { key = "К", mods = "Shift|Alt", chars = "\u001bR" }, + { key = "К", mods = "Shift|Alt|Control", chars = "\u001b\u0012" }, + { key = "Е", mods = "Shift|Control", chars = "\u0014" }, + { key = "Е", mods = "Shift|Alt", chars = "\u001bT" }, + { key = "Е", mods = "Shift|Alt|Control", chars = "\u001b\u0014" }, + { key = "Н", mods = "Shift|Control", chars = "\u0019" }, + { key = "Н", mods = "Shift|Alt", chars = "\u001bY" }, + { key = "Н", mods = "Shift|Alt|Control", chars = "\u001b\u0019" }, + { key = "Г", mods = "Shift|Control", chars = "\u0015" }, + { key = "Г", mods = "Shift|Alt", chars = "\u001bU" }, + { key = "Г", mods = "Shift|Alt|Control", chars = "\u001b\u0015" }, + { key = "Ш", mods = "Shift|Control", chars = "\u0009" }, + { key = "Ш", mods = "Shift|Alt", chars = "\u001bI" }, + { key = "Ш", mods = "Shift|Alt|Control", chars = "\u001b\u0009" }, + { key = "Щ", mods = "Shift|Control", chars = "\u000f" }, + { key = "Щ", mods = "Shift|Alt", chars = "\u001bO" }, + { key = "Щ", mods = "Shift|Alt|Control", chars = "\u001b\u000f" }, + { key = "З", mods = "Shift|Control", chars = "\u0010" }, + { key = "З", mods = "Shift|Alt", chars = "\u001bP" }, + { key = "З", mods = "Shift|Alt|Control", chars = "\u001b\u0010" }, + { key = "Х", mods = "Shift|Control", chars = "\u001b" }, + { key = "Х", mods = "Shift|Alt", chars = "\u001b{" }, + { key = "Х", mods = "Shift|Alt|Control", chars = "\u001b\u001b" }, + { key = "Ъ", mods = "Shift|Control", chars = "\u001d" }, + { key = "Ъ", mods = "Shift|Alt", chars = "\u001b}" }, + { key = "Ъ", mods = "Shift|Alt|Control", chars = "\u001b\u001d" }, + { key = "/", mods = "Shift|Control", chars = "\u001c" }, + { key = "/", mods = "Shift|Alt", chars = "\u001b|" }, + { key = "/", mods = "Shift|Alt|Control", chars = "\u001b\u001c" }, + { key = "Ф", mods = "Shift|Control", chars = "\u0001" }, + { key = "Ф", mods = "Shift|Alt", chars = "\u001bA" }, + { key = "Ф", mods = "Shift|Alt|Control", chars = "\u001b\u0001" }, + { key = "Ы", mods = "Shift|Control", chars = "\u0013" }, + { key = "Ы", mods = "Shift|Alt", chars = "\u001bS" }, + { key = "Ы", mods = "Shift|Alt|Control", chars = "\u001b\u0013" }, + { key = "В", mods = "Shift|Control", chars = "\u0004" }, + { key = "В", mods = "Shift|Alt", chars = "\u001bD" }, + { key = "В", mods = "Shift|Alt|Control", chars = "\u001b\u0004" }, + { key = "А", mods = "Shift|Control", chars = "\u0006" }, + { key = "А", mods = "Shift|Alt", chars = "\u001bF" }, + { key = "А", mods = "Shift|Alt|Control", chars = "\u001b\u0006" }, + { key = "П", mods = "Shift|Control", chars = "\u0007" }, + { key = "П", mods = "Shift|Alt", chars = "\u001bG" }, + { key = "П", mods = "Shift|Alt|Control", chars = "\u001b\u0007" }, + { key = "Р", mods = "Shift|Control", chars = "\u0008" }, + { key = "Р", mods = "Shift|Alt", chars = "\u001bH" }, + { key = "Р", mods = "Shift|Alt|Control", chars = "\u001b\u0008" }, + { key = "О", mods = "Shift|Control", chars = "\u000a" }, + { key = "О", mods = "Shift|Alt", chars = "\u001bJ" }, + { key = "О", mods = "Shift|Alt|Control", chars = "\u001b\u000a" }, + { key = "Л", mods = "Shift|Control", chars = "\u000b" }, + { key = "Л", mods = "Shift|Alt", chars = "\u001bK" }, + { key = "Л", mods = "Shift|Alt|Control", chars = "\u001b\u000b" }, + { key = "Д", mods = "Shift|Control", chars = "\u000c" }, + { key = "Д", mods = "Shift|Alt", chars = "\u001bL" }, + { key = "Д", mods = "Shift|Alt|Control", chars = "\u001b\u000c" }, + { key = "Ж", mods = "Shift|Control", chars = "\u001a" }, + { key = "Ж", mods = "Shift|Alt", chars = "\u001b:" }, + { key = "Ж", mods = "Shift|Alt|Control", chars = "\u001b\u001a" }, + { key = "Э", mods = "Shift|Control", chars = "\u0002" }, + { key = "Э", mods = "Shift|Alt", chars = "\u001b\"" }, + { key = "Э", mods = "Shift|Alt|Control", chars = "\u001b\u0002" }, + { key = "Я", mods = "Shift|Control", chars = "\u001a" }, + { key = "Я", mods = "Shift|Alt", chars = "\u001bZ" }, + { key = "Я", mods = "Shift|Alt|Control", chars = "\u001b\u001a" }, + { key = "Ч", mods = "Shift|Control", chars = "\u0018" }, + { key = "Ч", mods = "Shift|Alt", chars = "\u001bX" }, + { key = "Ч", mods = "Shift|Alt|Control", chars = "\u001b\u0018" }, + { key = "С", mods = "Shift|Alt", chars = "\u001bC" }, + { key = "С", mods = "Shift|Alt|Control", chars = "\u001b\u0003" }, + { key = "М", mods = "Shift|Alt", chars = "\u001bV" }, + { key = "М", mods = "Shift|Alt|Control", chars = "\u001b\u0016" }, + { key = "И", mods = "Shift|Control", chars = "\u0002" }, + { key = "И", mods = "Shift|Alt", chars = "\u001bB" }, + { key = "И", mods = "Shift|Alt|Control", chars = "\u001b\u0002" }, + { key = "Т", mods = "Shift|Control", chars = "\u000e" }, + { key = "Т", mods = "Shift|Alt", chars = "\u001bN" }, + { key = "Т", mods = "Shift|Alt|Control", chars = "\u001b\u000e" }, + { key = "Ь", mods = "Shift|Control", chars = "\u000d" }, + { key = "Ь", mods = "Shift|Alt", chars = "\u001bM" }, + { key = "Ь", mods = "Shift|Alt|Control", chars = "\u001b\u000d" }, + { key = "Б", mods = "Shift|Control", chars = "\u001c" }, + { key = "Б", mods = "Shift|Alt", chars = "\u001b<" }, + { key = "Б", mods = "Shift|Alt|Control", chars = "\u001b\u001c" }, + { key = "Ю", mods = "Shift|Control", chars = "\u001e" }, + { key = "Ю", mods = "Shift|Alt", chars = "\u001b>" }, + { key = "Ю", mods = "Shift|Alt|Control", chars = "\u001b\u001e" }, + { key = ",", mods = "Shift|Control", chars = "\u001f" }, + { key = ",", mods = "Shift|Alt", chars = "\u001b?" }, + { key = ",", mods = "Shift|Alt|Control", chars = "\u001b\u001f" }, ] [general] diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml deleted file mode 100644 index 3089b27..0000000 --- a/.config/alacritty/alacritty.yml +++ /dev/null @@ -1,65 +0,0 @@ -live_config_reload: true - -colors: - primary: - background: "#101010" - foreground: "#C6C6C6" - - normal: - black: "#101010" - red: "#C40233" - green: "#009F6B" - yellow: "#FFD700" - blue: "#0087BD" - magenta: "#9A4EAE" - cyan: "#20B2AA" - white: "#C6C6C6" - bright: - black: "#696969" - red: "#FF2400" - green: "#03C03C" - yellow: "#FDFF00" - blue: "#007FFF" - magenta: "#FF1493" - cyan: "#00CCCC" - white: "#FFFAFA" - -cursor: - style: - blinking: Off - shape: Block - -env: - TERM: xterm-256color - -font: - size: 11.5 - glyph_offset: - x: 0 - y: 0 - normal: - family: "Mononoki Nerd Font Propo" - offset: - x: 0 - y: 0 - -key_bindings: - - chars: "\x1f" - key: Slash - mods: Control - - chars: "\0" - key: Space - mods: Control - - chars: "\e" - key: Back - mods: Control - - chars: "\u0100" - key: M - mods: Control - -window: - dynamic_padding: true - padding: - x: 2 - y: 2 - diff --git a/.config/tmux/keybinds-ru.conf b/.config/tmux/keybinds-ru.conf new file mode 100644 index 0000000..1531a88 --- /dev/null +++ b/.config/tmux/keybinds-ru.conf @@ -0,0 +1,24 @@ +# Moving +bind г previous-window +bind ш next-window + +bind т "new-window -c '#{pane_current_path}'" + +# Splits +bind р "split-window -hb -c '#{pane_current_path}'" +bind о "split-window -v -c '#{pane_current_path}'" +bind л "split-window -v -b -c '#{pane_current_path}'" +bind д "split-window -h -c '#{pane_current_path}'" + +bind ж "command-prompt" + +bind Т "new-session -c '#{pane_current_path}' -s '#{b:pane_current_path}'" +bind Ч "set-option -g detach-on-destroy off; kill-session; set-option -g detach-on-destroy on" + +bind-key -T copy-mode-vi н send-keys -X copy-pipe-and-cancel +bind-key -T copy-mode-vi м send-keys -X begin-selection +bind-key -T copy-mode-vi М send-keys -X select-line + +# TODO: search + +# vim: ft=tmux diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf index b1fb998..90ac504 100644 --- a/.config/tmux/tmux.conf +++ b/.config/tmux/tmux.conf @@ -5,8 +5,14 @@ setw -g mouse on set -g default-command "${SHELL}" # Enable 256 color mode and TrueColor -set -g default-terminal "tmux-256color" -set -ag terminal-overrides ",xterm-256color:RGB" +# set -g default-terminal "tmux-256color" +# set -ag terminal-overrides ",xterm-256color:RGB" +set -g default-terminal 'tmux-256color' + +set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' +set -as terminal-features ',*:usstyle' +set -as terminal-features ',xterm*:RGB' +set -as terminal-features ',alacritty*:RGB' # Get rid of nvim escape delay set -s escape-time 0 @@ -32,8 +38,8 @@ set -g monitor-activity off set -g renumber-windows off # Resize all windows to min size -setw -g aggressive-resize off -setw -g window-size smallest +setw -g aggressive-resize on +setw -g window-size latest # Change history limit set -g history-limit 262144 @@ -41,5 +47,6 @@ set -g history-limit 262144 # Source extra configs source-file ~/.config/tmux/theme.conf source-file ~/.config/tmux/keybinds.conf +source-file ~/.config/tmux/keybinds-ru.conf source-file ~/.config/tmux/plugins.conf source-file ~/.config/tmux/vim.conf diff --git a/.config/zsh/.zlogin b/.config/zsh/.zlogin index 2d0b73a..6ceb48b 100644 --- a/.config/zsh/.zlogin +++ b/.config/zsh/.zlogin @@ -1,2 +1,4 @@ -pkill -0 gpg-agent || gpg-agent --daemon -eval "$(ssh-agent)" +{ + pkill -0 gpg-agent || gpg-agent --daemon + eval "$(ssh-agent)" +} >/dev/null 2>&1 diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 98c829f..2a6fe45 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -61,7 +61,8 @@ alias lss='ls -lS' alias lsr='ls -lSr' # set bat as help pager -alias -g -- --help='--help 2>&1 | bat --language=help --style=plain --theme Monokai\ Extended' +alias bathelp='bat --language=help --style=plain --theme Monokai\ Extended' +alias -g -- --help='--help 2>&1 | bathelp' # useful cd aliases alias ..="cd ../" @@ -110,10 +111,11 @@ alias rgn='rg --no-ignore --hidden' alias rgni='rg --no-ignore --hidden -i' alias cal='cal -3' alias s='s ' -alias t='vi ~/todo.md' alias c.='cloc --vcs=git .' alias yt='noglob yt-dlp' alias b64='base64' +alias c='opencode' +alias tar.='tar -cvf out.tar.xz .' # function aliases mkexe() { touch "${1?}"; chmod +x "$1"; }; compdef _files mkexe; @@ -122,7 +124,6 @@ nosw() { alacritty --class 'noswallow' -e "$@"; }; compdef _command nosw vims() { filepath="$(type "$1" | rev | cut -d ' ' -f 1 | rev)"; [ $? -eq 0 ] && vim "${filepath}"; }; compdef _command vims tl() { tree -C "$@" | bat; }; compdef _tree tl diff() { /usr/bin/diff --color -u "$@" | delta; }; compdef _files di; -xcp() { perl -pe "chomp if eof" | xclip -selection clipboard; } # compdef compdef '_files -g "*.md"' md @@ -143,6 +144,7 @@ gus() { git branch --set-upstream-to="${1:?}/${2:?}" "${2:?}" }; compdef '_git; gpo() { git push --set-upstream origin "$(git rev-parse --abbrev-ref HEAD)" "$@" } gru() { git remote get-url "${1-origin}" }; compdef '_gor' gru gtr() { gls $1 | tree --fromfile . } +gh() { vim -c "DiffviewFileHistory $*" } alias ga="git add" alias gb="git branch" alias gc="git commit" @@ -177,9 +179,10 @@ alias gp="git push" alias gpu="git pull" alias gr="git restore" alias grc='git rm --cached' -alias grj="git rebase" +alias grj="git rebase --committer-date-is-author-date" alias grjc="git rebase --continue" alias grjs="git rebase --cancel" +alias grja="git rebase --abort" alias grm="git remote" alias grs="git restore --staged" alias grt!="grt --hard" @@ -194,6 +197,9 @@ alias gsm='git submodule' alias gsp="git stash pop" alias gt="git tag" alias gus="git fetch --unshallow" +alias gpo='git push --set-upstream origin "$(git rev-parse --abbrev-ref HEAD)"' +alias gj='vim -c DiffviewOpen' +alias ghk='git config set core.hooksPath .githooks' # docker aliases alias d='docker' @@ -201,19 +207,25 @@ alias dc='docker compose' alias d!='/usr/bin/docker' alias dc!='d! compose' -alias di='d image' -alias dj='dc up -d --force-recreate' -alias djn='dc up -d' -alias djb='dj --build' -alias djbl='djb && dl' -alias djl='dj && dl' -alias dk='dc down' -alias dl='dc logs -f' -alias dr='d run --rm -it' -alias drs='dc restart' -alias drsl='dc restart && dl' -alias dv='d volume' -alias ds='dc stop' +alias di='docker image' +alias dru='docker run --rm -it' +alias dv='docker volume' + +alias dj='docker compose up -d --force-recreate' +alias djb='docker compose up -d --force-recreate --build' +alias djn='docker compose up -d' +alias dk='docker compose down' +alias dl='docker compose logs -f' +alias dp='docker compose ps' +alias dpu='docker compose pull' +alias dr='docker compose restart' +alias ds='docker compose stop' +alias de='docker compose exec -it' + +# TODO: make these functions +alias djbl='docker compose up -d --force-recreate --build && dl' +alias djl='docker compose up -d --force-recreate && dl' +alias drsl='docker compose restart && dl' # tmux stuff tn() { tmux new-session -s "${1-"$(basename "$(pwd)")"}" } diff --git a/.gitconfig b/.gitconfig index 61fc6e2..b3544aa 100644 --- a/.gitconfig +++ b/.gitconfig @@ -28,3 +28,5 @@ required = true [advice] detachedHead = false +[alias] + root = rev-parse --show-toplevel diff --git a/.local/bin/scripts/nike b/.local/bin/scripts/nike index 5b871ff..000e13b 100755 --- a/.local/bin/scripts/nike +++ b/.local/bin/scripts/nike @@ -1,3 +1,3 @@ #!/bin/sh -notify-send 'НИКИТА' "У тебя объективно НЕПРАВИЛЬНОЕ мнение насчет шорткатов, используй Win + Q " +notify-send 'НИКИТА' 'У тебя ОБЪЕКТИВНО НЕПРАВИЛЬНОЕ мнение насчет шорткатов, используй Win + Q' diff --git a/.local/bin/scripts/oop b/.local/bin/scripts/oop index 2b2d21e..310768e 100755 --- a/.local/bin/scripts/oop +++ b/.local/bin/scripts/oop @@ -1,3 +1,4 @@ #!/bin/sh +lab="$(git rev-parse --abbrev-ref HEAD)" -xdg-open https://github.com/is-oop-y28/.github/blob/master/profile/labs/"$(git rev-parse --abbrev-ref HEAD)".md +xdg-open https://github.com/is-oop-y28/.github/blob/master/profile/labs/"${lab-"lab-$1"}".md diff --git a/.local/bin/scripts/q b/.local/bin/scripts/q new file mode 100755 index 0000000..a6efa4c --- /dev/null +++ b/.local/bin/scripts/q @@ -0,0 +1,3 @@ +#!/bin/sh + +qalc --color=auto "$@" diff --git a/.local/bin/scripts/t b/.local/bin/scripts/t new file mode 100755 index 0000000..2f617a0 --- /dev/null +++ b/.local/bin/scripts/t @@ -0,0 +1,8 @@ +#!/bin/sh + +[ -f todo.md ] && exec vi todo.md +[ -f TODO.md ] && exec vi TODO.md +[ -z "$1" ] && exec vi ~/todo.md + +[ -f "$1/todo.md" ] && exec vi "$1/todo.md" +exec vi "$1/TODO.md" diff --git a/.local/bin/scripts/xcp b/.local/bin/scripts/xcp new file mode 100755 index 0000000..2529bde --- /dev/null +++ b/.local/bin/scripts/xcp @@ -0,0 +1,12 @@ +#!/bin/sh + +_fn() { + perl -pe "chomp if eof" | + xclip -selection clipboard +} + +if [ -n "$1" ]; then + _fn < "$1" +else + _fn +fi