Compare commits

..

1302 Commits

Author SHA1 Message Date
96969ca538 fix ga script 2026-04-18 12:03:48 +03:00
fea17f0609 volume bindings 2026-04-15 22:48:28 +03:00
98522f5056 refactor lock-telegram.sh script 2026-04-15 13:46:07 +03:00
e3a9e470f5 lock tg on locking sway 2026-04-15 13:38:14 +03:00
45d25d6ac0 remove funding 2026-04-14 16:23:12 +03:00
e120928f50 completions chore 2026-04-06 13:28:07 +03:00
24ab294f11 refactor(aliases) 2026-03-31 19:40:34 +03:00
6c049fdcfc feat(gcim): add completions 2026-03-31 14:31:25 +03:00
35231d8749 sway bar disable mouse wheel 2026-03-30 18:55:29 +03:00
def552033b add git aliases 2026-03-29 12:10:09 +03:00
df7f625b4c fix tmux service 2026-03-24 19:59:16 +03:00
1e8f2e0e57 add alias 2026-03-24 00:10:18 +03:00
ebdab1ae44 add thousand separator to zsh calc 2026-03-20 19:37:48 +03:00
50f0b33af3 add html tab size 2026-03-19 17:03:31 +03:00
160c06c661 tmux mappings 2026-03-15 15:47:44 +03:00
f42be40ce5 add git switch aliases 2026-03-14 12:09:59 +03:00
797fdb5b41 fix nvim clear search mapping 2026-03-13 19:03:10 +03:00
96b8add23e add cargo bin to path 2026-03-13 18:05:11 +03:00
91adc03b90 fix zsh history 2026-03-12 18:48:19 +03:00
61e71e1771 fix zsh history 2026-03-12 17:51:17 +03:00
97ea54f2b2 fzfhistory 2026-03-12 16:57:02 +03:00
342c6d186e nvim mappings 2026-03-11 19:05:57 +03:00
5cd27fe13c fix landiong 2026-03-11 15:20:00 +03:00
4e6a0697a5 post-install hook for sway: init firefox profile 2026-03-11 13:43:05 +03:00
46ef972920 landing sesison 2026-03-11 11:23:32 +03:00
f53dab6909 add another firefox session for media 2026-03-10 18:44:02 +03:00
9589501580 clear search nvim 2026-03-10 14:53:56 +03:00
8fbc4c98a9 fix tmux 2026-03-09 14:04:08 +03:00
4107446a1c fix tmux kill 2026-03-06 16:41:03 +03:00
2e9c444e09 fix tmux copy mapping 2026-03-06 15:40:56 +03:00
f64164b6ff pavucontrol mapping 2026-03-06 15:01:21 +03:00
7519995398 fix(tmux): refactor 2026-03-06 13:28:30 +03:00
06e80254bd add func cargo-init 2026-03-01 17:49:35 +03:00
845f83c3e0 fix headphones charge in i3blocks 2026-02-24 19:31:59 +03:00
640fc6d089 add alias 2026-02-23 02:52:25 +03:00
9a36640df8 add alias 2026-02-23 02:34:27 +03:00
0790b3d363 add func ci to create cargo project 2026-02-21 14:00:48 +03:00
0f131880b1 add aliases 2026-02-21 10:55:38 +03:00
0df870b2a0 add cargo aliases 2026-02-20 08:36:43 +03:00
1db339be4a add alias 2026-02-20 01:50:19 +03:00
30fa651030 fix logs 2026-02-20 01:40:47 +03:00
41be339450 make mpv service 2026-02-20 01:36:46 +03:00
2b9b903803 rename 2026-02-20 00:54:10 +03:00
90c81c3043 fix music 2026-02-19 23:22:43 +03:00
7d4085784a fix music 2026-02-19 23:18:20 +03:00
8d9ba24d6c music 2026-02-19 23:08:44 +03:00
5414d49b01 refactor 2026-02-19 22:10:42 +03:00
d511b9dedc fix 2026-02-19 20:24:59 +03:00
f63ba69d99 refactor 2026-02-19 20:23:22 +03:00
cfb136da9c add auto restart alacritty 2026-02-19 19:51:42 +03:00
ae3b33e945 add langing sessoin 2026-02-19 19:43:06 +03:00
b68cc25014 fix 2026-02-18 11:11:27 +03:00
b01110dc91 add trace color to hl logs script 2026-02-17 16:13:30 +03:00
9bc9cce6f6 fix highlight-logs script 2026-02-17 16:11:00 +03:00
e67593582e add script hl logs 2026-02-17 16:01:51 +03:00
2cd1a21cdb fix zsh autocomplete dupl bug 2026-02-16 01:56:34 +03:00
6ed951778b add user@host to i3blocks 2026-02-08 15:39:48 +03:00
c5cd1726dd fix non-ascii in json func 2026-02-04 11:19:41 +03:00
02d234be3f remove binding for terminal, because using only 1 terminal with tmux multiplexer 2026-01-24 17:36:34 +03:00
e30fd5d1d2 add script serveit 2026-01-24 14:40:48 +03:00
7374d444fe add apco code helper scripts 2026-01-21 19:58:37 +03:00
24f71239e2 sway: change focus on activation behavior 2026-01-15 00:40:57 +03:00
38451f5dee fix sway binding 2026-01-12 16:51:36 +03:00
32381a1c40 fix nvim telescope 2026-01-12 12:15:26 +03:00
26ec6aff99 fix tmux/dotfiles 2026-01-12 08:28:44 +03:00
6c5fbd775c touchpad accelaration 2026-01-10 15:24:30 +03:00
9bf180fdda reduce alacritty opacity 2025-12-24 01:23:21 +03:00
00550ea45d add easyeffects 2025-12-19 22:54:52 +03:00
ee6e683a4f fix pasta in tmux 2025-12-09 23:30:45 +03:00
aa14d4125c zsh completions 2025-12-07 23:18:28 +03:00
13f1c4c395 fix wifi in status 2025-11-29 10:53:25 +03:00
e7091b0efc cursor hiding 2025-11-29 10:48:32 +03:00
18da9279de revert bar to show 2025-11-28 23:07:37 +03:00
a2e5f996d9 gesture 2025-11-28 22:57:31 +03:00
48719600b2 refactor 2025-11-28 12:49:06 +03:00
7a8b0951d1 fix gestures 2025-11-28 12:05:04 +03:00
a73a6e6ede gesture 2025-11-28 11:46:21 +03:00
4d063a44f4 gesture 2025-11-28 10:18:08 +03:00
d8b349f0d8 gesture 2025-11-27 21:48:35 +03:00
4037dfa979 remove x11 2025-11-26 23:44:48 +03:00
6db9f3b125 fix screenshot 2025-11-26 21:53:01 +03:00
d13361cf22 fix targets 2025-11-26 21:28:23 +03:00
90bbeceb2d add gesture 2025-11-26 21:11:13 +03:00
29f9bc507e touchpad 2025-11-26 21:03:48 +03:00
84d40da737 fix gestures 2025-11-26 20:34:07 +03:00
004ef252b0 add gesture 2025-11-26 20:33:05 +03:00
e238460c7b fix brightnessctl 2025-11-26 19:43:37 +03:00
faf91675e1 fix i3blocks wifi 2025-11-26 19:37:42 +03:00
5eac373c2a fix fonts 2025-11-26 19:30:05 +03:00
27170d452c Merge remote-tracking branch 'origin/master' 2025-11-26 18:11:36 +03:00
86c638d665 add battery status 2025-11-26 18:11:18 +03:00
0dfd08e3f5 gitignore 2025-11-25 14:45:59 +03:00
f6742657cc fix tabs 2025-11-20 14:49:33 +03:00
4b9d783284 alias 2025-11-19 23:38:14 +03:00
e4a7358443 add script wake 2025-11-19 22:51:30 +03:00
84fb307256 fix sway 2025-11-19 22:47:22 +03:00
87fd7fd7f7 docs 2025-11-19 16:25:23 +03:00
036943bb93 refactor 2025-11-19 16:12:59 +03:00
e32cadf434 fix bar 2025-11-19 15:18:47 +03:00
fc168c197f sway hide bar 2025-11-19 14:55:56 +03:00
4f868d83c9 sway rename 2025-11-19 13:23:49 +03:00
f2dc60ba4d ref 2025-11-19 12:41:33 +03:00
81e5d94af7 style 2025-11-19 11:01:19 +03:00
13bae9730c ref 2025-11-19 10:54:08 +03:00
7e3bc88fc4 fix wayvnc 2025-11-18 15:35:52 +03:00
e6d96c38ea remove picom 2025-11-17 13:42:20 +03:00
c279742cc2 sway binding toggle bar 2025-11-17 10:50:10 +03:00
8d289006a8 pastas 2025-11-17 00:38:25 +03:00
c19b0ce18a fix copypasta 2025-11-16 21:56:53 +03:00
2eb84883cd fix zcalc_histfile 2025-11-16 18:30:03 +03:00
6a06ef5399 fix copypasta 2025-11-16 18:01:35 +03:00
250174e5ff refactor sway 2025-11-16 02:14:18 +03:00
e7e09b47df tmux + alacritty opacity 2025-11-14 15:52:04 +03:00
51f5010dc9 fix sway 2025-11-14 15:47:00 +03:00
d063d2b447 sway mappings 2025-11-14 11:12:54 +03:00
1b55d67110 rm skip-username 2025-11-14 09:44:11 +03:00
9addfbd04e fix black background 2025-11-14 01:46:37 +03:00
cd92b78f23 fix wl-copy 2025-11-14 00:37:22 +03:00
fc26afb9a6 fix vnc 2025-11-14 00:32:26 +03:00
1db4989005 autologin 2025-11-13 19:43:39 +03:00
5c96138aca sway add include 2025-11-13 16:41:38 +03:00
1bc39c91c0 sway fix display layout 2025-11-13 16:32:08 +03:00
0220be6920 fix slm sway 2025-11-13 16:10:54 +03:00
512034a05a add autostart apps 2025-11-13 13:33:01 +03:00
b50a1bcae2 fix cleanup-directory function 2025-11-13 13:10:30 +03:00
ee2ad8f08b wl-paste fix 2025-11-13 12:48:56 +03:00
0909b3afb7 sway refactor 2025-11-13 12:25:29 +03:00
a585f989f5 remove i3 + fix sway mappings 2025-11-13 01:39:22 +03:00
6206502fd2 fix i3block volume 2025-11-12 16:03:47 +03:00
e388290c67 fix clipboard 2025-11-12 15:09:03 +03:00
f0f2105b38 swaylock 2025-11-12 00:23:15 +03:00
b6c2953992 switch to sway 2025-11-11 23:58:58 +03:00
9ae72acb0e sway refactor 2025-11-11 23:33:21 +03:00
d439428671 sway change layout handler 2025-11-11 22:57:06 +03:00
3574ec7f6e sway notifications + refactor 2025-11-11 22:04:32 +03:00
72ccbc8110 sway refactor 2025-11-11 20:10:55 +03:00
260ebc30eb add sway lock 2025-11-11 19:23:09 +03:00
55ed73161a sway add cursor hiding 2025-11-11 18:51:26 +03:00
b2d291bb0a sway configs 2025-11-10 23:49:37 +03:00
6c019632ba add sway 2025-11-10 22:33:05 +03:00
4048e16bbe refactor 2025-11-10 00:28:45 +03:00
e5f3079c82 revert kb layout switching 2025-11-10 00:11:35 +03:00
17164de6ad add script to switch kb layouts 2025-11-09 21:08:08 +03:00
c5618397dd i3blocks change language signal 2025-11-09 20:46:31 +03:00
64531b2113 add description to httpstatus script 2025-11-09 18:49:31 +03:00
73f1bda2bf fix timer 2025-11-09 18:05:17 +03:00
41627767b9 fix tiner script 2025-11-08 21:59:20 +03:00
1471013bd7 add layout display to i3blocks 2025-11-08 18:39:01 +03:00
89b210f663 fix open script 2025-11-07 13:27:49 +03:00
91e122af50 add scipts, fix mcd 2025-11-05 22:54:10 +03:00
f8f7831415 move function to scripts 2025-11-05 22:17:50 +03:00
58e3a093f9 fix executable bit 2025-11-05 11:19:00 +03:00
f93b556789 scripts 2025-11-04 17:45:42 +03:00
d547a8f1e0 add scripts 2025-11-04 14:30:14 +03:00
99601082ce envs 2025-10-31 00:05:04 +03:00
7b7b4094af add psw 2025-10-30 22:45:50 +03:00
4a88eb960d add top-commands func 2025-10-29 02:13:10 +03:00
361d9ce065 add notes aliases 2025-10-29 01:14:53 +03:00
a534f5bdd1 Merge remote-tracking branch 'refs/remotes/origin/master' 2025-10-24 15:00:07 +03:00
99c6c50f42 emoji to i3blocks 2025-10-24 14:59:24 +03:00
cf783051ad emoji to i3blocks 2025-10-24 14:58:06 +03:00
5a45b10698 change intervals i3blocks 2025-10-24 01:11:47 +03:00
8e184d2098 fix i3blocks bluetooth 2025-10-23 23:44:03 +03:00
fdb8fab853 fix i3blocks and pomodoro 2025-10-23 23:33:06 +03:00
bdbf3f9359 fix refresh i3block command 2025-10-23 21:31:49 +03:00
a55ffaa138 add pomodoro mapping 2025-10-23 21:12:23 +03:00
7c763d62e3 Merge branch 'i3blocks' 2025-10-23 20:00:23 +03:00
3b7f374057 i3blocks 2025-10-23 19:55:40 +03:00
3165c8d469 fix 2025-10-23 18:05:30 +03:00
964f4f5480 fix 2025-10-17 00:30:27 +03:00
947151dd4c add aliases 2025-10-17 00:19:10 +03:00
ead6118efb add git alias 2025-10-14 11:56:45 +03:00
669ff43ec0 fix note install-hook 2025-10-12 02:10:06 +03:00
c165357066 add tmux session 2025-10-10 18:08:42 +03:00
ccc217d191 add alias ex 2025-10-08 15:35:17 +03:00
90c5d38c12 feat(nvim): add scrollbar plugin 2025-10-08 13:18:28 +03:00
adea5a27bb fix cleanup-directory function 2025-10-06 15:00:57 +03:00
49bf6b287d i3wm black 2025-09-23 11:22:24 +03:00
c7a894e5f0 add termux shortcut 2025-09-16 10:12:33 +03:00
354c1c2a6b rm unused git hooks 2025-09-10 16:00:22 +03:00
d859a28f9b fix tmux lingering 2025-09-10 13:09:59 +03:00
28dc71a192 fix tmux service 2025-09-10 12:26:19 +03:00
3fa73ef3b6 add termux shortcut 2025-09-04 01:00:26 +03:00
462c79c9c6 add russian mappings for tmux 2025-09-01 14:05:53 +03:00
147422ab17 git alias tags 2025-08-29 12:49:52 +03:00
ad390d00b6 upd(genpass) 2025-08-21 22:51:57 +03:00
91b7fc71a7 fix(ssh-proxy-service): add everlasting restarting on failure 2025-08-21 21:55:11 +03:00
4b7abd9515 fix i3status 2025-08-11 15:06:33 +03:00
c02fb05f22 fix myip 2025-08-10 20:40:27 +03:00
c85397220a i3wm disable auto_back_and_forth 2025-07-23 13:40:39 +03:00
10b4373bf0 i3wm map switch to last ws 2025-07-19 14:26:58 +03:00
d6b8d7e0ae git alias ga 2025-07-18 20:11:35 +03:00
f7b7a2a518 fix git encoding 2025-07-18 19:43:48 +03:00
b07cf3869e tmux mappings 2025-07-16 00:01:40 +03:00
2312e66f1f add notifications on alias WAKE 2025-07-05 19:36:23 +03:00
0d6810f374 less charset for russian support 2025-07-02 11:10:11 +03:00
f54bff0fda nvim add plugin for opening files in format file:line:column 2025-07-01 11:01:56 +03:00
86cfba7187 fix nvim cursor place saving 2025-07-01 10:40:22 +03:00
0b99b04495 tmux add mapping for search all files paths in buffer 2025-06-30 12:50:15 +03:00
2c16752260 i3wm disable mouse warping 2025-06-09 21:54:20 +03:00
92792a09af fix git alias a 2025-06-09 10:53:51 +03:00
045cf9ca1b aliases 2025-06-04 11:20:06 +03:00
fa7221ecae add locate settings 2025-06-02 14:35:17 +03:00
334085ab32 mason compability 2025-05-28 11:27:21 +03:00
c8c0a2159e i3wm disable scroll workspaces 2025-05-26 12:13:31 +03:00
537e66cf20 fix tmux bug with related session names 2025-05-23 18:03:10 +03:00
c3a1612b0f i3 bind swap workspaces 2025-05-23 11:04:29 +03:00
ff3d5064b8 refactor screenshot, feat: option to disable notifications 2025-05-21 18:58:56 +03:00
9081fef1ff refactor 2025-05-20 17:44:13 +03:00
20055deed0 screenshot notify style 2025-05-20 12:37:23 +03:00
ec98e1b6b5 refactor screenshot script 2025-05-20 12:20:26 +03:00
c655e40f6d migrate to i3blocks 2025-05-19 18:57:08 +03:00
84350f5842 i3 screenshots script add quality and noopengl optional param 2025-05-19 16:53:24 +03:00
03848abdb3 i3 screenshots script refactor 2025-05-19 16:28:35 +03:00
a10f949729 i3 screenshots add script and notifications on screenshots 2025-05-19 16:21:09 +03:00
247fc36d98 mimetypes 2025-05-15 22:12:36 +03:00
922c614fd0 tmux environment 2025-05-15 21:05:08 +03:00
a237eab58f refactor slm default 2025-05-15 16:22:09 +03:00
e09b56351d add default xdg apps 2025-05-15 16:17:30 +03:00
729f11cbd3 renamed slm 2025-05-15 16:03:54 +03:00
58c3b7db28 tmux commentary 2025-05-15 15:37:37 +03:00
1d2563a49e add russian aliases 2025-05-15 12:50:10 +03:00
34f194a91f change screenshots mappings and xdg dirs 2025-05-14 13:10:23 +03:00
c5ed921348 change default browser 2025-05-14 09:50:47 +03:00
90f902b715 add alias git 2025-05-07 02:03:18 +03:00
b6c0bed615 git default branch now is main 2025-05-07 01:57:13 +03:00
c463244cc0 x11conc 2025-05-06 20:20:18 +03:00
0d4cad56bb x11conf 2025-05-06 20:06:32 +03:00
9679e2079b git aliase 2025-05-06 15:00:23 +03:00
2fdda3a2e3 zshenv.d 2025-05-06 14:35:01 +03:00
1855ecc35d x11vnc 2025-05-05 23:27:15 +03:00
3cd78ae74c aliases 2025-05-04 00:42:56 +03:00
3576cb2f20 aliases 2025-05-01 03:11:52 +03:00
370ec5fcd9 django-create-project 2025-05-01 00:42:41 +03:00
b6f366f7d2 git config filter lfs 2025-04-30 22:25:20 +03:00
5774abe938 genpass 2025-04-28 21:50:44 +03:00
866f46967c git aliases 2025-04-27 20:55:49 +03:00
3368a564b0 function djang-create-project 2025-04-11 16:23:25 +03:00
1b6e26c902 migrate from firefox to chromium 2025-04-11 13:08:33 +03:00
e658228d3c remove hooksPath 2025-04-11 11:46:45 +03:00
fa7aa567a6 fix nvim mappings 2025-04-10 10:11:55 +03:00
a63f591c59 global gitignore 2025-04-07 15:35:20 +03:00
d1b587536e fix nvim 2025-04-07 14:40:09 +03:00
832502b1d5 ref gobuild zsh function 2025-04-07 13:44:34 +03:00
df8722644b git alias a 2025-04-03 15:23:37 +03:00
0171dd5120 gitignore 2025-04-03 11:01:31 +03:00
da43e8cc09 tmux session 2025-04-01 15:45:46 +03:00
b9f5afa0b6 proxy aliases + add chromium 2025-04-01 13:41:59 +03:00
a4ed26fdb3 go pprof env 2025-04-01 12:29:30 +03:00
a00079c820 zsh history ctrl+r 2025-04-01 11:32:38 +03:00
e26e9f16d5 change mappings 2025-03-31 16:05:06 +03:00
f216ea9e5e refactor 2025-03-25 11:25:05 +03:00
c2d4b02cb6 zsh refactor function cleanup-directory 2025-03-25 11:17:07 +03:00
4213b395ea shellcheck disable 2025-03-25 10:45:56 +03:00
9c6b4b0ebf function open 2025-03-24 10:49:06 +03:00
1b62c2a66f aliases 2025-03-22 23:43:11 +03:00
35477abe48 fix extracto mappings 2025-03-22 10:29:45 +03:00
9fbf50a1b6 aliases 2025-03-22 10:00:50 +03:00
d296aadcb5 aliases 2025-03-20 21:32:32 +03:00
9584cd0b4c i3 dpms 2025-03-18 14:02:39 +03:00
9bcdb62015 renumber window 2025-03-17 18:17:56 +03:00
749205acc0 gobuild function 2025-03-11 16:26:19 +03:00
59465469fa zsh visual copy to system clipboard 2025-03-07 15:33:53 +03:00
018874f060 editorconfig 2025-03-07 09:55:43 +03:00
b41fe49004 tsx nvim config 2025-03-05 23:45:43 +03:00
bf01e401d2 node modules global gitignore 2025-03-05 23:35:00 +03:00
0f3b2024df rofi add mappings 2025-02-08 16:06:58 +03:00
46108c2f8d fix 2025-02-07 14:33:57 +03:00
2761b19f1a zsh completions 2025-02-07 10:33:08 +03:00
1d30104340 zsh completions 2025-02-07 10:22:09 +03:00
c67ea463e9 rofi mappings 2025-02-05 14:10:34 +03:00
a89bbc813c fix xresources 2025-02-05 11:46:47 +03:00
fd867c892b git ignore 2025-02-05 11:32:16 +03:00
8bf01c0e95 Merge remote-tracking branch 'origin/master' 2025-02-04 09:37:31 +03:00
570db7724c Merge remote-tracking branch 'origin/master' 2025-02-01 14:58:47 +03:00
6e9f690a9c fix font size 2025-02-01 14:58:20 +03:00
5e7f15df2b fzf mappings 2025-01-31 15:19:18 +03:00
1c8c0795a4 Merge remote-tracking branch 'origin/master' 2025-01-31 14:07:29 +03:00
4b6cbc0f8d git alias 2025-01-31 14:06:38 +03:00
69b930d7f4 dpi 2025-01-30 21:47:21 +03:00
0d4515d8c3 i3: hide cursor after idle 2025-01-29 11:30:31 +03:00
9367aa7990 fix 2025-01-27 14:48:30 +03:00
a701cf558b rm GOPROXY=off 2025-01-27 13:57:11 +03:00
5b08516319 nvim: remove plugin leap 2025-01-27 12:02:18 +03:00
18b705b718 style 2025-01-27 11:48:39 +03:00
edcb67e9ee add alias 2025-01-26 21:58:10 +03:00
9440caf156 zsh ctrl+r mapping 2025-01-26 19:13:32 +03:00
6fcf277359 fix 2025-01-25 15:17:10 +03:00
9d2915895b tmux start session from dir 2025-01-25 01:50:37 +03:00
667badeb9c mcd refactor 2025-01-23 21:26:00 +03:00
43973a1d68 add note to target 2025-01-23 00:29:59 +03:00
4b353e47be fix mcd 2025-01-22 22:34:09 +03:00
583b9ff6f7 xdg downloads dir 2025-01-22 14:46:00 +03:00
b62bdee1ed fix tmux mappings 2025-01-22 11:09:37 +03:00
9465568b5f gitignore 2025-01-21 14:10:35 +03:00
66b7dce3c2 zsh alias ? 2025-01-17 15:03:39 +03:00
c1078672bf GOCACHE variable 2025-01-16 01:12:12 +03:00
81bcd8dc3d fix git config 2025-01-15 18:57:52 +03:00
0a66d62165 ref 2025-01-13 23:17:25 +03:00
7beb5bc38b tmux plugin extrakto mappings 2025-01-13 23:06:19 +03:00
a749f19422 zsh mappings 2025-01-13 14:25:56 +03:00
00baf0f20e myip command 2025-01-10 22:53:30 +03:00
160cecbbef codestyle 2025-01-10 15:44:49 +03:00
26e6bd40bb myip command 2025-01-09 00:24:09 +03:00
e7bfa7fdf6 add git alias 2025-01-07 22:38:58 +03:00
ebb19ef63b zsh: fix completions 2025-01-07 15:45:31 +03:00
3c27faae0e zsh: remove autocomplete plugin 2025-01-07 14:25:59 +03:00
3d82b815b2 move alias gobuild to function 2025-01-06 23:47:43 +03:00
3c1b815582 chore(zsh-aliases): add global alias 2024-12-25 00:34:03 +03:00
c45a39a419 gbuild func 2024-12-23 13:38:47 +03:00
429a4cb2fe refactor 2024-12-22 23:45:57 +03:00
74c0fdebb3 editor config 2024-12-20 11:04:24 +03:00
259593ba4f editorconfig for go files 2024-12-20 09:53:59 +03:00
1c36a4e5f7 zsh aliases 2024-12-19 13:53:43 +03:00
cfd6ddee0d rewrite zsh plugin as single widget 2024-12-19 13:33:55 +03:00
91bafdb221 zsh mappings 2024-12-19 12:54:55 +03:00
dfa0832f8a refactor beep music scripts 2024-12-19 12:48:33 +03:00
3aa127e7e6 chore: move rarely used zsh functions to files 2024-12-19 12:15:28 +03:00
dd7123f98a zsh aliases 2024-12-19 11:32:36 +03:00
4235971fb7 chore 2024-12-18 23:59:33 +03:00
b807be1587 autoenv refactor 2024-12-18 16:15:25 +03:00
4ea4da352f autoenv refactor 2024-12-18 15:07:56 +03:00
a4d8e204f6 editorconfig 2024-12-17 16:38:28 +03:00
6bdfc3d812 rename home dirs 2024-12-17 14:04:16 +03:00
f410467a9a zsh autoenv refactor 2024-12-17 13:03:34 +03:00
3755822796 zsh autoenv refactor 2024-12-17 12:46:32 +03:00
1d136f1f64 zsh autoenv refactor 2024-12-17 12:06:46 +03:00
695522d088 autoenv refactor 2024-12-17 09:49:51 +03:00
c4a7194249 Merge branch 'master' into zshautoenv 2024-12-17 09:21:38 +03:00
649ca37de8 beep music 2024-12-16 23:40:03 +03:00
a93541b520 home tree permissions file 2024-12-16 23:15:00 +03:00
a1f0d960e2 upd: vim telescope ignore list 2024-12-16 14:13:12 +03:00
76568fa286 zsh autoenv refactor 2024-12-16 12:56:14 +03:00
46faf1536b zsh autoenv authorized dirs 2024-12-16 12:18:48 +03:00
c217b57e69 zsh autoenv 2024-12-16 11:58:52 +03:00
2bdf365300 upd: vim telescope ignore list 2024-12-16 10:19:14 +03:00
251e88a000 zsh alias to function 2024-12-13 20:05:54 +03:00
89daf17b92 tmux time mappings 2024-12-13 15:11:44 +03:00
0734de3f67 tmux weather mapping 2024-12-13 14:54:19 +03:00
c25c6bf266 zsh completions 2024-12-13 11:12:14 +03:00
a81b4ce279 zsh autocomplete 2024-12-12 20:51:44 +03:00
a1e01875de zsh completion plugin 2024-12-12 20:44:48 +03:00
7ad907b609 zsh remove plugin autocomplete 2024-12-12 18:23:17 +03:00
a66621f0a4 zsh completions 2024-12-12 16:58:33 +03:00
3b538ccaf4 zsh mappings 2024-12-12 16:58:05 +03:00
09e1fe8b0a nvim completion 2024-12-12 15:37:27 +03:00
b3d83a2d78 zsh refactor 2024-12-12 15:29:10 +03:00
3775a9b8ec zsh autocompletions plugin 2024-12-12 15:27:34 +03:00
37e9ac2814 zsh completions 2024-12-12 14:44:49 +03:00
b20f8aab0a tmux session ssh 2024-12-11 22:15:29 +03:00
a5768d66d8 termux shortcuts 2024-12-11 01:23:03 +03:00
22b0280702 gitignore 2024-12-10 16:39:38 +03:00
66681dd143 t script 2024-12-10 14:07:31 +03:00
7cc90747ca zshenv 2024-12-10 14:01:51 +03:00
b159e60370 i3config 2024-12-06 13:10:27 +03:00
7761decfb2 zsh aliases 2024-12-06 11:07:01 +03:00
da9273d38e zsh add alias 2024-12-06 09:57:54 +03:00
dca27bca1f zsh completions 2024-12-06 09:49:01 +03:00
bd473085a7 zsh 2024-12-05 23:38:09 +03:00
9cf28b8da9 tmux disable detach-on-destroy on remote host 2024-12-05 22:55:13 +03:00
d744b66166 git add hint 2024-12-05 22:27:58 +03:00
3a39401021 zsh complete mappings 2024-12-05 22:16:19 +03:00
e5fd71dcf0 zsh feat 2024-12-05 22:03:16 +03:00
4382797c25 zsh complete system 2024-12-05 21:53:50 +03:00
44839849b6 zsh and nvim completions 2024-12-05 21:36:25 +03:00
cf09544569 nvim remove unused keymaps 2024-12-04 14:16:22 +03:00
67417b09ef tmux fix mouse copying 2024-12-03 16:23:02 +03:00
468b9b698f nvim disable autocomplete 2024-12-03 15:04:30 +03:00
5c6f5fba0a nvim: change autocomplete mappings 2024-12-02 14:07:34 +03:00
ac6d7a07ea tmux copy to systemclipboard 2024-12-02 11:30:34 +03:00
5ce1ca4a42 git aliases 2024-12-02 11:00:10 +03:00
c180a23930 add git alias 2024-12-01 22:05:21 +03:00
ae5ff167ee ref(zsh): rename calculator to accept_line 2024-12-01 21:13:32 +03:00
9b303d5385 i3status style 2024-11-29 15:39:11 +03:00
3f0fdef139 fix zsh inline calculator 2024-11-29 15:25:21 +03:00
baa87509da t: feat: create notes with path separators 2024-11-29 09:20:47 +03:00
554c117812 feat 2024-11-28 16:57:16 +03:00
e26483c0b5 style 2024-11-28 16:43:20 +03:00
639c7a456d zsh refactor 2024-11-28 14:16:10 +03:00
3a4ff6b5b9 zsh feature, if command line empty, on enter show current dir content 2024-11-28 13:58:47 +03:00
fc232c4f80 feat: zsh: add mappings for fast git status and list directory 2024-11-28 13:38:08 +03:00
c84367bf8c nvim: fix autocomplete mappings 2024-11-28 10:00:26 +03:00
229fb1c863 t script feature get note content 2024-11-27 16:28:32 +03:00
0cecbd4e43 t script style 2024-11-27 15:58:29 +03:00
9e81d06b2e i3 config 2024-11-27 13:38:51 +03:00
bae26dbc66 addd zsh alias 2024-11-27 11:52:28 +03:00
9ec746a0e1 go 2024-11-26 15:14:10 +03:00
ff5433e202 go envs 2024-11-26 14:36:28 +03:00
5819358ea7 go envs 2024-11-26 12:58:34 +03:00
f64c9db247 go envs 2024-11-26 12:25:04 +03:00
8ffa514d22 nvim mappings run go file 2024-11-25 11:44:21 +03:00
df9852994c fix(nvim:telescope): ignore patterns 2024-11-25 09:19:09 +03:00
2d6735f3ec git config 2024-11-24 22:34:57 +03:00
1766802248 add gopath to path 2024-11-24 22:04:50 +03:00
0e698d4f3b ref git config 2024-11-24 22:04:40 +03:00
a1343f2db6 zsh remove source missing file 2024-11-23 18:54:58 +03:00
967143bf5a t script style 2024-11-22 14:04:40 +03:00
e364188ba9 zsh func 2024-11-22 00:10:19 +03:00
08b8449fe5 zsh aliases 2024-11-21 23:57:07 +03:00
a79dd142d8 zsh migrate from exa to eza 2024-11-21 23:50:08 +03:00
77067e8ff1 fix ssh alias 2024-11-21 14:47:33 +03:00
7f217ecbd7 nvim fix go indention 2024-11-21 13:33:55 +03:00
9d43f6262d ssh config 2024-11-20 21:20:35 +03:00
10c7e768a5 feature t script 2024-11-20 20:49:05 +03:00
e98e06cc87 zsh envs 2024-11-19 13:55:19 +03:00
11d26ecad1 add envs for go 2024-11-19 13:42:50 +03:00
7fee966adf zsh alias tree for exa 2024-11-19 11:27:53 +03:00
c4f2513cf5 zsh aliases 2024-11-19 11:21:37 +03:00
25ed18fda1 zsh pushd 2024-11-19 10:30:24 +03:00
bd53de094a git configs 2024-11-19 10:22:14 +03:00
cca2037d2c git alias 2024-11-19 09:26:40 +03:00
94ef205cf7 fix tmux ssh session 2024-11-18 22:59:54 +03:00
3e4e42e509 fix fzf opts 2024-11-18 22:48:58 +03:00
c541529016 fix zsh showtips 2024-11-18 22:33:36 +03:00
7c52569f97 fix zsh fzf 2024-11-18 22:30:16 +03:00
e4aa9aee25 chore 2024-11-18 22:13:19 +03:00
cab6652a51 zsh refactoring 2024-11-18 22:11:38 +03:00
c06d9b4a38 fix tmux ssh session 2024-11-18 21:59:54 +03:00
31c636c147 sandbox 2024-11-18 21:22:39 +03:00
855009b507 docker image sandbox 2024-11-18 16:47:52 +03:00
4461341ccf zsh refactor 2024-11-18 14:34:44 +03:00
f9dbce3b07 zsh global alias less 2024-11-18 12:18:39 +03:00
65ae6b15ad fix ssh 2024-11-18 12:07:58 +03:00
8c346b1729 git aliases 2024-11-15 14:06:29 +03:00
a6b93d3a2f t script style 2024-11-15 10:15:05 +03:00
38ab46fa2a t-script style 2024-11-15 09:48:47 +03:00
5522704219 t script prettify 2024-11-14 21:35:06 +03:00
ba1dddb5aa fix dbus failed error 2024-11-14 20:58:44 +03:00
40c6cbce70 chore 2024-11-14 15:44:41 +03:00
cb67414281 remove key script 2024-11-13 19:33:36 +03:00
1ab3bfe01d rename script k to key 2024-11-13 19:32:55 +03:00
09dbd61d1b add script k for store secrets 2024-11-13 17:19:01 +03:00
318436053a chore 2024-11-13 12:28:51 +03:00
0ae714129f zsh aliases 2024-11-13 09:41:48 +03:00
c1ea72f4e6 typo(nvim): remove blankline 2024-11-12 16:37:49 +03:00
9db677d2b5 nvim remove unused keymaps 2024-11-12 15:33:53 +03:00
19a1762d9b infokey 2024-11-12 13:58:48 +03:00
c0d34945eb nvim python specific config 2024-11-12 13:04:59 +03:00
91d8bd8de2 remove ssh alias 2024-11-12 11:06:11 +03:00
b938586945 add infokey 2024-11-12 10:03:10 +03:00
816235e298 ref zshrc 2024-11-11 19:40:11 +03:00
9cd5e17a5d zshrc tmux 2024-11-10 20:06:32 +03:00
d561b07417 cleanup ssh-config 2024-11-08 14:10:13 +03:00
3f7edf97ec ref 2024-11-08 13:27:12 +03:00
9ab8a59193 nvim fix plugin 2024-11-08 12:50:38 +03:00
fe80a79846 ref script t 2024-11-08 11:48:31 +03:00
e3ef76a626 tmux attach session preview with syntax highlighting 2024-11-08 11:36:47 +03:00
61407b51f5 tmux session 2024-11-08 11:26:22 +03:00
5c6ac9cbcd ref script t 2024-11-08 09:49:14 +03:00
45a0e43cc1 fix ssh tmux sessoin 2024-11-06 23:10:48 +03:00
af97f24988 ref 2024-11-06 16:25:04 +03:00
58fe1ab39d ref 2024-11-06 15:44:06 +03:00
4beb245aa4 change script t 2024-11-06 00:49:43 +03:00
79ccb183ef fix install script 2024-11-05 20:07:33 +03:00
7a86d25fb4 t script change workspace variable 2024-11-05 17:39:03 +03:00
f657e8be74 t script feature sort by access time 2024-11-05 17:03:24 +03:00
bf79895ea8 t script safety 2024-11-05 15:52:32 +03:00
59f8ab46ea t script style 2024-11-05 15:44:05 +03:00
ccca6a92f9 zsh mappings 2024-11-05 14:13:37 +03:00
6f13de7d44 nvim remove jf escape 2024-11-05 13:50:45 +03:00
82d9a032ab nvim mappings 2024-11-05 13:36:55 +03:00
88e48662a3 script t some refs 2024-11-05 12:27:31 +03:00
2a250daa34 t script feature remove multiple notes 2024-11-05 12:23:56 +03:00
fbc3db337e zsh global alias for scrit t 2024-11-05 12:15:25 +03:00
1499c8ff5f t script feats 2024-11-05 12:10:35 +03:00
882e774bf7 t script ref 2024-11-05 11:27:04 +03:00
ad0b47e6e0 script t features 2024-11-05 11:16:55 +03:00
84f508d216 script t: docs 2024-11-05 11:12:32 +03:00
11ca0b250f fix script t 2024-11-05 11:00:38 +03:00
569d457db6 add script t for fast notes 2024-11-05 10:44:21 +03:00
bd1c90c4a3 zsh post hook 2024-11-04 20:13:23 +03:00
2dd8b6d5a7 sh compatible 2024-11-04 04:14:21 +03:00
1706e7bda9 rewrite install script to posix sh compatible 2024-11-03 23:21:52 +03:00
0fc4f945bc some feats 2024-11-02 18:20:55 +03:00
1c508c6f39 refactor zsh hook 2024-11-02 15:58:32 +03:00
2fe15385e9 some ref 2024-11-02 14:51:43 +03:00
f8298cfc30 ssh alias 2024-11-02 14:23:00 +03:00
e978486393 remove bash 2024-11-02 13:52:41 +03:00
7f66492f2a remove bash 2024-11-02 13:00:52 +03:00
d1c1287399 alacritty decreate history buffer size 2024-11-02 12:23:40 +03:00
5c82197471 make scripts posix sh 2024-11-02 11:14:41 +03:00
6f0c0047d0 fzf style 2024-11-02 10:53:27 +03:00
0d41b5b5cb fzf style 2024-11-01 22:57:55 +03:00
c7f4925084 fzf style 2024-11-01 22:48:47 +03:00
d3731cb198 tmux scripts style 2024-11-01 22:35:32 +03:00
ed8739aa70 tmux scripts colors 2024-11-01 21:51:51 +03:00
737027bf54 ref tmux scripts 2024-11-01 21:28:14 +03:00
1947b3410b tmux fzf feature to kill sessions 2024-11-01 16:40:38 +03:00
f96b5fe783 rename tmux session file 2024-11-01 11:42:04 +03:00
6ba34f7c69 tmux add example session file 2024-10-31 23:36:46 +03:00
ee275b24b6 -m fzf mappings 2024-10-31 20:27:44 +03:00
4e7ed7fa86 zsh mappings 2024-10-31 10:48:29 +03:00
a6b8205df1 tmux change mappings for kill sessions 2024-10-31 10:29:11 +03:00
7a76792eac fix 2024-10-28 11:22:08 +03:00
88de2e74ff ref bash functions 2024-10-28 11:10:45 +03:00
321544578e less 2024-10-28 09:32:17 +03:00
6b5241fb09 ssh alias 2024-10-28 09:23:52 +03:00
d365bdc6ff vim inputrc 2024-10-28 09:21:19 +03:00
dc0ab73547 gitconfig 2024-10-27 23:09:02 +03:00
17d463e424 gitconfig 2024-10-27 23:03:47 +03:00
cb15d6404f tmux mapping paste bracketed 2024-10-27 22:53:28 +03:00
3b6334581a tmux change mappings 2024-10-25 13:20:39 +03:00
caf52539d1 tmux change mappings 2024-10-25 11:34:04 +03:00
575ff93131 tmux clock mode 2024-10-25 11:31:33 +03:00
cb079679a8 alacritty migrate 2024-10-25 10:56:22 +03:00
d82b59a56d tmux kill session mapping 2024-10-25 09:42:08 +03:00
ba786afab4 tmux start session refactor 2024-10-22 22:35:31 +03:00
4b71ffe3b9 zsh completions 2024-10-21 21:21:37 +03:00
3d6a08c9b5 zsh global aliases 2024-10-21 20:46:00 +03:00
d6db0e4b48 tmux session fzf 2024-10-21 19:07:18 +03:00
3255b770d5 tmux change tmux mappings 2024-10-21 14:22:09 +03:00
8cd848933f refactor 2024-10-21 14:12:48 +03:00
425d2c8789 tmux mapping choose session feat show last attached session 2024-10-21 12:52:06 +03:00
033425f869 tmux mapping choose session fix 2024-10-21 12:40:22 +03:00
0f001c52d5 tmux mapping choose session 2024-10-21 12:18:51 +03:00
9d0568160d git aliases 2024-10-18 16:51:20 +03:00
7621d1da3b change tmux mapping 2024-10-18 16:49:04 +03:00
f69e8dc834 add motd files 2024-10-18 10:37:55 +03:00
a85249e473 tmux session ssh add hosts from history 2024-10-17 15:27:30 +03:00
2a4f583d33 tmux fix mapping calendar 2024-10-17 10:21:14 +03:00
436a86a1a4 zsh mappings 2024-10-17 10:14:25 +03:00
cd8da20d95 ref tmux session 2024-10-17 09:23:50 +03:00
3bc1802657 tmux session ssh 2024-10-17 09:17:12 +03:00
5c6a78ae72 tmux session ssh with fzf 2024-10-16 21:36:37 +03:00
907f390899 refactoring tmux sessions 2024-10-16 15:38:19 +03:00
8a718dfb3c code style 2024-10-16 14:14:32 +03:00
3c0db2ae64 fix bash variables 2024-10-16 13:42:55 +03:00
fe2490fc56 fix tmux session sandbox 2024-10-15 16:35:10 +03:00
8d9614c918 tmux sessions 2024-10-14 16:08:16 +03:00
c12dd2d0fa tmux sessions 2024-10-14 00:14:17 +03:00
5423cd1bd1 tmux session managment fix 2024-10-13 23:51:10 +03:00
76a911ffc9 rename tmux start session script 2024-10-13 23:35:09 +03:00
ba8dece09a tmux session managment script 2024-10-13 23:22:48 +03:00
a41a064b4b change mapping for tmux session menu 2024-10-13 23:09:49 +03:00
6fd2f58f6c tmux session managment 2024-10-13 18:08:54 +03:00
20e0ec5f7a zsh fix zle 2024-10-10 09:31:28 +03:00
9ab0d024a6 zsh fix bug 2024-10-09 22:29:19 +03:00
0c3baa45d4 bash functions refactor 2024-10-09 11:41:17 +03:00
43b0246b04 add tmux mappings 2024-10-08 21:02:19 +03:00
c1ffdb9b27 ref 2024-10-08 13:14:54 +03:00
3cefe591af add function bak 2024-10-08 12:41:25 +03:00
e5827e1789 Merge branch 'master' of github.com:TheK4n/dotfiles 2024-10-07 09:47:32 +03:00
1f23150937 python aliases 2024-10-07 09:47:27 +03:00
4ebb0f6e4e migrate from deprecated convert to magick (imagemagick) 2024-10-05 20:40:17 +03:00
3b52e572d4 ref docker cli plugins 2024-10-05 14:50:04 +03:00
1e7023cda2 zsh global aliases 2024-09-27 13:25:22 +03:00
7a49556d15 fix 2024-09-27 13:09:40 +03:00
d4d6e77ce3 ref 2024-09-27 10:50:54 +03:00
6ded275dd3 feat bash functions ve,va 2024-09-27 10:05:38 +03:00
2404c83783 fix tmux session 10 2024-09-27 09:30:24 +03:00
a1be3129ad add bash func to start django project 2024-09-27 09:29:50 +03:00
82de8a8cd1 fix mouse in tmux 2024-09-26 20:56:38 +03:00
62dd4101e4 tmux sesions 2024-09-26 15:38:16 +03:00
a7cbd1112e fix 2024-09-12 20:32:18 +03:00
26729882cb fix 2024-09-12 20:31:06 +03:00
dbe321a9fc git df preview size 2024-09-11 16:21:18 +03:00
6933160f7d refactor bash functions 2024-09-06 14:55:01 +03:00
dc9260af5a fix ssh-proxy service 2024-09-04 21:50:32 +03:00
2c66dbab44 refactor install script 2024-09-02 16:25:04 +03:00
31cf397c4e add systemd per-user service for ssh proxy 2024-08-29 21:29:04 +03:00
a3404c3d78 nvim mappings 2024-08-29 14:34:58 +03:00
56a260ec28 nvim migrate to telescope 2024-08-02 15:02:24 +03:00
70d39c43c5 fix(nvim): rename object behave 2024-07-30 09:54:46 +03:00
a44f38820e fix termux 2024-07-23 00:17:41 +03:00
7673e7f0ca termux shortcuts 2024-07-22 23:38:25 +03:00
4d1586d26b nvim mapping for toggle character case 2024-07-22 19:22:32 +03:00
602b409eff tmux mappings 2024-07-21 18:03:57 +03:00
322572c304 fix 2024-07-14 01:10:22 +03:00
835efc372c feat(nvim): add mappings for assembler 2024-07-12 18:16:03 +03:00
4115e0cebb git signs plugin 2024-07-12 16:50:58 +03:00
f9987d191b nvim add mappings 2024-07-10 15:36:31 +03:00
4d956342e7 nvim(fix): escape mappings 2024-07-10 11:31:21 +03:00
17aff0aca3 nvim(fix): fix russian escape mapping 2024-07-08 16:28:15 +03:00
cac169f083 rm(tmux): remove mapping for ssh session 2024-07-05 14:01:26 +03:00
e83913a7e3 nvim(plugin): rewrite better-escape 2024-07-05 13:52:20 +03:00
ce249bebd9 doc(nvim): add mappings description 2024-07-05 09:36:17 +03:00
d4ca67eba0 ref tmux session 2024-07-04 15:30:18 +03:00
e3c7f6fb21 feat(nvim): hack to disable search_count messages 2024-07-04 11:20:04 +03:00
96b9363b73 feat(nvim): add plugin for code actions 2024-07-03 14:53:45 +03:00
2eac5c6075 rm(nvim): remove broken plugin peek.nvim 2024-07-02 15:47:34 +03:00
2c2721f4b0 refactor nvim plugins 2024-07-02 13:59:12 +03:00
e3293211e5 feat(nvim): add plugin for complete from tmux panes 2024-07-02 13:42:42 +03:00
33101ebb85 style(nvim): lualine 2024-07-02 11:18:45 +03:00
c7deca5a68 ref(nvim): plugins 2024-07-02 10:33:19 +03:00
c5676ebb4e ref 2024-07-02 09:10:05 +03:00
087f204a75 fix(nvim): mappings 2024-07-01 15:42:27 +03:00
1b29f09a62 fix(nvim): remove unused plugin 2024-07-01 10:09:55 +03:00
0821891006 fix(nvim): completions 2024-07-01 09:50:00 +03:00
793afcdf33 add git aliases 2024-06-27 08:41:31 +03:00
212b85f45c nvim lsp 2024-06-26 14:26:33 +03:00
94fc73426c rename git alias cm to cim 2024-06-25 13:59:01 +03:00
c52099f8c2 add git alias amenda 2024-06-25 09:31:09 +03:00
9c9c717ee2 add git alias amend 2024-06-24 15:23:03 +03:00
5037b05b8d refactor git alias cm 2024-06-24 13:54:22 +03:00
a288b493fe git aliases 2024-06-24 11:27:17 +03:00
6dd077e455 edit gitignore 2024-06-18 16:37:30 +03:00
f5a32c3670 tmux mappings 2024-06-17 08:48:03 +03:00
5a241e3bfa ref extract function 2024-06-13 11:17:38 +03:00
591745a472 decrease tmux history-limit options, cos its starts to lag 2024-06-13 10:34:10 +03:00
9db5874ec9 git ref 2024-06-10 16:58:58 +03:00
9764834e79 aliases 2024-06-10 15:46:54 +03:00
9d94bfa4f9 tmux aliases 2024-06-05 14:06:20 +03:00
b34161c811 fix tmux session 10 2024-06-04 09:04:40 +03:00
461f6c023d ref(tmux): aliases 2024-06-04 08:34:19 +03:00
ac072c30de feat(tmux): select-layout mappings 2024-06-03 08:44:15 +03:00
c158c3f613 ref(tmux): remove commentaries from tmux config 2024-06-03 08:16:08 +03:00
2663e165bc tmux mappings 2024-06-02 23:40:27 +03:00
8da56e84a5 feat(tmux): edit swap panes mappings 2024-06-02 22:51:58 +03:00
6ec8aabc58 fix nvim viewoptions 2024-06-01 22:40:43 +03:00
ef5fe02675 refactor zsh mappings 2024-05-31 21:48:03 +03:00
0b29b5ad36 change zsh mapping for insert sudo 2024-05-31 21:35:08 +03:00
09bf90070a edit(tmux): change mapping for tmux plugin 2024-05-31 14:44:56 +03:00
643794521d style(tmux): change main pane size 2024-05-31 14:11:50 +03:00
8cb58dcd39 feat(tmux): mappings 2024-05-31 10:07:48 +03:00
2c3e82d3ed ref(zsh): cli calculator 2024-05-28 16:15:04 +03:00
634f0dee30 ref(tmux) 2024-05-27 13:29:06 +03:00
a74eda0825 ref(tmux) 2024-05-27 13:19:20 +03:00
678fb43670 feat(tmux): focus-events enable 2024-05-27 11:46:07 +03:00
e5e898c44f edit(i3): disable auto fullscreen for terminal 2024-05-27 10:58:36 +03:00
4d73cecaf1 tmux: remote config 2024-05-24 21:45:45 +03:00
5832c0d707 tmux mappings 2024-05-24 16:50:26 +03:00
05e37ca221 refs 2024-05-23 23:56:11 +03:00
3955ec6e58 change mod 2024-05-23 23:29:10 +03:00
652cd816a0 add hourly beep 2024-05-23 22:16:23 +03:00
6e23fbd190 add bigben beeper 2024-05-23 21:18:02 +03:00
2ca6f5fc83 fix 2024-05-23 20:29:58 +03:00
325c2a9f25 some ref 2024-05-23 19:39:21 +03:00
a69fd53fc3 feat(zsh): inline calculator 2024-05-23 16:34:44 +03:00
048eb314e6 fix install-hooks for tmux and zsh 2024-05-23 16:07:13 +03:00
ed9c18f116 feat(zsh): add calculator 2024-05-23 16:03:27 +03:00
906a276b5d feat(tmux): mappings 2024-05-23 10:49:52 +03:00
19a468e9d9 fix(tmux): mappings 2024-05-23 09:14:03 +03:00
6940a95f32 fix colors 2024-05-22 14:19:21 +03:00
6e543d48dd fix(tmux): mappings 2024-05-22 13:41:55 +03:00
cd88354c40 ref 2024-05-22 13:35:53 +03:00
f0945e885e fix typo 2024-05-22 13:30:57 +03:00
399ebd4347 fix(tmux+zsh): open remote tmux 2024-05-22 13:11:30 +03:00
709c5b331b feat(git): diff aliases 2024-05-22 11:36:24 +03:00
bbfb01c66a style(nvim) 2024-05-22 11:15:35 +03:00
e16cd3874b style(nvim): cmdline in center 2024-05-22 11:05:33 +03:00
9b0769b2f3 ref(git): aliases a and s for stage and unstage files 2024-05-22 09:35:55 +03:00
8064f04385 feat(git): alias s for unstage files 2024-05-22 09:16:14 +03:00
ee2b3481cf systemd vnc unit 2024-05-21 23:59:24 +03:00
93249c69ee feat(tmux): run scripts mappings 2024-05-21 22:54:54 +03:00
d91fd1f033 ref(gitconfig) 2024-05-21 16:53:47 +03:00
fc146d28f0 style(fzf): pointer 2024-05-21 16:25:33 +03:00
71c6c3e733 feat(nvim): Telescope ignore files 2024-05-21 15:55:31 +03:00
ac58cb8e33 feat(nvim): prevent dot command to change cursor position 2024-05-21 15:15:17 +03:00
c7c9ccf5a8 ref(tmux) 2024-05-21 13:55:46 +03:00
6999fe2faa fix typo 2024-05-21 13:35:17 +03:00
1f059c6dc7 style+ref(tmux): options 2024-05-21 13:33:52 +03:00
0073a497af ref(tmux): mappings 2024-05-21 08:19:30 +03:00
969bce02d9 feat(tmux): mappings 2024-05-19 16:10:34 +03:00
2378ecee87 fix(tmux): fix swap pane mappings 2024-05-19 14:54:31 +03:00
ad425f8229 ref(tmux) 2024-05-17 13:40:49 +03:00
b6d0f27455 ref(tmux): centralize main pane 2024-05-17 13:21:50 +03:00
3641c722a2 feat(bash): add alias fastping 2024-05-17 13:05:05 +03:00
b9057172df feat(bash): add alias m 2024-05-17 11:31:43 +03:00
8b1c892172 add aliases 2024-05-16 14:22:23 +03:00
3eb7922926 ref(tmux): mappings 2024-05-16 13:36:25 +03:00
986303d858 ref(tmux): mappings 2024-05-16 13:13:16 +03:00
a8f8e8bad1 feat(tmux): mappings for rename windows and sessions 2024-05-16 11:27:15 +03:00
cc64d8a279 feat(tmux): i3wm like movings panes 2024-05-16 10:28:57 +03:00
5e8a282a01 feat(tmux): mappings 2024-05-16 08:56:05 +03:00
8b74abf6b8 fix(tmux): mappings 2024-05-16 08:49:04 +03:00
cffaeaec6c feat(tmux): mappings swap-pane 2024-05-15 16:59:32 +03:00
0a12479916 style(tmux): windows line 2024-05-15 16:40:39 +03:00
99cdd2219f feat(tmux): detach-on-destroy 2024-05-15 16:31:45 +03:00
9cabce08ad feat(tmux): mappings 2024-05-15 10:15:43 +03:00
b98b9ad2c1 feat(tmux): mappings 2024-05-15 10:02:11 +03:00
f49e733035 style(tmux) 2024-05-15 09:30:29 +03:00
abe09fec67 add(firefox): config 2024-05-15 08:53:32 +03:00
d2a3d91ba5 fix(tmux): mappings 2024-05-15 08:11:36 +03:00
00faaa9d54 style(tmux) 2024-05-14 16:18:07 +03:00
75a9a1002e feat(tmux): hook to rename window 2024-05-14 16:02:45 +03:00
233aac4ed9 fix(tmux): mappings to select windows 2024-05-14 16:00:42 +03:00
8a76c14441 fix(tmux) 2024-05-14 14:22:28 +03:00
a230843188 feat(tmux): repeat time 2024-05-14 14:12:33 +03:00
00f77b361b fix(tmux): fix swapping mappings 2024-05-14 11:52:56 +03:00
daf376980e style(zsh): selection color 2024-05-14 10:54:00 +03:00
93c171b765 feat(nvim): plugins 2024-05-14 10:32:36 +03:00
0926c60ee2 mappings(tmux): make tmux more i3wm like 2024-05-14 10:00:10 +03:00
69ed1d93d0 style(tmux) 2024-05-13 16:57:04 +03:00
fe7dac8e87 remove qiwi from funding 2024-05-13 16:36:50 +03:00
61d5871d04 feat(tmux): mappings 2024-05-13 15:26:58 +03:00
a9977e5b9e fix(tmux) 2024-05-13 15:21:10 +03:00
1c0dfeb470 feat(tmux): mappings 2024-05-13 11:37:51 +03:00
4cdccc56c5 fix(tmux) 2024-05-13 11:06:25 +03:00
59adddd4a6 fix(tmux) 2024-05-13 10:33:08 +03:00
6cef4e1023 style(tmux): colors 2024-05-13 09:38:18 +03:00
661df0ed20 feat(tmux): mappings 2024-05-12 20:08:25 +03:00
a6731998b1 feat(tmux): options 2024-05-11 23:02:41 +03:00
746bf59952 feat(tmux): mappings 2024-05-01 23:31:30 +03:00
861e9051ac feat(nvim): mappings to change colorschemes 2024-04-27 12:52:30 +03:00
0306fce08e ref(tmux-systemd-service) 2024-04-27 08:14:39 +03:00
e075ad79c7 style(tmux) 2024-04-26 09:06:16 +03:00
68ecd37fac edit(exports) 2024-04-26 08:22:50 +03:00
62d9cc825c feat(tmux): mappings 2024-04-25 11:46:14 +03:00
910fde9b06 feat(tmux): mappings 2024-04-25 10:28:46 +03:00
153499b787 fix(nvim) 2024-04-25 10:05:22 +03:00
5337863ed8 style(nvim): transparency 2024-04-25 09:39:54 +03:00
7dec95ba32 style(nvim): colorscheme 2024-04-25 09:29:18 +03:00
f9aeabd084 feat(nvim): plugins for todos 2024-04-25 09:12:14 +03:00
ddf28ab99e style(nvim) 2024-04-25 09:04:09 +03:00
898b5fea00 edit(tmux): start tmux in new session only if server running 2024-04-23 16:27:31 +03:00
3f9bae550d fix(colors): revert colors 2024-04-22 16:55:18 +03:00
348e8b0b9a fix(nvim): virtcolumn 2024-04-22 14:49:56 +03:00
86ad684503 ref(nvim) 2024-04-19 16:13:49 +03:00
2cf073c5c8 ref(nvim) 2024-04-19 15:48:24 +03:00
4fd17ccf0c refactor(nvim-plugins) 2024-04-19 15:13:24 +03:00
a3f20d2b04 ref(nvim) 2024-04-18 11:30:20 +03:00
970690d0f2 feat(nvim): add plugin refactoring 2024-04-18 10:27:11 +03:00
e0281b7ac0 nvim(lazy): improving performance 2024-04-18 09:54:41 +03:00
ac7a0df836 ref(nvim): move plugins 2024-04-18 09:22:18 +03:00
fa21763215 ref 2024-04-18 09:14:09 +03:00
d8fef7e944 fix(mdimage-plugin): change target dir 2024-04-17 14:19:21 +03:00
87904359ea fix(tmux): inherit env variables from client 2024-04-16 14:27:02 +03:00
83d1ec948a fix(tmux): check is server running before connecting 2024-04-16 13:31:32 +03:00
5d58745a09 feat(tmux): if ssh create new tmux session 2024-04-16 13:22:13 +03:00
035a006a72 docs 2024-04-16 09:32:42 +03:00
658ce5e5be feat(i3wm): mapping for sticky window 2024-04-15 13:34:02 +03:00
4db685b51f feat(tmux-mappings) 2024-04-15 12:55:02 +03:00
b7eee97b30 ref(zsh) 2024-04-15 12:49:37 +03:00
31a0733a06 feat(zsh-aliases) 2024-04-15 12:39:30 +03:00
59328fc061 feat(bash):aliases 2024-04-15 11:21:56 +03:00
1fe2f17c09 style(tmux) 2024-04-12 21:06:21 +03:00
72e0916480 feat(bash): add variable LESSOPEN 2024-04-12 19:31:03 +03:00
22d83b59cc feat(tmux-mappings) 2024-04-12 18:15:07 +03:00
0a047c707c fix(nvim-plugins) 2024-04-12 14:37:36 +03:00
588e3a5012 feat(nvim): add my plugins 2024-04-12 14:22:58 +03:00
931f3358b0 ref(nvim):mapping 2024-04-12 09:05:34 +03:00
74270c1516 feat(nvim+tmux): fetch and reload config 2024-04-12 08:50:16 +03:00
622e6b478e style(tmux) 2024-04-11 21:55:28 +03:00
16d5621a19 feat(tmux): mappings 2024-04-11 11:48:35 +03:00
d5ed2de48a style(tmux): borders 2024-04-11 11:23:58 +03:00
062a2f7935 style(tmux): disable transparent on inactive pane 2024-04-11 10:33:22 +03:00
f1251f6398 feat(aliases): add alias caps for toggle capslock 2024-04-11 08:29:57 +03:00
94413fc7ed feat(fzf): mappings 2024-04-10 19:24:58 +03:00
9e6630e4af edit(tmux): attach to sessions on start terminal 2024-04-10 19:00:33 +03:00
334641d263 ref(nvim) 2024-04-10 14:51:25 +03:00
1d390b22ae fix(zsh):O selection colors 2024-04-10 13:26:08 +03:00
3d42d8e975 style(alacritty) 2024-04-10 13:09:32 +03:00
58a794b26c style(nvim) 2024-04-10 11:25:55 +03:00
eb0650ad1a ref(gdbinit) 2024-04-10 11:16:47 +03:00
0a8cae743e feat(nvim): transparent theme 2024-04-10 10:29:36 +03:00
9d2cce2688 edit(ssh-config) 2024-04-09 15:33:54 +03:00
f06daf3bf9 feat(tmux): mappings 2024-04-09 09:49:13 +03:00
997e3b6177 feat(tmux): mappings 2024-04-08 15:44:55 +03:00
1c867c89b7 feat(tmux): decrease plugin popup size 2024-04-08 15:37:09 +03:00
758cbfb7a3 tmux aliases 2024-04-08 15:18:31 +03:00
76246af5d7 feat(git-aliases) 2024-04-08 13:51:17 +03:00
5649047f85 feat(tmux): mappings 2024-04-08 13:36:21 +03:00
fe959e5aa9 feat(fzf-mappings) 2024-04-08 12:11:30 +03:00
b9585c92d1 tmux 2024-04-08 09:21:23 +03:00
3e8302a38e feat(tmux):mappings 2024-04-08 08:46:11 +03:00
1fbc34084d style(tmux): centre statusline 2024-04-05 16:58:21 +03:00
5d337d97e4 feat(tmux): map v to toggle selection in copy mode 2024-04-05 11:34:59 +03:00
89978d3476 feat(tmux): add local specific config sourcing 2024-04-05 10:56:52 +03:00
21a3015948 ref(tmux-systemd-service) 2024-04-05 10:40:30 +03:00
7747600976 ref(tmux) 2024-04-05 09:38:53 +03:00
ec5b3a0e29 feat(tmux): mappings 2024-04-05 09:20:31 +03:00
c96fdfba56 ref(nvim-lualine) 2024-04-05 08:50:06 +03:00
9c5fc4147d style(tmux): statusline 2024-04-04 15:57:20 +03:00
1670acf5cc ref(tmux) 2024-04-04 15:26:58 +03:00
3b0dcbf597 style(tmux): statusline 2024-04-04 14:53:04 +03:00
004b85ef03 feat(tmux): temp session 2024-04-04 14:38:42 +03:00
7d8e1c3e22 style(nvim-lualine) 2024-04-04 13:03:45 +03:00
2ddc7c2f51 style(tmux); ref(bashfuncs) 2024-04-04 11:07:38 +03:00
57887a7c83 git aliases 2024-04-04 09:35:43 +03:00
b2e6b78f6e tmux mappings 2024-04-03 16:14:44 +03:00
54b7196f01 config file vim filetype hint 2024-04-03 15:48:30 +03:00
8920594210 nvim remove plugin 2024-04-03 15:40:01 +03:00
70e50a7a50 add tmux aliases 2024-04-03 14:59:12 +03:00
a3f7d765e9 ref(install-script): separate targets from main script 2024-04-03 14:50:55 +03:00
26b3f8f025 pacman.conf 2024-04-03 14:31:10 +03:00
e8082af9bd fix tmux default aliases 2024-04-03 14:27:16 +03:00
d09449411b add tmux systemd service 2024-04-03 14:20:21 +03:00
2b1aa6a84b add tmux systemd service 2024-04-03 14:07:25 +03:00
ff8840e687 add tmux systemd service 2024-04-03 14:02:16 +03:00
120f7fe29e add tmux systemd service 2024-04-03 13:59:43 +03:00
3e1ad38e3e add tmux systemd service 2024-04-03 13:35:57 +03:00
f4c88dc5e5 add tmux systemd service 2024-04-03 13:32:57 +03:00
8d0ffce762 ref tmux configs 2024-04-03 13:32:39 +03:00
7bb9a3ca97 tmux session 2024-04-03 11:35:59 +03:00
adb2c7713e vim plugin buffer_manager mappings 2024-04-03 11:10:43 +03:00
666a2109d1 vim plugin buffer_manager 2024-04-03 10:59:07 +03:00
8e1079a713 vim plugins 2024-04-03 10:38:12 +03:00
6b28c377c7 tmux statusline style 2024-04-03 10:07:10 +03:00
c170508a26 tmux add mapping 2024-04-03 10:05:34 +03:00
8e3d11b2c8 nvim lualine path style 2024-04-03 08:44:12 +03:00
27c6af704a nvim lualine style 2024-04-02 16:07:58 +03:00
1f521d0d64 tmux mappings 2024-04-02 15:41:55 +03:00
9ebad0abf1 tmux mappings, nvim mappings 2024-04-02 15:23:51 +03:00
ff697b350b tmux mappings 2024-04-02 14:13:35 +03:00
fb8fe48182 nvim lualine 2024-04-02 14:04:32 +03:00
ff3ff9548b tmux mappings 2024-04-02 13:16:44 +03:00
165bd86025 nvim add encodings 2024-04-01 11:21:09 +03:00
0898ac7a64 remove tmux mapping for ssh session 2024-03-31 02:25:16 +03:00
faba5b3530 tmux mappings ref 2024-03-31 02:00:59 +03:00
7c10f7b7f1 termux edit extra keys 2024-03-31 01:58:49 +03:00
0c19a113a4 termux add extra keys 2024-03-31 01:35:25 +03:00
05d9ab4025 install add recursive hooks executions 2024-03-31 00:40:48 +03:00
2609ff519e install tmux dependency for bash 2024-03-31 00:18:43 +03:00
793a649485 return autostart tmux session 2024-03-30 21:54:52 +03:00
cb5db2d90b tmux mappings toggling 2024-03-30 21:46:16 +03:00
faf7b8b68b tmux plugins 2024-03-30 21:04:05 +03:00
2a4b7b17d2 nvim russian mappings 2024-03-29 23:38:21 +03:00
dfb5b0ce28 tmux mappings 2024-03-29 21:00:44 +03:00
bc16de86b2 tmux add mapping 2024-03-29 20:49:49 +03:00
7942b79a61 bashrc exec tmux 2024-03-29 14:05:07 +03:00
5464256578 nvim change Ctrl+a to Space a to select all 2024-03-28 15:54:54 +03:00
b358f7e5bb remote tmux features 2024-03-28 15:24:26 +03:00
e83c2398ef i3 make alacritty always fullscreen 2024-03-28 14:56:22 +03:00
46c7edd703 tmux unbind some default mappings 2024-03-28 10:24:15 +03:00
d85fd48c1c tmux mappings 2024-03-28 10:20:50 +03:00
4212284e94 remove tmux from autostart by ssh and tty2. (Its always now) 2024-03-27 22:36:05 +03:00
4c4622a764 tmux activity detector in statusline 2024-03-27 21:56:59 +03:00
2da50c955b Merge branch 'master' of github.com:TheK4n/dotfiles 2024-03-27 21:54:31 +03:00
5f7473dd65 tmux fix session manager 2024-03-27 21:54:25 +03:00
0016fb1af2 tmux style ref 2024-03-27 15:28:56 +03:00
1d4cc70783 tmux resize mappings 2024-03-27 02:44:44 +03:00
b72c9b2792 tmux config path 2024-03-27 02:12:10 +03:00
fbe838a2a9 tmux config 2024-03-27 02:01:00 +03:00
790e2a871a tmux refactor 2024-03-27 00:54:29 +03:00
70c7563638 tmux fix escape delay 2024-03-27 00:10:47 +03:00
1f3cdc9ff3 tmux mappings 2024-03-25 16:26:35 +03:00
c096e3d181 fix LD_LIBRARY_PATH var 2024-03-25 14:22:14 +03:00
3680649874 fix(install-script): fix tmux path config 2024-03-25 10:54:23 +03:00
01f1db65df fix(nvim): harpoon mappings 2024-03-23 15:56:29 +03:00
58c489c3e9 tmux comfy mappings 2024-03-23 01:22:29 +03:00
be4bbf5123 tmux more comfy binds 2024-03-22 23:44:33 +03:00
e3494dcc74 zprofile checks 2024-03-22 23:26:35 +03:00
6787c56f33 sh history 2024-03-22 23:22:47 +03:00
5d8c1f4432 tmux: change configfile path 2024-03-21 21:43:17 +03:00
2905817df9 tmux session template changed 2024-03-21 21:28:37 +03:00
4fc2971dde upd(nvim.harpoon): add description to mappings 2024-03-21 21:10:41 +03:00
60e4c63d78 tmux sessions manager 2024-03-21 21:03:04 +03:00
4a9f0c303d nvim: harpoon, tmux: session manager 2024-03-21 19:57:17 +03:00
f7f7f2bda5 upd(bash.showtips): show tips excluding trailing newline 2024-03-21 15:52:45 +03:00
d537ddb6b3 fix ssht and sshx functions 2024-03-21 14:57:38 +03:00
c8c32651e9 i3 mouse warping 2024-03-21 10:19:26 +03:00
50c1648df5 LESS options 2024-03-20 16:39:21 +03:00
fcc979574c vim mappings run scripts 2024-03-20 15:15:45 +03:00
072766cee8 bash alias 2024-03-19 14:41:11 +03:00
de00dd3107 ssh aliases 2024-03-15 16:51:51 +03:00
7cf25738cc nvim telescope mappings 2024-03-15 16:10:05 +03:00
181303570e nvim alias 2024-03-14 16:31:33 +03:00
d37073a391 fzf mappings 2024-03-13 11:45:33 +03:00
e28af63738 git aliases 2024-03-13 11:23:22 +03:00
e39d46ecfa nvim fix completion order 2024-03-13 10:27:45 +03:00
f18321abe6 bash: prompt always in bottom 2024-03-13 10:11:41 +03:00
d2a57b6f56 zsh: prompt in bottom 2024-03-13 10:08:12 +03:00
e98eb3afcb git diff 2024-03-12 16:33:25 +03:00
f1b9d3c56d tmux alias 2024-03-10 23:17:54 +03:00
c55b7f8745 ref skel 2024-03-07 11:22:31 +03:00
f414ec7d83 tmux status 2024-03-06 16:52:45 +03:00
949598cdf2 tmux status line 2024-03-06 16:49:45 +03:00
2bd34be8e2 return q alias behavior 2024-03-06 15:23:30 +03:00
ae27d0511b zsh fix viins mode 2024-03-06 15:18:38 +03:00
37eb4339fe alias q to detach tmux 2024-03-06 15:13:47 +03:00
37c0ef2741 tmux add alias to detach 2024-03-06 15:09:58 +03:00
75d64b1e33 man width 2024-03-06 09:48:20 +03:00
c58b581e31 some 2024-03-06 09:13:03 +03:00
154d778f7c feat(zsh): if tmux session ask to exit 2024-03-05 23:24:42 +03:00
933b1fc1d8 populate root gitignore list 2024-03-04 13:05:31 +03:00
052a265534 remove npm-global path 2024-03-01 15:41:53 +03:00
713b701101 add terminal-colors 2024-02-28 15:42:14 +03:00
cc809c67ab fix nvim run script by filetype for manpage 2024-02-28 09:09:06 +03:00
3161685f19 nvim fix mkview 2024-02-28 08:50:58 +03:00
4712edd3bd nvim(plug): add plugin 2024-02-25 17:24:43 +03:00
cfe87ecfae typo(nvim): map run script 2024-02-20 10:53:39 +03:00
0813bf2db6 upd(nvim): add plugin rainbow brackets 2024-02-20 09:46:18 +03:00
7f36c026c0 git alias 2024-02-19 15:21:25 +03:00
1fedc91252 fix zshenv 2024-02-19 08:50:54 +03:00
90c92cd10a less params 2024-02-19 08:39:40 +03:00
76dbdcfbcf upd(nvim): add alias for cpp 2024-02-17 15:01:31 +03:00
273ef5e4ad alias vi=nvim 2024-02-17 13:14:18 +03:00
14c5f4d6c7 fix(nvim p mapping) 2024-02-16 16:25:54 +03:00
4d434ccc80 upd mcd alias 2024-02-16 14:55:44 +03:00
433ae456ae upd zprofile for tmux 2024-02-16 14:16:02 +03:00
d8e6a6ac08 fix ssh tmux 2024-02-16 13:52:52 +03:00
0a8ac21fac upd: gitignore 2024-02-16 08:39:37 +03:00
8f786b2a1a add LD_LIBRARY_PATH VAR 2024-02-16 08:19:35 +03:00
b2c7d15af0 pum pum pum pum 2024-02-14 14:12:28 +03:00
e084fe1f77 zsh alias 2024-02-14 09:49:06 +03:00
cd1cebc84d nvim refactor keymap by filetype logic 2024-02-14 09:23:28 +03:00
5050bee3c9 fix nvim colorscheme in tmux 2024-02-09 22:46:04 +03:00
Kan
9ed41847d5
upd(README.md): typo 2024-02-07 22:41:33 +03:00
5cc25ec27b add gdbinit 2024-02-06 15:32:27 +03:00
e0f5fc80d3 inputrc 2024-02-06 15:16:46 +03:00
0fbdae557d neovim better escape mappings 2024-02-06 15:03:14 +03:00
b902354702 zsh aliases 2024-02-06 13:48:46 +03:00
bcbdd2b475 gitignore bak files with postfix ~ 2024-02-06 13:37:29 +03:00
c90e809b44 nvim: test scrolloff 999 2024-02-05 16:47:40 +03:00
6d6bc6446c nvim netrw mappings 2024-02-05 11:09:02 +03:00
1a9ae43feb editorconfig json 2024-02-02 10:38:03 +03:00
53894176f0 ref install script 2024-02-01 16:21:47 +03:00
3495a3edc7 nvim fix formatoptions lua 2024-02-01 16:19:07 +03:00
7118cb6f95 nvim mappings 2024-02-01 14:09:00 +03:00
e3ad622572 nvim lua 2024-02-01 11:07:34 +03:00
90a1a11f08 nvim: mapping C-f for word 2024-01-31 16:13:29 +03:00
a578186c4f nvim C-f mapping 2024-01-31 15:59:45 +03:00
7a62a3686e nvim folding 2024-01-31 15:31:31 +03:00
6777c7a02d nvim: remove mapping : to paste selected 2024-01-31 14:04:00 +03:00
3f530e3803 nvim: rememberr foldings 2024-01-31 11:11:38 +03:00
0c216e7b50 i3: disable rofi to follow mouse 2024-01-31 10:55:24 +03:00
27d4f0a45a i3: disable rofi to follow mouse 2024-01-31 08:39:53 +03:00
49c3aad776 nvim cmp plugins 2024-01-30 15:03:05 +03:00
fa58f846dc nvim fix autocompletions 2024-01-30 14:49:16 +03:00
668d4f2b94 nvim mappings 2024-01-30 11:59:11 +03:00
5b4a3096b6 nvim add ts-textobjects plugin 2024-01-30 11:00:25 +03:00
73c474c69a nvim: replace vim-surround by nvim-surround plugin 2024-01-30 10:57:31 +03:00
08ac03445b i3 mouse warping disable 2024-01-25 16:03:58 +03:00
4695e435c1 function ssht to connect ssh without tmux 2024-01-24 14:33:25 +03:00
abc9276d8e i3 mapping to move workspace between displays 2024-01-24 13:44:29 +03:00
6126294686 replace vim_askpass_helper by python.tkinter realisation 2024-01-24 13:17:08 +03:00
cb31836972 git disable showSignature option 2024-01-24 10:45:49 +03:00
29cbfba4fb i3 mapping 2024-01-24 10:19:14 +03:00
4dde884f8c nvim plugin ref 2024-01-24 09:07:19 +03:00
146cb9745c nvim editorconfig 2024-01-23 19:21:59 +03:00
f46a0e5627 alias wp to cd to $WORKING_PROJECT 2024-01-23 10:19:26 +03:00
660c9b8c40 nvim textobjs 2024-01-22 19:30:30 +03:00
e848f250d4 nvim mapping 2024-01-22 16:26:28 +03:00
ab29adea47 zsh alias 2024-01-22 14:45:54 +03:00
7c1cd424c7 fix editorconfig indent 2024-01-22 11:37:24 +03:00
d832ce3369 fix git aliases diff, fix editorconfig with max line length 2024-01-22 09:43:32 +03:00
8f44f46bf5 nvim mapping 2024-01-22 09:22:24 +03:00
82df4cf011 add .editorconfig 2024-01-21 01:05:52 +03:00
8b9a376517 nvim fix neodev 2024-01-18 15:03:16 +03:00
38cfa308e2 nvim: remove plugins noice 2024-01-18 14:50:08 +03:00
639b835ddd nvim mapping C-a 2024-01-18 11:35:46 +03:00
d3883ca1ce fix nvim commandline 2024-01-18 11:30:08 +03:00
52f778ff4b nvim signcolumn 2024-01-17 14:43:20 +03:00
2195a8bd6f nvim indent fix 2024-01-16 19:17:32 +03:00
57537c8370 nvim indent 2024-01-16 16:59:48 +03:00
4d78079475 nvim signcolumn 2024-01-16 14:17:57 +03:00
fb98aeb74f nvim cmdheight 0 2024-01-16 14:14:09 +03:00
b83c39bb6c nvim some refs 2024-01-15 20:58:43 +03:00
b5b7ba0ebd nvim lualine 2024-01-15 20:49:29 +03:00
1e842617c9 zsh mapping like in bash 2024-01-15 19:14:46 +03:00
9abf6cceef git alias hsa 2024-01-15 15:10:53 +03:00
9d2619fbaf fix zsh dot files 2024-01-15 10:39:03 +03:00
9ce207b697 nvim rm guess-indent plugin 2024-01-15 10:34:13 +03:00
c065b140e2 nvim ftplugin 2024-01-15 09:41:59 +03:00
d9dc604fd7 fix git ds alias 2024-01-14 00:52:30 +03:00
9a9e42d146 termux fix problem 2024-01-13 02:12:24 +03:00
ac564ce59f git config 2024-01-13 02:05:38 +03:00
4573a2ae3d fix zsh post install hook 2024-01-13 01:01:10 +03:00
875dbd6d70 Merge branch 'main' of github.com:TheK4n/dotfiles 2024-01-13 00:57:55 +03:00
cb4c486777 add .zshenv 2024-01-13 00:57:42 +03:00
d727ce7e7a githook for arch PKGBUILD 2024-01-10 20:27:36 +03:00
9d738a868c nvim fix leap mappings 2024-01-10 14:29:44 +03:00
7da5090092 feat(zsh): add global alias JSON 2024-01-10 09:56:42 +03:00
fe96548e2b nvim mapping C-a 2024-01-09 16:49:35 +03:00
513aa13031 feat(rm-alias): more comfortable 2024-01-09 11:30:47 +03:00
c24ed52238 ref tmux 2024-01-08 01:41:38 +03:00
f6b4c7e0ce feat(zsh): zcompile after install 2024-01-08 01:17:59 +03:00
c6b4f0af38 fix(nvim): mapping ,rr 2024-01-06 23:10:48 +03:00
bd3a726345 alacritty: migrate from yaml to toml 2024-01-01 23:38:03 +03:00
20bc46167d feat(nvim): dotenv plugin 2024-01-01 22:05:53 +03:00
f34fdaf984 feat(nvim) plugin peek 2023-12-30 00:00:35 +03:00
92a1f63c9e ref pre commit hook for makepkg 2023-12-24 13:45:22 +03:00
967a6fa4e9 move lesskey to target less 2023-12-22 21:59:11 +03:00
f9c16cc297 add hook for termux 2023-12-22 21:56:32 +03:00
af6ae8dd0c zsh mapping for completion menu 2023-12-22 08:35:50 +03:00
1ce060ac77 edit neovim mapping 2023-12-21 20:57:16 +03:00
cd8b9cbd63 leap disable autojump 2023-12-21 09:15:37 +03:00
8f5735ca01 tmux for ssh session 2023-12-20 23:20:58 +03:00
7cfd04e4b8 fix(nvim): fix snippets 2023-12-20 22:51:26 +03:00
569b5aac14 edit(nvim): mapping for lsp 2023-12-20 21:21:25 +03:00
2db818a35e feat(neovim): add plugin for beauty command line 2023-12-20 17:04:12 +03:00
61de98bcd0 zsh disable history share 2023-12-18 16:54:24 +03:00
345cbebdaf refactor git config 2023-12-12 16:44:29 +03:00
44d2c3f144 edit sandbox user 2023-12-12 11:55:51 +03:00
65fab39f9d edit ssh config 2023-12-12 11:40:00 +03:00
7f50455536 sandbox 2023-12-12 11:31:15 +03:00
7f65ebc8b1 add skip username getty2 2023-12-12 09:59:21 +03:00
6d12659e72 user sandbox with shell in docker container 2023-12-11 17:55:45 +03:00
8067395002 fix git post-install hook 2023-12-11 10:20:37 +03:00
14b71fa591 refactor 2023-12-11 10:12:32 +03:00
c5650e7504 some fixes in nvim lsp 2023-12-08 10:29:47 +03:00
5ef2891fd6 customize tmux 2023-12-07 16:48:49 +03:00
a4ad253356 add cyrilic font to tty 2023-12-06 14:52:25 +03:00
b936c92e34 fix HOST specific directory for bash 2023-12-06 14:44:16 +03:00
0f61afbcfc less keymap 2023-12-06 11:06:36 +03:00
e870324c04 add host specific settings dir 2023-12-06 08:46:47 +03:00
d21b0bf01a update bash function 2023-12-05 15:14:55 +03:00
2188c2fbec fix zsh history 2023-12-01 16:55:59 +03:00
ad5fba2f0c zsh: history options refactor 2023-12-01 10:13:35 +03:00
639c2185dc return bashrc.d 2023-11-30 23:47:26 +03:00
933e000645 fix vpn function 2023-11-30 20:53:58 +03:00
4c04649e21 feat(bash): var TMPDIR 2023-11-30 13:58:43 +03:00
c336a24cae ref(install-script) 2023-11-29 16:41:03 +03:00
4e4561a196 features i3 2023-11-28 10:54:17 +03:00
a42c949c0a feat(git alias) 2023-11-27 14:57:54 +03:00
2a5d94d912
doc(README.md) 2023-11-27 14:43:18 +03:00
c6bc8ed68d ref(tmux) 2023-11-27 14:12:21 +03:00
d35ecd5505 feat(disable caps by systemd) 2023-11-27 13:36:08 +03:00
e89375cf15 mapping(tmux) 2023-11-27 11:05:40 +03:00
c2648953f3 fix(zsh-completions) 2023-11-27 10:42:20 +03:00
8aee21f0c4 fix git aliases 2023-11-27 10:26:54 +03:00
2e429ca9b4 style(git): history alias 2023-11-27 10:16:54 +03:00
1571c5cd9c ref(nvim): toggleterm configs 2023-11-24 15:40:38 +03:00
5780ddac2f refs 2023-11-24 09:51:19 +03:00
2b4f1559ff i3 nonprimary mon 2023-11-23 13:03:43 +03:00
70bb3cd4d5 git config 2023-11-23 09:49:18 +03:00
c54685ca8a fix LESS options 2023-11-22 15:07:25 +03:00
56371406a2 fix git alias hs 2023-11-21 20:41:05 +03:00
76cea21e9e tmux features 2023-11-21 20:11:51 +03:00
18b1abdf24 rm(bash/ssh_completions) 2023-11-21 19:04:15 +03:00
4414d1019e hosts + ssh config 2023-11-21 13:57:41 +03:00
7cbd625d89 fix picom opacity 2023-11-21 13:22:57 +03:00
f658b2aa02 rofi changes 2023-11-21 11:28:34 +03:00
7ebe80c176 some fixes 2023-11-20 19:59:00 +03:00
df4e6b76f6 add(etc/hosts) 2023-11-20 16:14:37 +03:00
40c63547de remove tmux as main session, tty2 always in tmux 2023-11-20 16:01:38 +03:00
678533c613 Merge branch 'rofi', done migration 2023-11-20 13:46:02 +03:00
2d88a07309 feat(rofi): power menu 2023-11-20 13:33:26 +03:00
6fb5909b35 feat(rofi): switch screen layouts 2023-11-20 10:34:07 +03:00
b304abc60f style(i3) 2023-11-20 10:15:37 +03:00
d3eb1b29c2 feat(rofi): switch i3 workspaces 2023-11-20 10:13:43 +03:00
150d7b0ce8 feat(tmux): tmux as main session in all new terminals 2023-11-20 08:31:31 +03:00
49b45a2356 migrate to rofi 2023-11-19 22:28:49 +03:00
22379f8a23 fix(zsh) fix completions for _d function used in aliases 2023-11-19 21:43:57 +03:00
8833186f9b feat(nvim): new plugin, feat(i3): remap caps to ctrl 2023-11-17 16:12:03 +03:00
80ab325096 feat(ssh): allow to save ssh session 2023-11-17 11:03:01 +03:00
8d2d975c7c ref(bash/alias): some refs 2023-11-17 10:51:30 +03:00
3880668f25 fix dpi 2023-11-16 10:09:58 +03:00
9cf5b3a83e fix ping alias 2023-11-15 23:22:28 +03:00
0034917b91 fix font 2023-11-15 18:34:15 +03:00
e9d1db4166 feat(zsh): add global alias 2023-11-15 17:04:33 +03:00
160094ce85 fix default value in some aliases and functions 2023-11-15 13:26:08 +03:00
d89dc71208 ref(install-script) 2023-11-15 10:42:10 +03:00
5ff5456159 ref(gitconfig) 2023-11-14 22:47:14 +03:00
e475a58b4b fix(bash-aliases): compatible with bash and zsh, disable beeper in tty 2023-11-14 16:31:52 +03:00
749c813c63 refactor {ba,z}sh aliases 2023-11-14 14:53:58 +03:00
2fc1486659 style(PAGER): more beauty less 2023-11-14 13:44:58 +03:00
a694fe88f0 style(i3): emoji for workspaces 2023-11-14 08:55:57 +03:00
1a815688b6 Merge branch 'install-script/install-hooks' 2023-11-13 16:23:14 +03:00
6ee690d5a5 installation hooks done 2023-11-13 16:17:59 +03:00
16b2110de4 ref(install-script): some refs 2023-11-13 11:42:56 +03:00
64cdc4ea6b feat(i3): vimlike marks 2023-11-13 11:28:18 +03:00
eb7d783ae0 fix(vim_askpass_helper) 2023-11-10 16:43:45 +03:00
3ec8c4730c feat(zsh): mapping alt+s to insert sudo at start of cmd 2023-11-10 15:55:07 +03:00
1bc5e83ce8 xinit 2023-11-10 11:18:05 +03:00
06e2d0c46e feat(zsh): global alias BEEP 2023-11-08 18:49:39 +03:00
7fd444630b add beep imperial march :) 2023-11-08 18:23:56 +03:00
0f8ef200e0 feat(alias-black): on fly black png generate 2023-11-07 23:28:16 +03:00
d292cb322c fix(install-script): rm .zfunc from targets 2023-11-07 17:18:17 +03:00
4bdace2f9b fix(i3): power menu 2023-11-07 17:15:46 +03:00
32c681fc7e rm .zfunc 2023-11-07 10:29:09 +03:00
c4cea7e6c9 rename .subbash to .config/bash, .subzsh to .config/zsh 2023-11-07 09:39:35 +03:00
841ad03a9b rm(zsh): rm plugin dirhistory 2023-11-06 21:07:06 +03:00
e83858606c style(i3status) 2023-11-02 22:57:07 +03:00
57e6870f9e fix(i3status): temperture 2023-11-02 16:23:27 +03:00
a1bea6d209 feat(i3): play-pause keys 2023-11-02 00:40:40 +03:00
921db4085b revert(i3lock): disable wallpaper 2023-10-31 22:55:38 +03:00
b987ee5072 i3power ref 2023-10-31 15:35:26 +03:00
ff33822aec i3lock wallpapers 2023-10-31 15:15:26 +03:00
a5935e9c73 add(zsh-global-alias): ? 2023-10-30 15:40:18 +03:00
ccbdd6cf8e add(systemd-unit): skip username for tty1 2023-10-30 09:21:53 +03:00
d48b3f60f2 ref(i3status): cpu temp monitor 2023-10-29 23:02:27 +03:00
f2f11166f5 ref(git): alias 2023-10-29 21:39:58 +03:00
abb484162a fix(i3status): memory 2023-10-27 14:30:35 +03:00
c44a47074f ref(git-config): aliases 2023-10-27 13:57:39 +03:00
94657335b5 ref(git-pager) 2023-10-27 12:26:18 +03:00
d096feb72d style(i3status): font, battery 2023-10-27 11:02:18 +03:00
f87057b053 feat(i3status): day-of-week 2023-10-27 10:34:57 +03:00
9c4c89b64f feat(i3): lock and disable screen after 10 minutes 2023-10-27 01:08:15 +03:00
435680e6ed ref(nvim): plugin 2023-10-26 11:15:29 +03:00
b2bf59ed50 i3status: output nonprimary 2023-10-25 18:51:20 +03:00
952b2695fd feat(i3): lock before suspend 2023-10-25 13:54:55 +03:00
862ace6718 ref(i3status_wrapper) 2023-10-24 23:50:33 +03:00
5f6d518c2c fix(i3status_wrapper): timeout for bluetoothctl 2023-10-24 23:20:54 +03:00
a200c7d445 feat(i3): default mode after suspend 2023-10-24 21:04:03 +03:00
e8d0bb16c7 fix(i3): nm-applet causes i3 error 2023-10-24 21:02:17 +03:00
ef09552417 feat(i3): exit menu 2023-10-24 20:08:19 +03:00
60db2029a9 ref(zsh): install zsh plugins from sourcer 2023-10-24 19:16:30 +03:00
6fbc7221cf add /opt/pythonenv 2023-10-24 18:45:18 +03:00
74a0a3d8ce change umask 2023-10-24 18:23:49 +03:00
b7d453078f etc/skel/Public 2023-10-24 18:20:58 +03:00
5bb8821b57 xinitrc add Xresources 2023-10-24 13:49:48 +03:00
afb2051e8b mv(git): git config to .config/git 2023-10-23 14:32:44 +03:00
21bc66a15c feat(nvim): telescope better path display 2023-10-23 13:48:38 +03:00
345b55aebb feat(nvim): telescope git 2023-10-23 10:20:06 +03:00
f3017e49c3 nvim(feat): nvim terminal by <Leader>t, nvim(rm): removed tagbar plugin 2023-10-23 03:03:33 +03:00
24b2a44de1 nvim(feat): linter 2023-10-23 01:34:17 +03:00
ec580e6a3b feat(nvim): gitsigns format 2023-10-22 20:46:27 +03:00
14a26288e1 fix(nvim): rm clangd from default lsp 2023-10-20 14:12:11 +03:00
5b1aaedcb8 fix(install): ipython 2023-10-19 22:28:15 +03:00
ac26997300 nvim(feat): auto install lsp with mason 2023-10-19 21:37:13 +03:00
7a56c0a1d3 ref(nvim): centrilized plugin configuration 2023-10-19 11:14:56 +03:00
48822c5847 edit(gitconfig): set default push branch to current 2023-10-18 15:41:17 +03:00
e23f87daea rm .sub*/*rc.d/* 2023-10-18 15:20:43 +03:00
6d6d949f99 feat(nvim): plugins definition now in lua/base/plugins/*.lua 2023-10-18 15:10:14 +03:00
ddc169dff3 doc 2023-10-17 23:11:56 +03:00
685f7bdade ref(install): some refactoring 2023-10-17 22:58:06 +03:00
6648edd51d feat(nvim): remember line number 2023-10-17 22:37:20 +03:00
fc9c3058d5 fix(install): check reverse depends when unlink. feat(install): add target as dependensy for targets 2023-10-17 22:30:45 +03:00
16c317d2f5 feat(zsh): elapsed time in rigth prompt 2023-10-17 16:26:01 +03:00
975efa8de4 "feat(install): default username in mktmp"
in termux variable USER not defined
2023-10-16 23:16:30 +03:00
16b8e7e2b3 add(alises)a: mcdtmp 2023-10-16 22:46:35 +03:00
6c3c27082b feat(install-script): mktemp with template 2023-10-14 16:49:33 +03:00
aa528dea3a typo 2023-10-14 12:05:00 +03:00
f8cf53680b gitignore: ignore ranger plugins 2023-10-13 10:41:10 +03:00
01c9ea0341 Edit font 2023-10-13 10:39:05 +03:00
c1d4302781 fix(install-script): typo in shebang,feat(install-script): unlink multiple targets 2023-10-12 01:56:17 +03:00
29cb008821 ref(install-script): install many targets with new tmp dir for each 2023-10-12 01:48:25 +03:00
691c7fef6c feat(install-script): list command to list targets 2023-10-12 00:37:44 +03:00
525d073bcb nvim(indent-blankline): migrate to 3 version 2023-10-11 22:15:34 +03:00
4ce56ce9e0 feat(install-script): check command to verify linked target 2023-10-11 22:11:04 +03:00
52ad61ed16 fix(install:zsh): delete creating existing directory 2023-10-09 21:00:17 +03:00
9c3ab82cab fix x11vnc service 2023-09-19 12:50:34 +03:00
2b7296287f move x11vnc systemd unit to user unit 2023-09-06 21:35:51 +03:00
0b4f24a052 fix bug in install script 2023-09-05 19:14:33 +03:00
2247e334ab install-script(debug) 2023-09-04 19:42:04 +03:00
e2e7f25ca8 nvim: add plugin, x11nvc: add systemd service 2023-08-29 23:39:30 +03:00
42dcbcea83 feat(i3): add mapping to hide all windows by win+q 2023-07-18 19:50:05 +03:00
8380b97769 add inputrc 2023-06-23 12:34:12 +03:00
6c30b9d5da nvim(fix): indent_line and cmp 2023-06-01 00:24:30 +03:00
38c31c4724 nvim: migrate from glow to peek for render markdown 2023-05-31 23:21:29 +03:00
dc9200e7c9 feat(zsh_history), add(etc/skel) 2023-05-14 20:12:01 +03:00
7935d87e7d style(install-script) 2023-05-09 22:13:04 +03:00
6f7fde1eba change mapping jk to jf as escape in vim-mode 2023-04-21 22:09:19 +03:00
0b534f40f9 conf(i3): disable mouse focus, alias(black): full black screen by feh 2023-04-19 22:20:30 +03:00
59297fc5b9 feat(screenlayoutmanager) 2023-04-14 18:54:19 +03:00
c88c4f56fd refactor(i3status_wrapper) 2023-04-10 18:54:27 +03:00
1726434b53 feat(i3status): if no headphones, write 'No headphones' 2023-04-09 00:36:43 +03:00
d3c842947f fix(i3status): change hardcoded device uuid to dynamic searching connected device with battery percentage 2023-04-09 00:24:08 +03:00
12900a00b5 feat(i3): map workspaces to monitors 2023-04-08 23:42:49 +03:00
ab5dd5c11a feat(docker): custom docker cli plugins 2023-04-07 20:13:58 +03:00
5bf9f51cd3 nvim(feat): map backspace to delete symbol before cursor 2023-03-30 00:23:27 +03:00
9471c4a24e fix(dmenu), add(fix-nvidia-tearing) 2023-03-26 22:13:00 +03:00
7f878c0495 fix(dmenu): too low size 2023-03-25 20:52:59 +03:00
0e79e384ee install(feat) unlink command done 2023-03-25 16:53:16 +03:00
323065fc49 fix picom 2023-03-24 19:08:51 +03:00
110d30a2e8 nvim(plugin): marks, screen layout migrate to another file 2023-03-23 20:10:05 +03:00
ee5f5d8aba change screen layout 2023-03-21 21:06:52 +03:00
eb151093c0 nvim: add plugins, xrandr: change screens layout 2023-03-19 20:45:10 +03:00
80454c4281 nvim: rm rainbow plugin 2023-03-19 19:44:20 +03:00
25d7aeadb1 some features 2023-03-18 17:58:43 +03:00
122d0b2297 nvim: change colorscheme, fix treesitter 2023-03-14 21:58:02 +03:00
dca683a6e1 nvim: ref cmp 2023-03-12 23:09:28 +03:00
c4aee638e9 nvim: add neo-tree 2023-03-12 21:56:30 +03:00
67126480a8 nvim: migrate to lazy package manager 2023-03-12 20:27:38 +03:00
619f686a78 fix nvim conf 2023-03-11 19:46:28 +03:00
7d5ed5ebac add dirhistory plugin 2023-03-11 15:45:05 +03:00
d8f4999a58 add systemd unit 2023-03-11 15:12:42 +03:00
a7c6e3b828 ref gitconfig 2023-03-08 17:49:34 +03:00
a6ed06b81f rm completion for nvim 2023-03-08 13:42:40 +03:00
688e5153e1 feat: installing files in sandbox before merging in home 2023-03-08 12:21:52 +03:00
168f4be245 refactor structur 2023-03-05 02:35:08 +03:00
7dd816c2f6 rename light to home 2023-03-05 00:09:56 +03:00
fd5372535b some fix 2023-03-05 00:06:21 +03:00
a8a3bd3239 i3 unmap caps 2023-03-01 20:12:49 +03:00
211ac032f4 migrate from Makefile to bash installation script 2023-02-28 19:54:20 +03:00
70513a44c9 Merge branch 'main' into ref-install-script 2023-02-28 18:03:51 +03:00
e3b358a629 refactor function showtips 2023-02-27 01:36:01 +03:00
a5e31ca2b4 refactor nvim lua 2023-02-26 15:50:41 +03:00
bad3465e65 fix PATH variable 2023-02-26 01:21:52 +03:00
e3503d3070 nvim: replace deprecated lsp, fix keymaps 2023-02-25 14:35:28 +03:00
6b2496f7a2 nvim: comment plugin fix config 2023-02-09 21:57:35 +03:00
23ca2054ee zsh poetry completion 2023-02-09 21:50:35 +03:00
ccb6aa6a8d mv zlogin to zprofile 2023-01-31 23:33:06 +03:00
41a18d9805 feat(nvim): gf map 2023-01-31 20:04:12 +03:00
da8d90e7ee fix mcd completion 2023-01-31 14:44:20 +03:00
96a738f6bc fix(nvim completion): relative path to edited files + hide nvim startup message 2023-01-31 01:14:13 +03:00
01b7c37139 nvim plugins description 2023-01-31 00:27:56 +03:00
a7d2f297b5 nvim(snip keymaps) 2023-01-30 19:24:54 +03:00
fd44615707 add(nvim snippets) 2023-01-30 15:06:12 +03:00
76130d6a5d nvim(rm emmet plugin) 2023-01-30 13:29:41 +03:00
4f0a5c1224 feat(nvim): snippets 2023-01-30 03:37:07 +03:00
d19839a894 feat(nvim) run script by shebang on keymap ',rs' 2023-01-30 00:54:51 +03:00
73edbd8ae4 add(vim_askpass_helper_python) 2023-01-30 00:26:18 +03:00
6bd8ef9e5d fix(i3): add keymaps to switch parent/child 2023-01-29 18:08:20 +03:00
7726504000 feat(gitconfig): alias hs
fix(gitconfig): alias edit-unmerged call with $EDITOR
2023-01-29 16:47:44 +03:00
6eabcecc5c edit(git): alias hist add colors 2023-01-29 14:26:05 +03:00
6bac420531 fix(nvim): rainbow plugin not starts 2023-01-29 13:33:04 +03:00
0368fde089 typo(readme) 2023-01-29 00:01:15 +03:00
701ea23649 edit(nvim): change directory of nvim temp files 2023-01-28 23:58:30 +03:00
1245825900 gitignore zwc 2023-01-25 16:33:21 +03:00
af126bb2c8 feat(zsh): completion for nvim with modified files 2023-01-25 00:02:15 +03:00
5390b9a761 feat(nvim) text-object i/ 2023-01-24 21:27:14 +03:00
97feb47488 nvim keymap Space and Enter for add blank line before and after cursorline 2023-01-24 20:14:55 +03:00
c0b8785aa1 nvim(keymaps): gitsigns and trouble plugins keymaps commentaries 2023-01-24 13:32:41 +03:00
89d517fe40 change depricated which to command -v 2023-01-24 13:02:31 +03:00
641e247c34 nvim lsp 2023-01-23 22:40:30 +03:00
cb848505ba nvim keys for gitsigns 2023-01-23 21:54:06 +03:00
cdbf41230d nvim : to <cmd> 2023-01-23 21:44:09 +03:00
dc54a413ce nvim: add plugin trouble 2023-01-23 21:23:16 +03:00
1cb99ef623 i3status_wrapper: add emoji of battery, rename wrapper 2023-01-23 20:50:32 +03:00
cd31360232 rename functions nvim lua 2023-01-23 19:56:20 +03:00
cfdb0952ca i3status add headphones battery wrapper 2023-01-19 21:55:20 +03:00
da64c088f7 nvim russian commands 2023-01-19 20:24:13 +03:00
360a93c6d1 nvim local functions 2023-01-18 22:01:51 +03:00
85b0441e57 add nvim plugins 2023-01-18 21:45:14 +03:00
05f6385865 ref nvim 2023-01-18 18:51:09 +03:00
9337889968 ref(nvim) rename packages 2023-01-17 22:33:18 +03:00
b6cf873821 add(nvim): telescope config 2023-01-17 19:56:43 +03:00
e3de3005da add(nvim): plugins 2023-01-17 19:26:57 +03:00
007027ff69 ref(nvim) 2023-01-17 18:52:14 +03:00
7dda7ec2a0 ref(nvim): vimscript func to lua 2023-01-16 21:41:08 +03:00
60bcfd24b5 ref(nvim): vimscript func to lua 2023-01-16 19:41:00 +03:00
d5a125567e asd 2023-01-16 01:15:45 +03:00
8c157fc97a add(zsh) suffix aliases 2023-01-15 22:31:42 +03:00
f7765bedaa nvim: silent to ,rr command 2023-01-15 21:28:48 +03:00
92b407a376 add(nvim) clipboard 2023-01-15 21:10:36 +03:00
68e0356db9 fix(nvim) wrong plugin names 2023-01-15 20:29:31 +03:00
c643e6fc28 add(nvim) silent all maps, map ,rr to run scripts 2023-01-15 20:24:02 +03:00
94e7f28282 fix(nvim): fix rainbow plugin 2023-01-15 19:57:52 +03:00
a7669555a8 nvim ref to lua 2023-01-15 19:07:48 +03:00
04993a0e51 fix(vim_askpass_helper): if passwords contains spaces it returns only first piece 2023-01-11 18:46:07 +03:00
41c1bae229 fix(vim): wrong commentary symbol 2023-01-10 18:44:09 +03:00
5627bbb420 vim: alias Sw to save by root 2023-01-09 23:35:46 +03:00
b5d7b831c9 fix terminal cursor 2023-01-09 20:58:09 +03:00
a4fecb61a4 alias wake for termux 2023-01-08 15:25:51 +03:00
3cac0c1a90 rm vim plugin: multicursor 2022-12-29 17:42:03 +03:00
595c39e463 psql 2022-12-11 20:16:05 +03:00
c58e1e7a55 makefile 2022-12-08 19:21:52 +03:00
a49d001f4f fix readme 2022-12-08 19:20:03 +03:00
8dc512e8d4 fix typo .gitignore 2022-12-04 21:12:46 +03:00
17ca925331 func showtips 2022-12-01 22:21:44 +03:00
4b05b6c8ec zsh vi mode, cursor style in normal and insert mode 2022-11-19 21:41:00 +03:00
2ddc04cd36 neovim: map ,qq to delete buffer, map ,qa to quit all 2022-11-19 20:02:56 +03:00
ce3d6a6ed4 feat(functions/bluetooth): number of attemts if connect errors 2022-11-16 15:55:01 +03:00
93f606cbed gitconfig: pull.rebase 2022-11-08 19:56:30 +03:00
59c5e8796d nvim plugins 2022-11-07 18:14:21 +03:00
cdbe7f6b73 nvim plugins 2022-11-07 17:47:59 +03:00
27c0e8f7fc $VISUAL 2022-11-06 20:23:01 +03:00
fadee362a6 add etc files 2022-11-06 20:07:53 +03:00
11f0258fc4 git config signingkey 2022-11-06 19:25:02 +03:00
1aadffc0a6 file mode 2022-11-01 21:52:08 +03:00
4df7d9fce4 zsh vi mode 2022-11-01 21:47:18 +03:00
50cd53ed56 Merge branch 'main' into ref-install-script 2022-11-01 20:54:34 +03:00
09af245522 replace makefile to install.sh 2022-11-01 20:54:22 +03:00
cb432b45aa add functions 2022-11-01 20:46:12 +03:00
845867e20e add functions dir 2022-11-01 20:41:41 +03:00
6586a386af zsh vi mode upd 2022-11-01 16:18:14 +03:00
d6124155b6 zsh vi mode, bash fix yank-last-arg 2022-11-01 16:01:06 +03:00
d940cab887 fix: pyenv 2022-10-31 21:36:22 +03:00
8405299676 zsh completion for poetry 2022-10-30 21:10:16 +03:00
ceab2c49e6 ref func: py 2022-10-28 22:33:00 +03:00
41525e6c4d vim manpage viewer 2022-10-25 20:37:48 +03:00
2ba9fb1964 pyenv 2022-10-23 18:13:49 +03:00
67ea9bdbad replaced deprecated plugin 2022-10-23 17:13:46 +03:00
3125d13af1 fix PAGER 2022-10-16 17:02:49 +03:00
46454a7632 add var PAGER 2022-10-16 01:49:37 +03:00
335abc7639 rm bkp completion 2022-10-16 01:41:40 +03:00
c549783c9a ref 2022-10-15 20:36:07 +03:00
21769704a2 remove: tip completion 2022-10-15 19:23:06 +03:00
a23765e787 add(func): func rmt for move file to ~/.trash 2022-10-14 20:38:00 +03:00
5dedabeba6 add(bash completion): completion for tip manager 2022-10-13 20:46:12 +03:00
6e9bd6aa12 add param TMOUT for 'root' alias 2022-10-12 20:31:55 +03:00
d93f64e5f4 returned func json as json prettifier without syntax highlight 2022-10-08 11:33:38 +03:00
b1168ac6fc git hooks for PKGBUILD 2022-10-03 22:57:00 +03:00
1340d9c485 vim map 2022-09-30 22:53:56 +03:00
733272cc9f ssh-config 2022-09-28 20:26:58 +03:00
7d28be48b7 fix root alias 2022-09-28 18:02:51 +03:00
4d496587b1 fix EDITOR var 2022-09-26 22:14:16 +03:00
065e09a080 alias 2022-09-25 16:14:33 +03:00
1020dd0fa7 fix lt func 2022-09-24 18:55:44 +03:00
88321b8cbf add xinitrc 2022-09-18 13:45:31 +03:00
c3d874f689 zsh fuzzy-finder 2022-09-18 12:50:00 +03:00
a74bcb49e4 alias 2022-09-17 23:41:14 +03:00
2fcbc9c0c9 fix: readme 2022-09-16 22:14:55 +03:00
0f1e8ae460 i3 wallpapers 2022-09-12 00:55:00 +03:00
e9cd9b2cc9 i3 wallpapers 2022-09-12 00:50:39 +03:00
647eee7170 nvim fix autopairs 2022-09-10 15:34:25 +03:00
5e3dfcefc3 i3 wallpapers 2022-09-03 22:16:33 +03:00
6062d604cd fix lt func 2022-08-30 19:06:15 +03:00
81f9ce3719 i3 2022-08-28 02:03:57 +03:00
7621900fb3 markdown 2022-08-27 16:00:06 +03:00
6b2f8e7e15 change wake alias 2022-08-25 00:31:19 +03:00
465b59d9c3 change vim bind ,r to ,rr 2022-08-24 21:05:05 +03:00
9ffc8e9c61 add zlogin 2022-08-24 20:52:02 +03:00
4bed87326e Merge remote-tracking branch 'origin' 2022-08-15 12:08:44 +03:00
62bf9667ac fix music alias 2022-08-15 12:08:22 +03:00
38501ff1a1 vim md previewer 2022-08-14 19:34:42 +03:00
6e8c62a8a1 vim md previewer 2022-08-14 19:33:52 +03:00
15fbe4c8f6 zsh hist 2022-08-14 19:13:29 +03:00
bee2daacc1 rename zsh aliases 2022-08-12 20:58:58 +03:00
1913c383b7 add python alias 2022-08-12 20:46:34 +03:00
0f7b419333 fix readmi 2022-08-12 18:29:34 +03:00
2ea9916e14 alias ctc for tty and X-server 2022-08-10 18:59:13 +03:00
0f99bf0d21 ref: rayso func 2022-08-09 23:15:02 +03:00
302436f0ea bash: clipboard aliases for multiple os 2022-08-09 23:04:58 +03:00
8e9c466d27 bash: alias weather 2022-08-09 22:12:51 +03:00
c3f82eb471 bash func rayso 2022-08-09 22:05:11 +03:00
dfad54e9f5 silent toggle nerdtree 2022-08-06 23:31:33 +03:00
3c4f377144 autosave 0 seconds 2022-08-06 20:25:28 +03:00
Kan
b1ca90df98
Update README.md 2022-08-06 15:13:33 +03:00
578729dd88 nerd fix 2022-08-06 15:08:31 +03:00
407143e842 fix 2022-08-06 14:55:45 +03:00
5d4c5b8cc0 fix alias 2022-08-06 14:05:17 +03:00
a8493277ec alias 2022-08-06 13:40:10 +03:00
322e929c53 NERDTree mapping 2022-08-06 13:12:07 +03:00
ab87c4cbe6 fix 2022-08-05 22:09:00 +03:00
e638c1c7ea rm bufferline 2022-08-05 22:04:42 +03:00
137701d738 fix tabs 2 2022-08-05 21:11:03 +03:00
857af1b061 fix tabs 2022-08-05 20:49:47 +03:00
1616d9108a nerdtree 2022-08-05 20:34:18 +03:00
d0c5b72959 nerdtree 2022-08-05 20:23:06 +03:00
230 changed files with 8877 additions and 1865 deletions

2
.github/FUNDING.yml vendored
View File

@ -1,2 +0,0 @@
custom: ['https://qiwi.com/n/THREA793', 'https://www.blockchain.com/btc/address/bc1qgh2fyzqgyxgpstsmqwxyev2luzx7hwc4ezq03u', 'https://www.blockchain.com/eth/address/0x01931cf08BbbA74629c232DbEDB390798cDD121f']

56
.gitignore vendored
View File

@ -1,7 +1,49 @@
sub/vim/bundle home/user/.config/zsh/plugins/*
sub/zsh/plugins
sub/bash/bashrc.d/* home/user/.config/nvim/plugin
!sub/bash/bashrc.d/00_test.sh home/user/.config/nvim/spell
sub/zsh/zshrc.d/*
!sub/zsh/shrc.d/00_test.sh home/user/.config/zsh/zshrc.d/*
sub/vim/tmp/ !home/user/.config/zsh/zshrc.d/00_zhashd.sh
home/user/.zshenv.d/*
!home/user/.zshenv.d/.gitkeep
home/user/.config/zsh/.zcalc_history
.zcompdump
*.zwc
home/user/.ssh/*
!home/user/.ssh/config
home/user/.ipython/profile_default/*
!home/user/.ipython/profile_default/ipython_config.py
home/user/.gnupg/*
!home/user/.gnupg/gpg.conf
lazy-lock.json
home/user/.config/ranger/plugins
home/user/.termux/shell
home/user/.config/tmux/plugins
home/user/.config/tmux/local.conf
home/user/.tmux/*
!home/user/.tmux/dotfiles
!home/user/.tmux/sandbox
!home/user/.tmux/ssh
!home/user/.tmux/example-background-job
!home/user/.tmux/system-update
!home/user/.tmux/music
!home/user/.tmux/landing
home/user/.config/git/local
home/user/.config/sway/config.d/*
!home/user/.config/sway/config.d/.gitkeep
home/user/.config/sway/variables.d/*
!home/user/.config/sway/variables.d/.gitkeep

100
Makefile
View File

@ -1,100 +0,0 @@
all: bash
backup:
mv ~/.bashrc ~/.bashrc.bak || true
mv ~/.zshrc ~/.zshrc.bak || true
mv ~/.vimrc ~/.vimrc.bak || true
mv ~/.vim ~/.vim.bak || true
mv ~/.subbash ~/.subbash.bak || true
mv ~/.subzsh ~/.subzsh.bak || true
mv ~/.tmux.conf ~/.tmux.conf.bak || true
mv ~/.gitconfig ~/.gitconfig.bak || true
mv ~/.gitignore ~/.gitignore.bak || true
bash:
test -d ~/.subbash || \
ln -s $(PWD)/sub/bash ~/.subbash
ln -s ~/.subbash/bashrc ~/.bashrc
zsh:
test -d ~/.subzsh || \
ln -s $(PWD)/sub/zsh ~/.subzsh
ln -s ~/.subzsh/zshrc ~/.zshrc
mkdir ~/.subzsh/plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.subzsh/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.subzsh/plugins/zsh-syntax-highlighting
git clone https://github.com/hlissner/zsh-autopair ~/.subzsh/plugins/hlissner/zsh-autopair
tmux:
ln -s $(PWD)/sub/tmux/tmux.conf ~/.tmux.conf
alacritty:
test -d ~/.config/alacritty || \
mkdir -p ~/.config/alacritty
ln -s $(PWD)/sub/alacritty/alacritty.yml ~/.config/alacritty/
vim:
echo "sudo pacman -S npm ctags fzf; mkdir ~/.npm-global; npm config set prefix '~/.npm-global'; npm install -g pyright"
echo "set editing-mode vi" >> ~/.inputrc
test -d ~/.vim || \
ln -s $(PWD)/sub/vim ~/.vim
ln -s $(PWD)/light/.vimrc ~/.vimrc
mkdir -p ~/.config/nvim/lua
ln -s ~/.vim/vimrc ~/.config/nvim/init.vim
ln -s $(PWD)/sub/vim/init.lua ~/.config/nvim/lua/init.lua
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
nvim +PluginInstall +qall
ssh:
cat $(PWD)/sub/ssh/config >> ~/.ssh/config
git:
ln -s $(PWD)/sub/git/gitconfig ~/.gitconfig
ln -s $(PWD)/sub/git/gitignore ~/.gitignore
ranger:
echo "sudo pacman -S highlight ttf-joypixels noto-fonts-emoji ueberzug poppler"
test -d ~/.config/ranger || \
mkdir -p ~/.config/ranger
ln -s $(PWD)/sub/ranger/rc.conf ~/.config/ranger
mkdir -p ~/.config/ranger/plugins
git clone https://github.com/alexanderjeurissen/ranger_devicons ~/.config/ranger/plugins/ranger_devicons
ranger --copy-config=all
gpg:
test -d ~/.gnupg || \
mkdir -p ~/.gnupg
cat $(PWD)/sub/gpg/gpg.conf >> ~/.gnupg/gpg.conf
echo -e "default-cache-ttl 1\nmax-cache-ttl 1" > ~/.gnupg/gpg-agent.conf; echo RELOADAGENT | gpg-connect-agent
i3:
echo "sudo pacman -S nitrogen picom compton ttf-font-awesome xdotool xclip maim"
test -d ~/.config/i3 || \
mkdir -p ~/.config/i3
mkdir -p ~/.config/i3status
ln -s $(PWD)/sub/i3/config ~/.config/i3/config
ln -s $(PWD)/sub/i3/statusconfig ~/.config/i3status/config
bat:
test -d ~/.config/bat || \
mkdir -p ~/.config/bat
ln -s $(PWD)/sub/bat/config ~/.config/bat/config
ipython:
test -d ~/.ipython || \
mkdir -p ~/.ipython/profile_default
ln -s $(PWD)/sub/ipython/ipython_config.py ~/.ipython/profile_default/ipython_config.py
font:
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
wget 'https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/FiraCode.zip'
unzip FiraCode.zip -d ~/.local/share/fonts
git clone 'https://github.com/powerline/fonts.git' --depth=1
cd fonts
./install.sh
termux:
echo "apt install termux-api tsu"

View File

@ -1,4 +1,4 @@
h1 align="center">Kan`s dotfiles</h1> <h1 align="center">Kan`s dotfiles</h1>
<p align="center"> <p align="center">
<a href="https://github.com/TheK4n"> <a href="https://github.com/TheK4n">
@ -10,7 +10,7 @@ h1 align="center">Kan`s dotfiles</h1>
</p> </p>
## Content ## Content
* [Project description](#chapter-0) * [Project description](#chapter-0)
* [Installation](#chapter-1) * [Installation](#chapter-1)
@ -20,14 +20,15 @@ h1 align="center">Kan`s dotfiles</h1>
## Project description ## Project description
Config files for: Config files for:
* bash
* zsh * zsh
* alacritty * alacritty
* tmux * tmux
* ssh * ssh
* git * git
* ranger * ranger
* i3 * sway
* vim
* nvim
### Prompt ### Prompt
@ -35,58 +36,33 @@ Config files for:
<img src=".assets/prompt.png" alt="Prompt"> <img src=".assets/prompt.png" alt="Prompt">
</p> </p>
### i3 You can add your files to the `~/.config/zsh/zshrc.d` directory for zsh so
that they automatically run in ascending order when you open a terminal.\
| Feature | Shortcut |
|:------------------------|:-------------------------------------------------------:|
| Full Screen | <kbd>PrtScr</kbd> |
| Selection | <kbd>Shift</kbd> + <kbd>PrtScr</kbd> |
| Active Window | <kbd>Super</kbd> + <kbd>PrtScr</kbd> |
| Clipboard Full Screen | <kbd>Ctrl</kbd> + <kbd>PrtScr</kbd> |
| Clipboard Selection | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>PrtScr</kbd> |
| Clipboard Active Window | <kbd>Ctrl</kbd> + <kbd>Super</kbd> + <kbd>PrtScr</kbd> |
### ZSH global aliases
| Alias | Equals | Description |
|:------------------------|:-------------------------------------------------|:----------------------------|
| `git diff L` | `git diff \| less -R` | View stdout |
| `cat main.py S -S py` | `cat main.py \| highlight -O ansi --syntax py` | Highlight syntax |
| `redis-server BG` | `redis-server &>/dev/null &` | Run command in background |
You can add your files to the `~/.subbash/bashrc.d` directory for bash or `~/.subzsh/zshrc.d` directory for zsh so that they automatically run in ascending order when you open a terminal.\
Example:\ Example:\
`~/.subbash/bashrc.d/01_hello.sh` `~/.config/zsh/zshrc.d/01_hello.sh`
```bash ```sh
echo "Hello $USER!" echo "Hello $USER!"
``` ```
### VIM shortcuts
| Command | Description |
|:-----------------------:|:------------------------------------|
| <kbd>,ff</kbd> | Project files search by Telescope |
| <kbd>,fg</kbd> | Search words in project |
| <kbd>,eh</kbd> | Show hiden symbols like tabs |
| <kbd>,l</kbd> | Line number styles |
| <kbd>,c</kbd> | Highlight cursor line |
| <kbd>,/</kbd> | Toggle search highlight |
| <kbd>,``</kbd> | Close all without saving |
| <kbd>,t</kbd> | Tagbar |
| <kbd>,r</kbd> | Run script in new tab (python, go) |
<a id="chapter-1"></a> <a id="chapter-1"></a>
## Installation ## Installation
```bash ```sh
git clone https://github.com/TheK4n/dotfiles git clone https://github.com/TheK4n/dotfiles
cd dotfiles cd dotfiles
make ./install zsh nvim ...
``` ```
## Installation script
Per-user dotfiles "package" manager
### Features
1. Installing files from dotfiles/home/user to $HOME
2. Uninstalling installed files
3. Check installation integrity
4. Transaction based installation
5. Does not overwrite your configs
<h1 align="center"><a href="#top"></a></h1> <h1 align="center"><a href="#top"></a></h1>

30
TARGETS.sh Normal file
View File

@ -0,0 +1,30 @@
readonly TARGETS="\
colors:.config/terminal-colors.d
less:.lesskey .infokey
tmux:.config/tmux .tmux .config/systemd/user/tmux.service %copypasta
t:
note:
psw:
zsh:.config/zsh .zshenv .zshenv.d .inputrc %copypasta %colors
alacritty:.config/alacritty
nvim:.config/nvim .editorconfig .editrc .local/bin/vim_askpass_helper
ssh:
git:.config/git .local/bin/ga
ranger:.config/ranger
gpg:
sway:.config/sway .config/i3blocks .config/mako .config/mimeapps.list .config/rofi .local/bin/screenshot .config/swaylock .Xresources .local/bin/slm .local/bin/slm_rofi .local/bin/firefox_media %copypasta %pomodoro
pomodoro:
bat:.config/bat
font:
termux:.termux
arch:
psql:.psqlrc
docker:.docker/cli-plugins
ipython:.ipython/profile_default/ipython_config.py
gdb:.config/gdb
sandbox:
chromium:.local/bin/pchromium .local/share/applications/pchromium.desktop
scripts:.local/bin/httpstatus .local/bin/apco .local/bin/bb .local/bin/emoji .local/bin/mksh .local/bin/nato .local/bin/pastas .local/bin/timer .local/bin/tryna .local/bin/trynafail .local/bin/bak .local/bin/cleanup-directory .local/bin/cleanup-directory-log .local/bin/cleanup-downloads .local/bin/gobuild .local/bin/json .local/bin/open .local/bin/py .local/bin/sha .local/bin/showtips .local/bin/weather .local/bin/radio .local/bin/rmt .local/bin/scratch .local/bin/wake .local/bin/myip .local/bin/genpass .local/bin/gensalt .local/bin/django-create-project .local/bin/mirror-site .local/bin/split-file .local/bin/extract .local/bin/destroy .local/bin/serveit .local/bin/highlight-logs %copypasta
music:.local/bin/mpv-service.sh .config/systemd/user/mpv.service .local/bin/player
copypasta:.local/bin/copy .local/bin/pasta
all:%less %t %note %tmux %zsh %nvim %git"

3
etc/cron.hourly/99beep Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
beep -f 4000 -l 150 -D 150 -n -f 4000 -l 150

14
etc/hosts Normal file
View File

@ -0,0 +1,14 @@
# Local
## 192.168.50.1 router.home
## 192.168.50.2 router2.home
## 192.168.50.10 files.home
## 192.168.50.11 builder.home
## 192.168.50.12 printer.home
## 192.168.50.20 workstation.home
## 192.168.50.21 phone.home
# Network
# 91.91.91.91 home

0
etc/skel/code/.gitkeep Normal file
View File

View File

View File

View File

View File

@ -0,0 +1,3 @@
chmod 751 "${HOME}"
mkdir "${HOME}/public"
chmod 1777 "${HOME}/public"

5
etc/sudoers Normal file
View File

@ -0,0 +1,5 @@
%wheel ALL=(ALL:ALL) NOPASSWD: ALL
@includedir /etc/sudoers.d
Defaults passwd_timeout=0

View File

@ -0,0 +1 @@
%custompower ALL= NOPASSWD: /sbin/reboot,/sbin/shutdown now,/sbin/systemctl suspend

1
etc/sudoers.d/wireguard Normal file
View File

@ -0,0 +1 @@
%wireguard ALL= NOPASSWD: /sbin/systemctl start wg-quick@wg0.service,/sbin/systemctl stop wg-quick@wg0.service

View File

@ -0,0 +1,10 @@
[Unit]
Description=Disable capslock
[Service]
ExecStart=sh -c "dumpkeys | sed s/Caps_Lock/Control/ | loadkeys"
Type=oneshot
[Install]
WantedBy=multi-user.target
After=multi-user.target

View File

@ -0,0 +1,4 @@
[Service]
Type=simple
ExecStart=
ExecStart=-/sbin/agetty --noreset --noclear --autologin thek4n - ${TERM}

View File

@ -0,0 +1,3 @@
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- %%USER%%' --noclear --skip-login - $TERM

View File

@ -0,0 +1,11 @@
[Unit]
Description=Wake-on-LAN for enp3s0
Requires=network.target
After=network.target
[Service]
ExecStart=/usr/bin/ethtool -s enp3s0 wol g
Type=oneshot
[Install]
WantedBy=multi-user.target

4
etc/update-motd.d/10-figlet Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
echo
figlet -ct -f banner "welcome mr.kan"
echo

View File

@ -0,0 +1,10 @@
#!/bin/sh
echo "wg0 status: $(systemctl is-active wg-quick@wg0.service)"
if ! systemctl is-active wg-quick@wg0.service 1>/dev/null; then
#shellcheck disable=SC2016
echo 'Executing this command may fix wireguard: "sudo apt update && sudo apt install linux-headers-$(uname -r) && sudo reboot"'
fi
echo

1
home/user/.Xresources Normal file
View File

@ -0,0 +1 @@
Xft.dpi: 100

View File

@ -0,0 +1,38 @@
[env]
TERM = "xterm-256color"
WINIT_X11_SCALE_FACTOR = "1"
[font]
size = 11
[font.normal]
family = "FiraCode Nerd Font Mono"
[[keyboard.bindings]]
action = "SpawnNewInstance"
key = "Return"
mods = "Control|Shift"
[[keyboard.bindings]]
action = "None"
key = "Space"
mods = "Control|Shift"
[mouse]
hide_when_typing = true
[scrolling]
history = 3000
multiplier = 3
[window]
dynamic_title = true
opacity = 0.92
[window.dimensions]
columns = 150
lines = 42
[general]
live_config_reload = true

View File

@ -0,0 +1,754 @@
# set to 1 to enable 64bits target by default (32bit is the default)
set $64BITS = 1
set confirm off
set verbose off
set prompt \033[31mgdb$ \033[0m
set output-radix 0x10
set input-radix 0x10
# These make gdb never pause in its output
set height 0
set width 0
# _____________breakpoint aliases_____________
define bpl
info breakpoints
end
document bpl
List all breakpoints.
end
define bp
if $argc != 1
help bp
else
break $arg0
end
end
document bp
Set breakpoint.
Usage: bp LOCATION
LOCATION may be a line number, function name, or "*" and an address.
To break on a symbol you must enclose symbol name inside "".
Example:
bp "[NSControl stringValue]"
Or else you can use directly the break command (break [NSControl stringValue])
end
define bpc
if $argc != 1
help bpc
else
clear $arg0
end
end
document bpc
Clear breakpoint.
Usage: bpc LOCATION
LOCATION may be a line number, function name, or "*" and an address.
end
define bpe
if $argc != 1
help bpe
else
enable $arg0
end
end
document bpe
Enable breakpoint with number NUM.
Usage: bpe NUM
end
define bpd
if $argc != 1
help bpd
else
disable $arg0
end
end
document bpd
Disable breakpoint with number NUM.
Usage: bpd NUM
end
define bpt
if $argc != 1
help bpt
else
tbreak $arg0
end
end
document bpt
Set a temporary breakpoint.
Will be deleted when hit!
Usage: bpt LOCATION
LOCATION may be a line number, function name, or "*" and an address.
end
define bpm
if $argc != 1
help bpm
else
awatch $arg0
end
end
document bpm
Set a read/write breakpoint on EXPRESSION, e.g. *address.
Usage: bpm EXPRESSION
end
define bhb
if $argc != 1
help bhb
else
hb $arg0
end
end
document bhb
Set hardware assisted breakpoint.
Usage: bhb LOCATION
LOCATION may be a line number, function name, or "*" and an address.
end
# ______________process information____________
define argv
show args
end
document argv
Print program arguments.
end
define stack
if $argc == 0
info stack
end
if $argc == 1
info stack $arg0
end
if $argc > 1
help stack
end
end
document stack
Print backtrace of the call stack, or innermost COUNT frames.
Usage: stack <COUNT>
end
define frame
info frame
info args
info locals
end
document frame
Print stack frame.
end
define flags
# OF (overflow) flag
if (($eflags >> 0xB) & 1)
printf "O "
set $_of_flag = 1
else
printf "o "
set $_of_flag = 0
end
if (($eflags >> 0xA) & 1)
printf "D "
else
printf "d "
end
if (($eflags >> 9) & 1)
printf "I "
else
printf "i "
end
if (($eflags >> 8) & 1)
printf "T "
else
printf "t "
end
# SF (sign) flag
if (($eflags >> 7) & 1)
printf "S "
set $_sf_flag = 1
else
printf "s "
set $_sf_flag = 0
end
# ZF (zero) flag
if (($eflags >> 6) & 1)
printf "Z "
set $_zf_flag = 1
else
printf "z "
set $_zf_flag = 0
end
if (($eflags >> 4) & 1)
printf "A "
else
printf "a "
end
# PF (parity) flag
if (($eflags >> 2) & 1)
printf "P "
set $_pf_flag = 1
else
printf "p "
set $_pf_flag = 0
end
# CF (carry) flag
if ($eflags & 1)
printf "C "
set $_cf_flag = 1
else
printf "c "
set $_cf_flag = 0
end
printf "\n"
end
document flags
Print flags register.
end
define eflags
printf " OF <%d> DF <%d> IF <%d> TF <%d>",\
(($eflags >> 0xB) & 1), (($eflags >> 0xA) & 1), \
(($eflags >> 9) & 1), (($eflags >> 8) & 1)
printf " SF <%d> ZF <%d> AF <%d> PF <%d> CF <%d>\n",\
(($eflags >> 7) & 1), (($eflags >> 6) & 1),\
(($eflags >> 4) & 1), (($eflags >> 2) & 1), ($eflags & 1)
printf " ID <%d> VIP <%d> VIF <%d> AC <%d>",\
(($eflags >> 0x15) & 1), (($eflags >> 0x14) & 1), \
(($eflags >> 0x13) & 1), (($eflags >> 0x12) & 1)
printf " VM <%d> RF <%d> NT <%d> IOPL <%d>\n",\
(($eflags >> 0x11) & 1), (($eflags >> 0x10) & 1),\
(($eflags >> 0xE) & 1), (($eflags >> 0xC) & 3)
end
document eflags
Print eflags register.
end
define reg
if ($64BITS == 1)
# 64bits stuff
printf " "
echo \033[32m
printf "RAX:"
echo \033[0m
printf " 0x%016lX ", $rax
echo \033[32m
printf "RBX:"
echo \033[0m
printf " 0x%016lX ", $rbx
echo \033[32m
printf "RCX:"
echo \033[0m
printf " 0x%016lX ", $rcx
echo \033[32m
printf "RDX:"
echo \033[0m
printf " 0x%016lX ", $rdx
echo \033[1m\033[4m\033[31m
flags
echo \033[0m
printf " "
echo \033[32m
printf "RSI:"
echo \033[0m
printf " 0x%016lX ", $rsi
echo \033[32m
printf "RDI:"
echo \033[0m
printf " 0x%016lX ", $rdi
echo \033[32m
printf "RBP:"
echo \033[0m
printf " 0x%016lX ", $rbp
echo \033[32m
printf "RSP:"
echo \033[0m
printf " 0x%016lX ", $rsp
echo \033[32m
printf "RIP:"
echo \033[0m
printf " 0x%016lX\n ", $rip
echo \033[32m
printf "R8 :"
echo \033[0m
printf " 0x%016lX ", $r8
echo \033[32m
printf "R9 :"
echo \033[0m
printf " 0x%016lX ", $r9
echo \033[32m
printf "R10:"
echo \033[0m
printf " 0x%016lX ", $r10
echo \033[32m
printf "R11:"
echo \033[0m
printf " 0x%016lX ", $r11
echo \033[32m
printf "R12:"
echo \033[0m
printf " 0x%016lX\n ", $r12
echo \033[32m
printf "R13:"
echo \033[0m
printf " 0x%016lX ", $r13
echo \033[32m
printf "R14:"
echo \033[0m
printf " 0x%016lX ", $r14
echo \033[32m
printf "R15:"
echo \033[0m
printf " 0x%016lX\n ", $r15
echo \033[32m
printf "CS:"
echo \033[0m
printf " %04X ", $cs
echo \033[32m
printf "DS:"
echo \033[0m
printf " %04X ", $ds
echo \033[32m
printf "ES:"
echo \033[0m
printf " %04X ", $es
echo \033[32m
printf "FS:"
echo \033[0m
printf " %04X ", $fs
echo \033[32m
printf "GS:"
echo \033[0m
printf " %04X ", $gs
echo \033[32m
printf "SS:"
echo \033[0m
printf " %04X", $ss
echo \033[0m
# 32bits stuff
else
printf " "
echo \033[32m
printf "EAX:"
echo \033[0m
printf " 0x%08X ", $eax
echo \033[32m
printf "EBX:"
echo \033[0m
printf " 0x%08X ", $ebx
echo \033[32m
printf "ECX:"
echo \033[0m
printf " 0x%08X ", $ecx
echo \033[32m
printf "EDX:"
echo \033[0m
printf " 0x%08X ", $edx
echo \033[1m\033[4m\033[31m
flags
echo \033[0m
printf " "
echo \033[32m
printf "ESI:"
echo \033[0m
printf " 0x%08X ", $esi
echo \033[32m
printf "EDI:"
echo \033[0m
printf " 0x%08X ", $edi
echo \033[32m
printf "EBP:"
echo \033[0m
printf " 0x%08X ", $ebp
echo \033[32m
printf "ESP:"
echo \033[0m
printf " 0x%08X ", $esp
echo \033[32m
printf "EIP:"
echo \033[0m
printf " 0x%08X\n ", $eip
echo \033[32m
printf "CS:"
echo \033[0m
printf " %04X ", $cs
echo \033[32m
printf "DS:"
echo \033[0m
printf " %04X ", $ds
echo \033[32m
printf "ES:"
echo \033[0m
printf " %04X ", $es
echo \033[32m
printf "FS:"
echo \033[0m
printf " %04X ", $fs
echo \033[32m
printf "GS:"
echo \033[0m
printf " %04X ", $gs
echo \033[32m
printf "SS:"
echo \033[0m
printf " %04X", $ss
echo \033[0m
end
# call smallregisters
smallregisters
# display conditional jump routine
if ($64BITS == 1)
printf "\t\t\t\t"
end
dumpjump
printf "\n"
end
document reg
Print CPU registers.
end
define smallregisters
if ($64BITS == 1)
#64bits stuff
# from rax
set $eax = $rax & 0xffffffff
set $ax = $rax & 0xffff
set $al = $ax & 0xff
set $ah = $ax >> 8
# from rbx
set $bx = $rbx & 0xffff
set $bl = $bx & 0xff
set $bh = $bx >> 8
# from rcx
set $ecx = $rcx & 0xffffffff
set $cx = $rcx & 0xffff
set $cl = $cx & 0xff
set $ch = $cx >> 8
# from rdx
set $edx = $rdx & 0xffffffff
set $dx = $rdx & 0xffff
set $dl = $dx & 0xff
set $dh = $dx >> 8
# from rsi
set $esi = $rsi & 0xffffffff
set $si = $rsi & 0xffff
# from rdi
set $edi = $rdi & 0xffffffff
set $di = $rdi & 0xffff
#32 bits stuff
else
# from eax
set $ax = $eax & 0xffff
set $al = $ax & 0xff
set $ah = $ax >> 8
# from ebx
set $bx = $ebx & 0xffff
set $bl = $bx & 0xff
set $bh = $bx >> 8
# from ecx
set $cx = $ecx & 0xffff
set $cl = $cx & 0xff
set $ch = $cx >> 8
# from edx
set $dx = $edx & 0xffff
set $dl = $dx & 0xff
set $dh = $dx >> 8
# from esi
set $si = $esi & 0xffff
# from edi
set $di = $edi & 0xffff
end
end
document smallregisters
Create the 16 and 8 bit cpu registers (gdb doesn't have them by default)
And 32bits if we are dealing with 64bits binaries
end
define func
if $argc == 0
info functions
end
if $argc == 1
info functions $arg0
end
if $argc > 1
help func
end
end
document func
Print all function names in target, or those matching REGEXP.
Usage: func <REGEXP>
end
define var
if $argc == 0
info variables
end
if $argc == 1
info variables $arg0
end
if $argc > 1
help var
end
end
document var
Print all global and static variable names (symbols), or those matching REGEXP.
Usage: var <REGEXP>
end
define lib
info sharedlibrary
end
document lib
Print shared libraries linked to target.
end
define sig
if $argc == 0
info signals
end
if $argc == 1
info signals $arg0
end
if $argc > 1
help sig
end
end
document sig
Print what debugger does when program gets various signals.
Specify a SIGNAL as argument to print info on that signal only.
Usage: sig <SIGNAL>
end
define threads
info threads
end
document threads
Print threads in target.
end
define dis
if $argc == 0
disassemble
end
if $argc == 1
disassemble $arg0
end
if $argc == 2
disassemble $arg0 $arg1
end
if $argc > 2
help dis
end
end
document dis
Disassemble a specified section of memory.
Default is to disassemble the function surrounding the PC (program counter)
of selected frame. With one argument, ADDR1, the function surrounding this
address is dumped. Two arguments are taken as a range of memory to dump.
Usage: dis <ADDR1> <ADDR2>
end
# __________hex/ascii dump an address_________
define ascii_char
if $argc != 1
help ascii_char
else
# thanks elaine :)
set $_c = *(unsigned char *)($arg0)
if ($_c < 0x20 || $_c > 0x7E)
printf "."
else
printf "%c", $_c
end
end
end
document ascii_char
Print ASCII value of byte at address ADDR.
Print "." if the value is unprintable.
Usage: ascii_char ADDR
end
define hex_quad
if $argc != 1
help hex_quad
else
printf "%02X %02X %02X %02X %02X %02X %02X %02X", \
*(unsigned char*)($arg0), *(unsigned char*)($arg0 + 1), \
*(unsigned char*)($arg0 + 2), *(unsigned char*)($arg0 + 3), \
*(unsigned char*)($arg0 + 4), *(unsigned char*)($arg0 + 5), \
*(unsigned char*)($arg0 + 6), *(unsigned char*)($arg0 + 7)
end
end
document hex_quad
Print eight hexadecimal bytes starting at address ADDR.
Usage: hex_quad ADDR
end
define hexdump
if $argc != 1
help hexdump
else
echo \033[1m
if ($64BITS == 1)
printf "0x%016lX : ", $arg0
else
printf "0x%08X : ", $arg0
end
echo \033[0m
hex_quad $arg0
echo \033[1m
printf " - "
echo \033[0m
hex_quad $arg0+8
printf " "
echo \033[1m
ascii_char $arg0+0x0
ascii_char $arg0+0x1
ascii_char $arg0+0x2
ascii_char $arg0+0x3
ascii_char $arg0+0x4
ascii_char $arg0+0x5
ascii_char $arg0+0x6
ascii_char $arg0+0x7
ascii_char $arg0+0x8
ascii_char $arg0+0x9
ascii_char $arg0+0xA
ascii_char $arg0+0xB
ascii_char $arg0+0xC
ascii_char $arg0+0xD
ascii_char $arg0+0xE
ascii_char $arg0+0xF
echo \033[0m
printf "\n"
end
end
document hexdump
Display a 16-byte hex/ASCII dump of memory at address ADDR.
Usage: hexdump ADDR
end
# _______________data window__________________
define ddump
if $argc != 1
help ddump
else
echo \033[34m
if ($64BITS == 1)
printf "[0x%04X:0x%016lX]", $ds, $data_addr
else
printf "[0x%04X:0x%08X]", $ds, $data_addr
end
echo \033[34m
printf "------------------------"
printf "-------------------------------"
if ($64BITS == 1)
printf "-------------------------------------"
end
echo \033[1;34m
printf "[data]\n"
echo \033[0m
set $_count = 0
while ($_count < $arg0)
set $_i = ($_count * 0x10)
hexdump $data_addr+$_i
set $_count++
end
end
end
document ddump
Display NUM lines of hexdump for address in $data_addr global variable.
Usage: ddump NUM
end
define dd
if $argc != 1
help dd
else
if ((($arg0 >> 0x18) == 0x40) || (($arg0 >> 0x18) == 0x08) || (($arg0 >> 0x18) == 0xBF))
set $data_addr = $arg0
ddump 0x10
else
printf "Invalid address: %08X\n", $arg0
end
end
end
document dd
Display 16 lines of a hex dump of address starting at ADDR.
Usage: dd ADDR
end
define datawin
if ($64BITS == 1)
if ((($rsi >> 0x18) == 0x40) || (($rsi >> 0x18) == 0x08) || (($rsi >> 0x18) == 0xBF))
set $data_addr = $rsi
else
if ((($rdi >> 0x18) == 0x40) || (($rdi >> 0x18) == 0x08) || (($rdi >> 0x18) == 0xBF))
set $data_addr = $rdi
else
if ((($rax >> 0x18) == 0x40) || (($rax >> 0x18) == 0x08) || (($rax >> 0x18) == 0xBF))
set $data_addr = $rax
else
set $data_addr = $rsp
end
end
end
else
if ((($esi >> 0x18) == 0x40) || (($esi >> 0x18) == 0x08) || (($esi >> 0x18) == 0xBF))
set $data_addr = $esi
else
if ((($edi >> 0x18) == 0x40) || (($edi >> 0x18) == 0x08) || (($edi >> 0x18) == 0xBF))
set $data_addr = $edi
else
if ((($eax >> 0x18) == 0x40) || (($eax >> 0x18) == 0x08) || (($eax >> 0x18) == 0xBF))
set $data_addr = $eax
else
set $data_addr = $esp
end
end
end
end
ddump $CONTEXTSIZE_DATA
end
document datawin
Display valid address from one register in data window.
Registers to choose are: esi, edi, eax, or esp.
end

View File

@ -0,0 +1,63 @@
# vim: ft=gitconfig
[alias]
a = "!ga"
u = "!git diff --name-only --cached | fzf -1 -0 -m --bind load:last --preview 'git diff --staged --color=always {1}' | xargs -r git restore --staged"
msg = log -1 --pretty=%B
d = diff
di = diff
ds = diff --staged
dno = diff --name-only
dw = diff --word-diff=color
dws = diff --word-diff=color --staged
sw = switch
swl = switch -
swb = switch -c
swc = switch -c
co = checkout
col = checkout @{-1}
cob = checkout -b
ci = commit
cia = commit --all
amend = commit --amend --no-edit
amenda = commit --all --amend --no-edit
fuck = commit --amend
uncommit = reset --soft HEAD~1
untrack = rm --cache --
cim = "!_m() { git commit -m \"$*\"; }; _m"
cima = "!_m() { git commit -am \"$*\"; }; _m"
ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)"
pst = "!git push origin --tags"
pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)"
pr = "pull --rebase"
s = status
st = status
br = branch
bm = branch --merged
bn = branch --no-merged
hist = log --pretty=format:'%Cgreen%h %Creset%cd %Cblue[%cn](%G?) %Creset%s%C(yellow)%d%C(reset)' --graph --date=relative --decorate --color=always
history = hist --all
hs = hist -n 10
hsa = hist -n 10 --all
last = log -1 HEAD
lastd = diff HEAD^ HEAD
today = hist --since=midnight
df = "!_m() { git log --pretty=format:'%h %cd [%cn] %s%d' --date=relative | fzf --bind \"enter:execute(git diff --color=always $@ {1}^ {1} | ${PAGER})\" --preview-window=65% --preview=\"git diff --color=always $@ {1}^ {1}\"; }; _m"
type = cat-file -t
dump = cat-file -p
unstage = "reset HEAD --"
count = "rev-list --count --all"
tags = "for-each-ref --sort=-creatordate --format '%(refname:strip=2)' refs/tags"
initci = "commit --allow-empty -m 'Initial commit'"
# edit conflicted file on merge
edit-unmerged = "!$EDITOR $(git ls-files --unmerged | cut -f2 | sort -u)"
# add conflicted file on merge
add-unmerged = "!git add $(git ls-files --unmerged | cut -f2 | sort -u)"
remove-remote-tag = "!f() { git tag -d $1 && git push origin :refs/tags/$1 }; f"
aliases = "!git config -l | grep '^alias\\.' | cut -d. -f2-"
# git clone git://localhost/
serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/

View File

@ -0,0 +1,62 @@
[core]
excludesfile = ~/.config/git/ignore
editor = "$EDITOR"
pager = "$PAGER -+C -F"
fileMode = true
whitespace = fix,trailing-space,cr-at-eol
autocrlf = input
quotepath = false
[i18n]
commitEncoding = utf-8
logOutputEncoding = utf-8
[init]
defaultBranch = main
[push]
default = current
[pull]
rebase = false
ff = only
[color]
status = auto
diff = auto
branch = auto
interactive = auto
grep = auto
ui = auto
[advice]
addEmptyPathspec = false
[log]
abbrevCommit = true
[apply]
whitespace = fix
[rerere]
enabled = true
[diff]
mnemonicPrefix = true
suppressBlankEmpty = true
rename = copy
submodule = short
algorithm = histogram
colormoved = default
colormovedws = allow-indentation-change
[include]
path = ~/.config/git/url-aliases
path = ~/.config/git/aliases
path = ~/.config/git/local
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true

View File

@ -0,0 +1,56 @@
# Pycharm
.idea
# vim
*.sw[op]
Session.vim
# python virtual env
venv
.venv
__pycache__/
*.py[cod]
*$py.class
*.spec
.env
*.env
*.log
*.bak
*~
# db
*.db
db.sqlite3
nohup.out
# cmake
cmake_install.cmake
CMakeCache.txt
CMakeFiles
# build files
*.a
*.so
*.o
a.out
*.exe
*.ipk
build/
dist/
node_modules/
.tns
.autoenv.zsh
.autoenv_leave.zsh
*.tar
*.gz
*.zip
.redo/

View File

@ -0,0 +1,13 @@
# vim: ft=gitconfig
[github]
user = "thek4n"
email = "thek4n@yandex.ru"
[user]
name = "thek4n"
email = "thek4n@yandex.ru"
signingkey = "thek4n"
[url "git@github.com:TheK4n/notes"]
insteadOf = "git@github.com:TheK4n/notes"

View File

@ -0,0 +1,41 @@
# vim: ft=gitconfig
# alias gh:=https://github.com/
[url "https://github.com/"]
insteadOf = "gh:"
# alias gist:=https://gist.github.com/
[url "https://gist.github.com/"]
insteadOf = "gist:"
# alias gl:=https://gitlab.com/
[url "https://gitlab.com/"]
insteadOf = "gl:"
# alias bb:=https://bitbucket.org/
[url "https://bitbucket.org/"]
insteadOf = "bb:"
[url "git@github.com:"]
pushInsteadOf = "https://github.com/"
pushInsteadOf = "http://github.com/"
pushInsteadOf = "git@github.com:"
pushInsteadOf = "gh:"
[url "git@gist.github.com:"]
pushInsteadOf = "https://gist.github.com/"
pushInsteadOf = "http://gist.github.com/"
pushInsteadOf = "gist:"
[url "git@gitlab.com:"]
pushInsteadOf = "https://gitlab.com/"
pushInsteadOf = "http://gitlab.com/"
pushInsteadOf = "git@gitlab.com:"
pushInsteadOf = "gl:"
; [url "https://github.com/"]
; insteadOf = "git@github.com:"
[url "https://gitlab.com/"]
insteadOf = "git@gitlab.com:"

View File

@ -0,0 +1,64 @@
separator_block_width=15
markup=pango
color=#FFFFFF
interval=5
[wireless]
command=~/.config/i3blocks/scripts/builder.sh wireless
interval=10
[ethernet]
command=~/.config/i3blocks/scripts/builder.sh ethernet
interval=10
[diskroot]
command=~/.config/i3blocks/scripts/builder.sh disk_root
interval=30
[diskhome]
command=~/.config/i3blocks/scripts/builder.sh disk_home
interval=30
[memory]
command=~/.config/i3blocks/scripts/builder.sh memory
interval=5
[cpu_usage]
command=~/.config/i3blocks/scripts/builder.sh cpu_usage
interval=5
[cpu_temp]
command=~/.config/i3blocks/scripts/builder.sh cpu_temp
interval=5
[bluetooth]
command=~/.config/i3blocks/scripts/builder.sh bluetooth_battery
interval=5
[battery]
command=~/.config/i3blocks/scripts/builder.sh battery
interval=30
[volume]
command=~/.config/i3blocks/scripts/builder.sh volume
interval=1
signal=1
[pomodoro]
command=~/.config/i3blocks/scripts/builder.sh pomodoro
interval=1
signal=2
[language]
command=~/.config/i3blocks/scripts/builder.sh language
signal=1
[userhost]
command=~/.config/i3blocks/scripts/builder.sh userhost
signal=1
[time]
command=~/.config/i3blocks/scripts/builder.sh time
interval=30

View File

@ -0,0 +1,125 @@
#!/bin/sh
set -ue
readonly EXIT_SUCCESS=0
readonly EXIT_FAILURE=1
cmd_wireless() {
wifiname="$(LANG=C nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d: -f2)"
wifi_ip=$(ip -o -4 addr show | grep wlp | awk '{print $4}' | cut -d/ -f1 | head -1)
if [ -z "${wifiname}" ] || [ -z "${wifi_ip}" ]; then
return 0
fi
printf ' %s %s\n' "${wifiname}" "${wifi_ip}"
}
cmd_battery() {
charging_status="$(cat /sys/class/power_supply/BAT0/status)"
percent="$(cat /sys/class/power_supply/BAT0/capacity)"
if [ "${percent}" -lt 35 ]; then
emoji_status="🪫"
else
emoji_status="🔋"
fi
if [ "${charging_status}" = "Charging" ]; then
emoji_status="🔌"
fi
printf "%s %s%%\n" "${emoji_status}" "${percent}"
}
cmd_disk_root() {
df -h / | awk '/\// {print "/ "$3"/"$2}'
}
cmd_disk_home() {
res="$(df -h /home)"
if [ "$(echo "${res}" | awk '/\// {print $6}')" = "/" ]; then
return 1
fi
df -h /home | awk '/\// {print " "$3"/"$2}'
}
cmd_memory() {
free -h | awk '/^Mem/ {print "🎟 "$3"/"$2}' | sed 's/i//g'
}
cmd_cpu_usage() {
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print " "100 - $1"%"}'
}
cmd_cpu_temp() {
temp_mC="$(cat /sys/class/thermal/thermal_zone0/temp)"
temp_C="$((temp_mC / 1000))"
if [ "${temp_C}" -gt 80 ]; then
printf '<span foreground="red"> %s°C</span>\n' "${temp_C}"
else
printf ' %s°C\n' "${temp_C}"
fi
}
cmd_time() {
LC_ALL=C date '+ %d.%m.%y %a  %H:%M'
}
cmd_volume() {
value="$(pactl --format=json get-sink-volume @DEFAULT_SINK@ | jq --raw-output '.volume."front-left".value_percent')"
printf ' %s\n' "${value}"
}
cmd_pomodoro() {
pomodoro get
}
cmd_bluetooth_battery() {
device="$(upower -e | grep headset | head -1)"
upower -i "${device}" | grep percentage | awk '{ print "🎧🔋"$2"" }'
}
cmd_language() {
layout="$(swaymsg -t get_inputs | jq -r '.[] | select(.type == "keyboard") | .xkb_active_layout_name' | head -1)"
case "${layout}" in
"English (US)")
printf '🇬🇧 En\n'
;;
Russian)
printf '🇷🇺 Ru\n'
;;
*)
printf '🌐 %s\n' "${layout}"
;;
esac
}
cmd_userhost() {
printf "%s@%s\n" "${USER}" "${HOST:-${HOSTNAME:-}}"
}
case "${1}" in
wireless) shift; cmd_wireless "$@" ;;
ethernet) shift; cmd_ethernet "$@" ;;
battery) shift; cmd_battery "$@" ;;
disk_root) shift; cmd_disk_root "$@" ;;
disk_home) shift; cmd_disk_home "$@" ;;
memory) shift; cmd_memory "$@" ;;
cpu_usage) shift; cmd_cpu_usage "$@" ;;
cpu_temp) shift; cmd_cpu_temp "$@" ;;
time) shift; cmd_time "$@" ;;
volume) shift; cmd_volume "$@" ;;
pomodoro) shift; cmd_pomodoro "$@" ;;
bluetooth_battery) shift; cmd_bluetooth_battery "$@" ;;
language) shift; cmd_language "$@" ;;
userhost) shift; cmd_userhost "$@" ;;
*) exit "${EXIT_FAILURE}" ;;
esac
exit "${EXIT_SUCCESS}"

View File

@ -0,0 +1,8 @@
#!/bin/sh
swaymsg -m -t SUBSCRIBE "['input']" | \
jq --unbuffered -r '.change' | while read -r line; do
if echo "${line}" | grep -q "xkb_layout"; then
pkill -RTMIN+1 i3blocks
fi
done

View File

@ -0,0 +1 @@
output=DP-1

View File

@ -0,0 +1,11 @@
[Default Applications]
application/pdf=firefox.desktop;
text/html=firefox.desktop
x-scheme-handler/about=firefox.desktop
x-scheme-handler/http=firefox.desktop
x-scheme-handler/https=firefox.desktop
x-scheme-handler/about=firefox.desktop
x-scheme-handler/unknown=firefox.desktop
x-scheme-handler/tonsite=org.telegram.desktop.desktop
x-scheme-handler/tg=org.telegram.desktop.desktop
x-scheme-handler/postman=Postman.desktop

View File

@ -0,0 +1,3 @@
local opt = vim.opt_local
opt.foldmethod = "indent"

View File

@ -0,0 +1,2 @@
vim.bo.textwidth = 72
vim.wo.colorcolumn = '+0'

View File

@ -0,0 +1,5 @@
local opt = vim.opt_local
opt.expandtab = false
opt.tabstop = 4
opt.shiftwidth = 4

View File

@ -0,0 +1,6 @@
local map = vim.api.nvim_buf_set_keymap
map(0, 'n', "H", "u", {noremap=false})
map(0, 'n', "h", "-^", {noremap=false})
map(0, 'n', "l", "<CR>", {noremap=false})
map(0, 'n', ".", "gh", {noremap=false})

View File

@ -0,0 +1,7 @@
vim.g.python_indent = {
open_paren = 'shiftwidth()',
nested_paren = 'shiftwidth()',
continue = 'shiftwidth()',
closed_paren_align_last_line = false,
searchpair_timeout = 150,
}

View File

@ -0,0 +1 @@
require("core")

View File

@ -0,0 +1,11 @@
for _, source in ipairs({
"core.options",
"core.mappings",
"core.lazy",
})
do
local status_ok, fault = pcall(require, source)
if not status_ok then
vim.api.nvim_err_writeln("Failed to load " .. source .. "\n\n" .. fault)
end
end

View File

@ -0,0 +1,31 @@
local function install_lazy_if_not_installed(lazypath)
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git", "clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable",
lazypath,
})
end
end
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
install_lazy_if_not_installed(lazypath)
vim.opt.rtp:prepend(lazypath)
require("lazy").setup(
"plugins",
{
change_detection = { enabled = false },
lockfile = vim.fn.stdpath("data") .. "/lazy-lock.json",
ui = { border = "rounded" },
performance = {
cache = {
enabled = true,
}
}
}
)

View File

@ -0,0 +1,2 @@
require("core.mappings.mappings")
require("core.mappings.run-scripts")

View File

@ -0,0 +1,190 @@
local map = vim.keymap.set
vim.g.mapleader = ','
-- Sections
map('n', '<Leader>h', '', {desc = "UI"})
map('n', '<Leader>c', '', {desc = "Colorschemes"})
map('n', '<Leader>f', '', {desc = "Telescope"})
map('n', '<Leader>p', '', {desc = "Config manage"})
map('n', '<Leader>q', '', {desc = "Exits"})
map('n', '<Leader>r', '', {desc = "Run file"})
local function create_function_tabdo(command)
return function()
local curr_tab = vim.fn.tabpagenr()
vim.cmd.tabdo(command)
vim.cmd.tabn(curr_tab)
end
end
map('n', '<Leader>hc', create_function_tabdo('set cursorline!'),
{desc = "Toggle line highlighting"})
map('n', '<Leader>cs',
function() vim.fn.setreg('/', '\\%x') end,
{desc = "Clear search"})
map('n', '<Leader>h/', function() vim.o.hlsearch = not vim.o.hlsearch end, {desc = "Clear search"})
-- enable search highlight in search mode
map('n', '/', ':set hlsearch<CR>/', {silent = true})
-- copy selection to search line
map('v', '<C-f>', '"fy:set hlsearch<CR>/\\V<C-r>f\\C<CR>')
-- copy word under cursor to search line
map('n', '<C-f>', ':set hlsearch<CR>/\\V<C-r><C-w>\\C<CR>')
map('n', '<Leader>hl', create_function_tabdo('lua toggle_number_style()'),
{desc = "Toggle line number style"})
map('n', '~', 'vg~', {desc = "Toggle character case"})
map('n', 'Ё', 'vg~', {desc = "Toggle character case"})
map('v', 'Ё', '~', {desc = "Toggle character case"})
map('n',
'.',
function()
local current_position = vim.api.nvim_win_get_cursor(0)
vim.cmd('norm! .')
vim.api.nvim_win_set_cursor(0, current_position)
end,
{remap = false, silent = true}
)
map('n', 'q:', ':')
map('n', 'Ж', ':')
map('n', '<Enter>', 'o<ESC>')
-- x to blackhole
map({'n', 'v'}, 'x', '"_x')
-- Put without overwrite yanked text
map('v', 'p', 'P')
-- map \ to prev finding
map({"n", "v"}, [[\]], ',')
-- Select all
map('n', '<C-a>', 'mvggVG')
map('v', '<C-a>', '<Esc>`v:delmarks v<CR>', {silent = true})
map("n", '<Leader>qq', '<cmd>bd!<CR>',
{desc = "Kill current buffer"})
map("n", '<Leader>qa', '<cmd>qa!<CR>',
{desc = "Exit without saving"})
map("n", '<Leader>he', '<cmd>set list!<CR>',
{desc = "Show hidden symbols"})
vim.opt.listchars=[[tab:→\ ,eol:↵,trail:·,extends:↷,precedes:↶]]
map("n", "<Leader>pl", "<cmd>Lazy<CR>",
{desc = "Package manager"})
map("n", "<Leader>pm", "<cmd>Mason<CR>",
{desc = "LSP Manager"})
-- Tab to go prev buffer
map("n", "<TAB>", ":b#<CR>", {silent = true})
-- Expand %% to dirname of current file in command line
map("c", '%%', [[getcmdtype() == ':' ? expand('%:h').'/' : '%%']], {expr = true})
-- Save from root
vim.api.nvim_create_user_command('W', [[execute 'silent! write !SUDO_ASKPASS=vim_askpass_helper sudo -A tee % >/dev/null' <bar> edit!]], {})
vim.api.nvim_create_user_command('X', [[execute 'silent! write !SUDO_ASKPASS=vim_askpass_helper sudo -A tee % >/dev/null' <bar> edit! | q]], {})
vim.cmd([[autocmd FileChangedRO * set readonly!]])
-- Toggle line number style
function toggle_number_style()
local opt = vim.opt
local number = opt.number["_value"]
local relativenumber = opt.relativenumber["_value"]
if (not number) and (not relativenumber) then
opt.number = true
opt.relativenumber = false
elseif (number) and (not relativenumber) then
opt.number = false
opt.relativenumber = true
elseif (not number) and (relativenumber) then
opt.number = true
opt.relativenumber = true
elseif (number) and (relativenumber) then
opt.number = false
opt.relativenumber = false
end
end
local function reload_config()
vim.cmd.source(vim.env.MYVIMRC)
vim.notify('Config reloaded...', vim.log.levels.INFO)
end
local function fetch_config()
vim.fn.system('git -C ~/dotfiles pull')
end
local function update_plugins()
vim.cmd("Lazy sync")
end
local function fetch_and_reload_config_and_update_plugins()
fetch_config()
reload_config()
update_plugins()
end
map("n", "<Leader>pr", reload_config,
{desc = "Reload config"})
map("n", "<Leader>pR", fetch_and_reload_config_and_update_plugins,
{desc = "Fetch and reload config and update plugins"})
vim.cmd([[
menu Encoding.utf-8 :e ++enc=utf8<CR>
menu Encoding.windows-1251 :e ++enc=cp1251 ++ff=dos<CR>
menu Encoding.koi8-r :e ++enc=koi8-r ++ff=unix<CR>
menu Encoding.cp866 :e ++enc=cp866 ++ff=dos<CR>
menu Encoding.koi8-u :e ++enc=koi8-u ++ff=unix<CR>
map <F8> :emenu Encoding.
]])
vim.cmd([[
menu Indent.tabs :set noexpandtab tabstop=4 shiftwidth=4<CR>
menu Indent.spaces :set expandtab tabstop=4 shiftwidth=4<CR>
map <F7> :emenu Indent.
]])
map("n", "<Leader>cd", "<cmd>colorscheme default<CR>")
map("n", "<Leader>cn", "<cmd>colorscheme nightfox<CR>")
map("n", "<Leader>ct", "<cmd>colorscheme elflord<CR>",
{desc = "TTY colorscheme"}
)

View File

@ -0,0 +1,35 @@
local function map_filetype(filetype, key, cmd)
local function format_string()
local run_script_string = [[:terminal %s <CR> :set nocursorline number norelativenumber <CR> G]]
local cmd_string = string.format(run_script_string, cmd)
local opts = { noremap = true, silent = true }
vim.keymap.set('n', key, cmd_string, opts)
end
vim.api.nvim_create_autocmd("FileType",
{ pattern = filetype, callback = format_string}
)
end
map_filetype('*', '<Leader>rs', '$(head -1 % | cut -c 3-) %')
map_filetype('nroff', '<Leader>rr', 'man -P cat -l %')
map_filetype('markdown', '<Leader>rr', 'pandoc -t plain %')
map_filetype('python', '<Leader>rr', 'python3 %')
map_filetype('python', '<Leader>rt', 'pytest %')
map_filetype('go', '<Leader>rr', 'go run %')
map_filetype('rust', '<Leader>rr', 'cargo run')
map_filetype('c', '<Leader>rr', 'gcc -o "${TMPDIR}/a.out" % && "${TMPDIR}/a.out"')
map_filetype('cpp', '<Leader>rr', 'g++ -o "${TMPDIR}/a.out" % && "${TMPDIR}/a.out"')
map_filetype('asm', '<Leader>rr', 'as -o "${TMPDIR}/out.o" % && ld -o "${TMPDIR}/a.out" "${TMPDIR}/out.o" && "${TMPDIR}/a.out"')
map_filetype('make', '<Leader>rr', 'make -C "$(dirname "%")"')

View File

@ -0,0 +1,172 @@
local opt = vim.opt
opt.ruler = true
opt.encoding = 'utf-8'
opt.fileencoding = 'utf-8'
opt.number = true
opt.relativenumber = true
opt.clipboard:append { 'unnamed' }
opt.clipboard:append { 'unnamedplus' }
opt.shortmess:append{a = true, s = true, I = true, c = true, S = true}
opt.cmdheight = 0
vim.wo.signcolumn = "yes:1"
opt.shell = vim.env.SHELL
opt.ttimeoutlen = 50
opt.timeoutlen = 500
opt.pumheight = 15
opt.compatible = false
opt.hidden = true
-- indent
opt.expandtab = true -- spaces instead of tab
opt.smarttab = true
opt.tabstop = 4 -- 1 tab appears number spaces
opt.softtabstop = 4
opt.shiftwidth = vim.bo.tabstop -- insert tab or shift inserting .shiftwidth*.tabstop spaces or .shiftwidth/.tabstop tabs
opt.autoindent = true
opt.smartindent = true
-- tabline
opt.showtabline = 0
opt.cursorline = true
opt.wrap = false
opt.ttyfast = true
opt.autoread = true
opt.errorbells = false
opt.visualbell = false
opt.showcmd = true
opt.ignorecase = true
opt.smartcase = true -- if search line hasn`t Upper case chars - ignore case search, else case-sensivity search
opt.incsearch = true
opt.mousehide = true
opt.mouse = 'a'
opt.scrolloff = 999
COLUMN_NUMBER_BEFORE_INSERT=1
vim.api.nvim_create_autocmd("InsertEnter", {
callback = function()
_, COLUMN_NUMBER_BEFORE_INSERT = unpack(vim.api.nvim_win_get_cursor(0))
end,
})
-- disable paste comment on new line
vim.api.nvim_create_autocmd("BufEnter", {
pattern = {"*"},
callback = function()
opt.formatoptions:remove("c")
opt.formatoptions:remove("r")
opt.formatoptions:remove("o")
end,
})
opt.termguicolors = true
opt.background = 'dark'
opt.backup = true
opt.swapfile = false
opt.undofile = true
opt.history = 1000
opt.undoreload = 1000
local prefix = vim.fn.expand("~/.local/state/nvim")
opt.undodir = { prefix .. "/undo//" }
opt.backupdir = { prefix .. "/backup//" }
opt.directory = { prefix .. "/swap//" }
local function makeDirIfNoExists(path)
path = path["_value"]
if (vim.fn.isdirectory(path) == 0) then
vim.fn.mkdir(path, "p")
end
end
-- make this dirs if no exists previously
makeDirIfNoExists(opt.undodir)
makeDirIfNoExists(opt.backupdir)
makeDirIfNoExists(opt.directory)
opt.ffs = 'unix,mac'
opt.path:append { '**' } -- Finding files - Search down into subfolders
vim.g.t_SI = [[\e[5 q]]
vim.g.t_SR = [[\e[3 q]]
vim.g.t_EI = [[\e[1 q]]
-- SI - режим вставки
-- SR - режим замены
-- EI - нормальный режим
vim.g.netrw_banner = 0 -- hide banner
vim.g.highlighturl_enabled = true -- highlight URLs by default
-- Highlight yanked text for a while
vim.api.nvim_create_autocmd("TextYankPost", {
pattern = "*",
callback = function()
vim.highlight.on_yank()
end,
})
vim.cmd.highlight({ "DiagnosticError", "guifg=Grey" })
vim.cmd.highlight({ "DiagnosticWarn", "guifg=Grey" })
vim.cmd.highlight({ "DiagnosticInfo", "guifg=Grey" })
vim.cmd.highlight({ "DiagnosticHint", "guifg=Grey" })
-- Russian commands
opt.langmap = 'ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz'
vim.o.viewdir = vim.fn.stdpath('cache')..'/view'
vim.fn.mkdir(vim.o.viewdir, 'p')
opt.viewoptions = "folds,cursor"
vim.api.nvim_create_autocmd("BufWinLeave", {
pattern = {"?*"},
callback = function(args)
local bufname = vim.api.nvim_buf_get_name(args.buf)
if not bufname:match("^term://") then
vim.cmd.mkview(1)
end
end
})
vim.api.nvim_create_autocmd("BufWinEnter", {
pattern = {"?*"},
callback = function(args)
local bufname = vim.api.nvim_buf_get_name(args.buf)
if not bufname:match("^term://") then
vim.cmd([[silent! loadview 1]])
end
end,
})
vim.opt.foldcolumn = "1"

View File

@ -0,0 +1,137 @@
local border_opts = {
border = "rounded",
winhighlight = "Normal:Normal,FloatBorder:FloatBorder,CursorLine:Visual,Search:None",
max_width = 50,
min_width = 50,
max_height = math.floor(vim.o.lines * 0.4),
min_height = 3,
}
local function has_words_before()
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local function setup_cmp()
local cmp = require("cmp")
cmp.setup({
preselect = cmp.PreselectMode.None,
completion = {
completeopt = 'menu,menuone,noinsert,noselect',
},
snippet = {
expand = function(args)
vim.snippet.expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
['<Tab>'] = cmp.mapping(
function(fallback)
if cmp.visible() then
cmp.confirm({
behavior = cmp.ConfirmBehavior.Select,
select = true,
})
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end,
{ "i", "s" }
),
['<C-k>'] = cmp.mapping.select_prev_item({ behaviour = cmp.SelectBehavior.Select }),
['<C-j>'] = cmp.mapping.select_next_item({ behaviour = cmp.SelectBehavior.Select }),
['<C-p>'] = cmp.mapping.scroll_docs(4),
['<C-n>'] = cmp.mapping.scroll_docs(-4),
['<C-e>'] = cmp.mapping.abort(),
}),
window = {
completion = cmp.config.window.bordered(border_opts),
documentation = cmp.config.window.bordered(border_opts),
},
sorting = {
priority_weight = 1.0,
comparators = {
cmp.config.compare.score,
cmp.config.compare.locality,
cmp.config.compare.recently_used,
cmp.config.compare.offset,
require("cmp-under-comparator").under,
cmp.config.compare.order,
},
},
sources = cmp.config.sources({
{ name = 'nvim_lsp', priority = 1500 },
{ name = 'luasnip', priority = 1250 },
{ name = 'buffer', priority = 1000 },
{ name = 'tmux', priority = 750 },
{ name = "dotenv", priority = 500 },
{ name = 'path', priority = 250 },
}),
})
end
return {
{
'L3MON4D3/LuaSnip',
event = "InsertEnter",
build = "make install_jsregexp",
dependencies = {
'hrsh7th/nvim-cmp',
'honza/vim-snippets',
},
config = function()
local ls = require("luasnip")
vim.g.snips_author = 'thek4n'
vim.g.snips_email = 'thek4n@yandex.com'
vim.g.snips_github = 'https://github.com/thek4n'
local function jump(val)
return function()
ls.jump(val)
end
end
local map = vim.keymap.set
map({'i', 's'}, '<C-n>', jump(1), {silent = true})
map({'i', 's'}, '<C-p>', jump(-1), {silent = true})
map({'i', 's'}, '<C-k>', ls.expand, {silent = true})
map({"i", "s"}, "<C-e>",
function()
if ls.choice_active() then
ls.change_choice(1)
end
end,
{silent = true}
)
local luasnip_loaders = require("luasnip.loaders.from_snipmate")
luasnip_loaders.lazy_load()
end
},
{
'hrsh7th/nvim-cmp',
event = "InsertEnter",
dependencies = {
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
'saadparwaiz1/cmp_luasnip',
'hrsh7th/cmp-nvim-lsp',
'lukas-reineke/cmp-under-comparator',
'SergioRibera/cmp-dotenv',
'andersevenrud/cmp-tmux',
},
config = setup_cmp,
},
{
'neovim/nvim-lspconfig',
event = "InsertEnter",
config = function()
vim.diagnostic.config({ virtual_text = true })
end,
},
}

View File

@ -0,0 +1,189 @@
return {
{
"ellisonleao/dotenv.nvim",
config = function()
require('dotenv').setup({
enable_on_load = true, -- will load your .env file upon loading a buffer
})
vim.api.nvim_create_autocmd("BufEnter", {
pattern = "*", callback = require('dotenv').autocmd
})
end
},
{
"ThePrimeagen/refactoring.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
config = function()
require("telescope").load_extension("refactoring")
end,
keys = {
{ "<space>r", "", desc = "Refactoring", mode = {"n", "v"} },
{
"<space>rr",
":lua require('refactoring').select_refactor()<CR>",
desc = "Select refactoring",
mode = {"n", "x"},
},
-- Refactoring operations
{
"<space>re",
"<Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>",
desc = "Extract Function",
mode = "x",
},
{
"<space>rf",
"<Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>",
desc = "Extract Function To File",
mode = "x",
},
{
"<space>rv",
"<Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>",
desc = "Extract Variable",
mode = "x",
},
{
"<space>rI",
"<Esc><Cmd>lua require('refactoring').refactor('Inline Function')<CR>",
desc = "Inline Function",
mode = "n",
},
{
"<space>ri",
"<Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>",
desc = "Inline Variable",
mode = {"n", "x"},
},
-- Extract block
{
"<space>rb",
"<Cmd>lua require('refactoring').refactor('Extract Block')<CR>",
desc = "Extract Block",
mode = "n",
},
{
"<space>rbf",
"<Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>",
desc = "Extract Block To File",
mode = "n",
},
-- Telescope
{
"<leader>fr",
"<Cmd>lua require('telescope').extensions.refactoring.refactors()<CR>",
desc = "Telescope refactorings",
mode = "n",
}
}
},
{
'folke/neodev.nvim',
ft = {'lua'},
dependencies = {
'neovim/nvim-lspconfig'
},
config = function()
require('neodev').setup()
end
},
{
'folke/trouble.nvim',
dependencies = { 'kyazdani42/nvim-web-devicons' },
config = function()
require("trouble").setup()
vim.keymap.set("n", "<space>x", "", {desc = "Diagnostics"})
local function set_trouble_keymap(key, cmd, opts)
vim.keymap.set(
"n",
string.format("<space>x%s", key),
string.format("<cmd>Trouble %s<CR>", cmd),
opts
)
end
set_trouble_keymap("x", "diagnostics toggle", {desc = "Workspace diagnostics window"})
set_trouble_keymap("X", "diagnostics toggle filter.buf=0", {desc = "Buffer diagnostics window"})
set_trouble_keymap("Q", "qflist toggle", {desc = "Qflist"})
set_trouble_keymap("l", "lsp toggle focus=false win.position=right", {desc = "Toggle LSP diagnostics"})
end
},
{
'lewis6991/gitsigns.nvim',
event = "BufReadPost",
enabled = vim.fn.executable "git" == 1,
config = function()
require("gitsigns").setup({
signs = {
add = { text = "+" },
change = { text = "|" },
delete = { text = "-" },
topdelete = { text = "^" },
changedelete = { text = "~" },
untracked = { text = "0" },
},
signs_staged = {
add = { text = '+' },
change = { text = '|' },
delete = { text = '-' },
topdelete = { text = "^" },
changedelete = { text = '~' },
untracked = { text = '0' },
},
signs_staged_enable = true,
})
vim.keymap.set("n", "<space>g", "", {desc = "Git actions"})
local function set_gitsigns_keymap(key, cmd, opts)
vim.keymap.set(
"n",
string.format("<space>g%s", key),
string.format("<cmd>Gitsigns %s<CR>", cmd),
opts
)
end
set_gitsigns_keymap('p', 'preview_hunk', {desc = "Preview hunk"})
set_gitsigns_keymap('b', 'blame_line', {desc = "Show line commit info"})
set_gitsigns_keymap('n', 'next_hunk', {desc = "Next changes"})
set_gitsigns_keymap('N', 'prev_hunk', {desc = "Previous changes"})
set_gitsigns_keymap('r', 'reset_hunk', {desc = "Reset changes"})
set_gitsigns_keymap('h', 'toggle_linehl', {desc = "Toggle changes highlight"})
end
},
{
"wsdjeg/vim-fetch",
},
{
"aznhe21/actions-preview.nvim",
dependencies = {
'nvim-telescope/telescope.nvim',
'MunifTanjim/nui.nvim'
},
config = function()
require("actions-preview").setup {
telescope = {
sorting_strategy = "ascending",
layout_strategy = "vertical",
layout_config = {
width = 0.8,
height = 0.9,
prompt_position = "top",
preview_cutoff = 20,
preview_height = function(_, _, max_lines)
return max_lines - 15
end,
},
},
}
vim.keymap.set("n", "<space>c", "", {desc = "Code action"})
vim.keymap.set("n", "<space>ca", require("actions-preview").code_actions, {desc = "Code action"})
end,
},
}

View File

@ -0,0 +1,80 @@
local lsp_have_feature = {
rename = function(client)
return client.supports_method "textDocument/rename"
end,
inlay_hint = function(client)
return client.supports_method "textDocument/inlayHint"
end,
}
local function get_lsp_client_names(have_feature)
local client_names = {}
local attached_clients = vim.lsp.get_clients { bufnr = 0 }
for _, client in ipairs(attached_clients) do
if have_feature(client) then
table.insert(client_names, client.name)
end
end
return client_names
end
local function lsp_buf_rename(client_name)
vim.lsp.buf.rename(nil, { name = client_name })
end
function LSP_BUF_RENAME_USE_ANY(fallback)
local client_names = get_lsp_client_names(lsp_have_feature.rename)
for _, client_name in ipairs(client_names) do
lsp_buf_rename(client_name)
return
end
if fallback then
fallback()
end
end
return {
{
'mason-org/mason.nvim',
dependencies = {
'neovim/nvim-lspconfig',
"mason-org/mason-lspconfig.nvim",
'nvim-telescope/telescope.nvim',
},
config = function()
-- Mappings.
local opts = { noremap=true, silent=true }
local function desc(description)
return vim.tbl_extend("keep", opts, {desc = description})
end
-- Sections
vim.api.nvim_set_keymap('n', '<space>w', '', {desc = "Workspace manage"})
-- See `:help vim.lsp.*` for documentation on any of the below functions
vim.api.nvim_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', desc("Go declaration"))
vim.api.nvim_set_keymap('n', 'gd', '<cmd>Telescope lsp_definitions<CR>', desc("Go definition"))
vim.api.nvim_set_keymap('n', 'gi', '<cmd>Telescope lsp_implementations<CR>', desc("Go implementation"))
vim.api.nvim_set_keymap('n', 'gr', '<cmd>Telescope lsp_references<CR>', desc("Go references"))
vim.api.nvim_set_keymap('n', 'gt', '<cmd>Telescope lsp_type_definitions<CR>', desc("Go type references"))
vim.api.nvim_set_keymap('n', '<space>k', '<cmd>lua vim.lsp.buf.hover()<CR>', desc("Show help"))
vim.api.nvim_set_keymap('n', '<space>K', '<cmd>lua vim.lsp.buf.signature_help()<CR>', desc("Show signature"))
vim.api.nvim_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', desc("Add workspace folder"))
vim.api.nvim_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', desc("Remove workspace folder"))
vim.api.nvim_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', desc("Show workspace folders"))
vim.api.nvim_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', desc("Show type"))
vim.api.nvim_set_keymap('n', '<space>rn', "<cmd>lua LSP_BUF_RENAME_USE_ANY()<CR>", desc("Rename object"))
vim.api.nvim_set_keymap('n', '<space>e', '<cmd>lua vim.diagnostic.open_float()<CR>', desc("Show diagnostic"))
vim.api.nvim_set_keymap('n', '<space>p', '<cmd>lua vim.diagnostic.goto_prev()<CR>', desc("Previous problem"))
vim.api.nvim_set_keymap('n', '<space>n', '<cmd>lua vim.diagnostic.goto_next()<CR>', desc("Next problem"))
vim.api.nvim_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
vim.api.nvim_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.format()<CR>', desc("Format file"))
require("mason").setup()
require("mason-lspconfig").setup()
end,
},
}

View File

@ -0,0 +1,128 @@
return {
'tpope/vim-repeat',
'google/vim-searchindex',
'preservim/vim-pencil',
{
'windwp/nvim-autopairs',
desc = "Auto pair brackets and tags",
event = "InsertEnter",
opts = {
disable_in_macro = true,
}
},
{
"kylechui/nvim-surround",
event = "VeryLazy",
config = function()
require("nvim-surround").setup()
end
},
{
'windwp/nvim-ts-autotag',
config = function()
require("nvim-ts-autotag").setup()
end
},
{
'numToStr/Comment.nvim',
keys = { { "gc" }, { "gc", mode = "v" } },
config = function()
require("Comment").setup()
end
},
{
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
event = "BufReadPost",
config = function()
require("nvim-treesitter.configs").setup({
ensure_installed = {"python", "lua", "vim", "html", "rust", "markdown", "regex"},
auto_install = true,
highlight = {
enable = true,
}
})
end
},
{
"thek4n/mdimage.nvim",
config = function()
require("mdimage").setup({
target_path = "./.img",
})
end
},
{
"thek4n/postman.nvim",
keys = {"<leader>rl"},
cmd = {"PostmanExec"},
config = function()
vim.keymap.set("n", "<Leader>rl", '<cmd>PostmanExec<CR>')
end
},
{
'monaqa/dial.nvim',
dependencies = { 'nvim-lua/plenary.nvim' },
keys = {"+", "-"},
config = function()
local augend = require("dial.augend")
require("dial.config").augends:register_group{
default = {
augend.integer.alias.decimal_int,
augend.semver.alias.semver,
augend.constant.alias.bool
},
}
vim.keymap.set("n", "+", function()
require("dial.map").manipulate("increment", "normal")
end)
vim.keymap.set("n", "-", function()
require("dial.map").manipulate("decrement", "normal")
end)
end
},
{
'chentoast/marks.nvim',
config = function()
require("marks").setup()
end
},
{
'Pocco81/auto-save.nvim',
config = function()
require("auto-save").setup({
enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it)
execution_message = {
message = function() -- message to print on save
return ""
end,
dim = 0.18, -- dim the color of `message`
cleaning_interval = 1250, -- (milliseconds) automatically clean MsgArea after displaying `message`. See :h MsgArea
},
trigger_events = {"InsertLeave", "TextChanged"}, -- vim events that trigger auto-save. See :h events
condition = function(buf)
local fn = vim.fn
local utils = require("auto-save.utils.data")
if
fn.getbufvar(buf, "&modifiable") == 1 and
utils.not_in(fn.getbufvar(buf, "&filetype"), {})
then
return true -- met condition(s), can save
end
return false -- can't save
end,
write_all_buffers = false, -- write all buffers when the current one meets `condition`
debounce_delay = 135, -- saves the file at most every `debounce_delay` milliseconds
callbacks = { -- functions to be executed at different intervals
enabling = nil, -- ran when enabling auto-save
disabling = nil, -- ran when disabling auto-save
before_asserting_save = nil, -- ran before checking `condition`
before_saving = nil, -- ran before doing the actual save
after_saving = nil -- ran after doing the actual save
}
})
end
},
}

View File

@ -0,0 +1,129 @@
return {
{
'nvim-telescope/telescope.nvim',
enabled = vim.fn.executable("fzf") == 1,
dependencies = {
{
'nvim-lua/plenary.nvim',
},
{
'nvim-telescope/telescope-fzf-native.nvim',
enabled = vim.fn.executable("make") == 1,
build = "make"
},
},
cmd = {
"Telescope"
},
previewers = {
buffer_previewer_maker = require('telescope.previewers').buffer_previewer_maker
},
keys = {
{ '<Leader>fb', '<cmd>Telescope buffers<CR>' },
{ '<Leader>ff', '<cmd>Telescope find_files<CR>' },
{ '<Leader>fg', '<cmd>Telescope live_grep<CR>' },
{ '<Leader>fc', '<cmd>Telescope git_commits<CR>' },
{ '<Leader>fd', '<cmd>Telescope diagnostics<CR>' },
{ '<Leader><Leader>', '<cmd>Telescope buffers<CR>' },
},
config = function()
local telescope = require("telescope")
local actions = require("telescope.actions")
telescope.load_extension("fzf")
telescope.setup({
pickers = {
find_files = {
hidden = true,
},
},
defaults = {
mappings = {
i = {
["<C-j>"] = actions.move_selection_next,
["<C-k>"] = actions.move_selection_previous,
["<C-n>"] = actions.preview_scrolling_down,
["<C-p>"] = actions.preview_scrolling_up,
["<C-a>"] = actions.toggle_all,
["<C-o>"] = actions.toggle_selection,
},
n = {
["<C-j>"] = actions.move_selection_next,
["<C-k>"] = actions.move_selection_previous,
["<C-n>"] = actions.preview_scrolling_down,
["<C-p>"] = actions.preview_scrolling_up,
["<C-a>"] = actions.toggle_all,
}
},
selection_caret = "",
path_display = { "truncate" },
file_ignore_patterns = {
"%.git/",
"%.svn/",
"%.o",
"%.a",
"%.so",
"a%.out",
"venv/",
"CMakeFiles/",
"cmake_install%.cmake",
"CMakeCache%.txt",
"target/",
"%.pytest_cache/",
"vendor/",
"%.lock",
"%.db",
"%.sqlite3",
"%.sqlite",
"%.ipynb",
"%.svg",
"%.burp",
"%.mp4",
"%.png",
"%.jpeg",
"%.jpg",
"%.gif",
"%.mkv",
"%.otf",
"%.ttf",
"%.webp",
"%.bin",
"%.dart_tool/",
"%.gradle/",
"%.idea/",
"%.settings/",
"%.vscode/",
"pycache/",
"build/",
"env/",
"gradle/",
"node_modules/",
"%.pdb",
"%.dll",
"%.class",
"%.exe",
"%.cache",
"%.ico",
"%.pdf",
"%.dylib",
"%.jar",
"%.docx",
"%.met",
"%.vale/",
"%.rar",
"%.zip",
"%.7z",
"%.tar",
"%.xz",
"%.gz",
"%.bz2",
"%.epub",
"%.flac",
"%.tar.gz",
},
}
})
end
}
}

View File

@ -0,0 +1,17 @@
return {
{
'kana/vim-textobj-lastpat', -- text-object i/, operate under finding
dependencies = { 'kana/vim-textobj-user' }
},
{
'sgur/vim-textobj-parameter',
dependencies = { 'kana/vim-textobj-user' }
},
{
'chaoren/vim-wordmotion',
},
{
'nvim-treesitter/nvim-treesitter-textobjects',
dependencies = { 'nvim-treesitter/nvim-treesitter' },
},
}

View File

@ -0,0 +1,209 @@
local function get_virtual_env()
return vim.fs.basename(os.getenv("VIRTUAL_ENV"))
end
function GET_FORMATTED_VIRTUAL_ENV()
if vim.bo.filetype == 'python' then
return "<" .. get_virtual_env() .. ">"
end
return ""
end
function DETECT_INDENT_TYPE()
if vim.bo.expandtab then
return vim.bo.shiftwidth .. " spaces"
else
return vim.bo.shiftwidth / vim.bo.tabstop .. " tabs (" .. vim.bo.tabstop .. ")"
end
end
local function is_absolute_path(path)
return string.sub(path, 1, 1) == '/' or string.sub(path, 1, 1) == '~'
end
return {
{
"folke/twilight.nvim",
cmd = "Twilight"
},
{
'HiPhish/rainbow-delimiters.nvim',
},
{
'nvim-lualine/lualine.nvim',
event = "VeryLazy",
config = function()
require("lualine").setup({
options = {
component_separators = { left = '', right = '' },
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch', 'diff', 'diagnostics'},
lualine_c = {
{
'vim.fn.getcwd()',
fmt = function(str)
return str:gsub(os.getenv("HOME"), "~")
end,
color = { fg='white', gui='bold' },
padding = { left = 1, right = 0 }
},
{
'filename',
fmt = function(str)
local res = str
if is_absolute_path(res) then
res = " " .. res
else
res = "/" .. res
end
return res
end,
file_status = true,
path = 1,
padding = { left = 0, right = 1 }
},
},
lualine_x = {'GET_FORMATTED_VIRTUAL_ENV()', 'DETECT_INDENT_TYPE()', 'filetype'},
lualine_y = {'searchcount'},
lualine_z = {'location', 'selectioncount'},
},
})
end,
dependencies = { 'kyazdani42/nvim-web-devicons' },
},
{
'EdenEast/nightfox.nvim',
lazy = false,
priority = 1000,
build = function()
require("nightfox").compile()
end,
config = function()
require("nightfox").setup({
options = {
transparent = true,
styles = {
strings = "italic",
comments = "italic",
constants = "bold",
}
}
})
vim.cmd.colorscheme("nightfox")
end
},
{
'ellisonleao/gruvbox.nvim',
lazy = true,
},
{
"folke/tokyonight.nvim",
lazy = true,
},
{
'xiyaowong/transparent.nvim',
enabled = false,
lazy = true,
config = function()
require("transparent").setup({
exclude_groups = {'CursorLine'},
})
end
},
{
'lukas-reineke/virt-column.nvim',
lazy = false,
config = function()
require("virt-column").setup({
virtcolumn = '80'
})
end
},
{
'norcalli/nvim-colorizer.lua',
lazy = false,
config = function()
require('colorizer').setup()
end
},
{
"lukas-reineke/indent-blankline.nvim",
config = function()
require("ibl").setup({
scope = { enabled = false },
})
end,
main = "ibl"
},
{
'karb94/neoscroll.nvim',
config = function()
require('neoscroll').setup({
mappings = {'<C-u>', '<C-d>', '<C-b>',
'<C-y>', '<C-e>', 'zt', 'zz', 'zb'},
respect_scrolloff = true,
})
end
},
{
'folke/which-key.nvim',
config = function()
require("which-key").setup()
end
},
{
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
opts = {}
},
{
"folke/noice.nvim",
event = "VeryLazy",
dependencies = {
"MunifTanjim/nui.nvim",
},
config = function()
require("noice").setup({
presets = {
bottom_search = true,
},
cmdline = {
enabled = true,
view = "cmdline_popup",
},
health = {
checker = false,
},
routes = {
{ -- hack to disable search count
filter = {
event = "msg_show",
kind = "echo",
["not"] = { cmdline = true },
},
opts = { skip = true },
},
},
})
end
},
{
"https://github.com/liangxianzhe/floating-input.nvim.git",
config = function()
vim.ui.input = function(opts, on_confirm)
require("floating-input").input(opts, on_confirm, { border = 'single' })
end
end
},
{
"petertriho/nvim-scrollbar",
config = function()
require("scrollbar").setup()
end
},
}

View File

@ -0,0 +1,10 @@
configuration {
show-icons: true;
terminal: "alacritty";
font: "xft:FiraCode 12";
kb-accept-entry: "Ctrl+m,Return";
kb-row-up: "Ctrl+k";
kb-row-down: "Ctrl+j";
kb-remove-to-eol: "";
}
@theme "Arc-Dark"

View File

@ -0,0 +1,28 @@
# vim: ft=swayconfig
# Sway autostart
exec swayidle -w \
timeout 1800 'swaylock -f' \
timeout 1805 'swaymsg "output * power off"' \
resume 'swaymsg "output * power on"' \
before-sleep 'swaylock -f'
# Screen layout
exec_always ~/.screenlayout/default
output * bg "$(find ~/.wallpaper -type f | shuf -n 1)" fill
# Notifications
#systemctl --user enable --now dbus.service
exec mako --anchor top-right --default-timeout 4000 --icons 1 --actions 1 --output $primary
exec_always wayvnc -o $primary -S "$(mktemp --dry-run --tmpdir="${XDG_RUNTIME_DIR}" wayvnc.XXXXXXXXXX)" 127.0.0.1 5900
exec_always wayvnc -o $secondary -S "$(mktemp --dry-run --tmpdir="${XDG_RUNTIME_DIR}" wayvnc.XXXXXXXXXX)" 127.0.0.1 5901
exec --no-startup-id easyeffects --gapplication-service
exec --no-startup-id pomodoro daemon
exec $browser
exec $terminal
exec Telegram
exec firefox_media

View File

@ -0,0 +1,19 @@
# vim: ft=swayconfig
# Sway bar
bar {
mode dock
position bottom
status_command i3blocks
wrap_scroll no
bindsym button4 nop
bindsym button5 nop
hidden_state hide
output *
tray_output $primary
strip_workspace_name no
strip_workspace_numbers no
modifier $mod
}
exec ~/.config/i3blocks/scripts/layout_change_handler.sh

View File

@ -0,0 +1,201 @@
# vim: ft=swayconfig
# Sway bindings
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pkill -RTMIN+1 i3blocks
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pkill -RTMIN+1 i3blocks
bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && pkill -RTMIN+1 i3blocks
bindsym --locked XF86AudioPlay exec playerctl play-pause
bindsym --locked XF86AudioPause exec playerctl play-pause
bindsym --locked XF86AudioNext exec playerctl next
bindsym --locked XF86AudioPrev exec playerctl previous
bindsym --locked XF86Tools exec pavucontrol
bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+
bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym --to-code $mod+p exec pomodoro toggle && pkill -RTMIN+2 i3blocks
bindsym $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk
bindsym --release $mod+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute
bindsym $mod+Shift+z exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk
bindsym --release XF86PickupPhone exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute
bindsym XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 0 ## Hold to talk, x1carb11
bindsym --release XF86Go exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ 1 ## Release to mute, x1carb11
bindsym $mod+XF86AudioMicMute exec --no-startup-id pactl list short sources | awk '/input.*RUNNING/ {system("pactl set-source-mute " $1 " toggle")}' ## Find and mute mics
bindsym --to-code $mod+s exec ~/.config/sway/scripts/swap-workspaces.sh
bindsym --to-code $mod+Shift+q kill
bindsym --to-code $mod+Shift+r reload
set $menu rofi -show drun -m -1
bindsym --to-code $mod+d exec $menu
bindsym $mod+o exec --no-startup-id slm_rofi
# Change focus
bindsym --to-code $mod+h focus left
bindsym --to-code $mod+j focus down
bindsym --to-code $mod+k focus up
bindsym --to-code $mod+l focus right
bindsym --to-code $mod+Left focus left
bindsym --to-code $mod+Down focus down
bindsym --to-code $mod+Up focus up
bindsym --to-code $mod+Right focus right
# Move focused window
bindsym --to-code $mod+Shift+h move left
bindsym --to-code $mod+Shift+j move down
bindsym --to-code $mod+Shift+k move up
bindsym --to-code $mod+Shift+l move right
bindsym --to-code $mod+Shift+Left move left
bindsym --to-code $mod+Shift+Down move down
bindsym --to-code $mod+Shift+Up move up
bindsym --to-code $mod+Shift+Right move right
bindsym --to-code $mod+Ctrl+Shift+l move workspace to output right
bindsym --to-code $mod+Ctrl+Shift+h move workspace to output left
bindsym --to-code $mod+Ctrl+Shift+k move workspace to output up
bindsym --to-code $mod+Ctrl+Shift+j move workspace to output down
bindsym --to-code $mod+f fullscreen toggle
bindsym --to-code $mod+t layout tabbed
bindsym --to-code $mod+v layout toggle split
bindsym --to-code $mod+a focus parent
bindsym --to-code $mod+Shift+slash floating toggle
bindsym --to-code $mod+Shift+comma sticky toggle
# Change focus between tiling / floating windows
bindsym --to-code $mod+slash focus mode_toggle
bindsym --to-code Print exec --no-startup-id screenshot select copy
bindsym --to-code $mod+Print exec --no-startup-id screenshot window copy
bindsym --to-code Ctrl+Print exec --no-startup-id screenshot entire copy
bindsym --to-code Shift+Print exec --no-startup-id screenshot select save
bindsym --to-code Shift+$mod+Print exec --no-startup-id screenshot window save
bindsym --to-code Shift+Ctrl+Print exec --no-startup-id screenshot entire save
bindsym --to-code $mod+q workspace hide1; workspace hide2
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
bindsym --to-code $mod+b bar mode toggle
set $exitmode "Power: [e]xit, [r]eboot, [s]hutdown, s[u]spend, [l]ock, [b]lack, [R]UEFI"
mode $exitmode {
bindsym --to-code e exit
bindsym --to-code r exec --no-startup-id reboot
bindsym --to-code s exec --no-startup-id shutdown -h now
bindsym --to-code u exec ~/.config/sway/scripts/lock-telegram.sh && systemctl suspend; mode "default"
bindsym --to-code l exec ~/.config/sway/scripts/lock-telegram.sh && swaylock -f; mode "default"
bindsym --to-code b exec magick canvas:none PNG:- | feh --class black -YFx -; mode "default"
bindsym --to-code Shift+r exec --no-startup-id systemctl reboot --firmware-setup
bindsym Escape mode "default"
bindsym Return mode "default"
}
bindsym --to-code $mod+x mode $exitmode
# switch to workspace
bindsym --to-code $mod+1 workspace number $ws1
bindsym --to-code $mod+2 workspace number $ws2
bindsym --to-code $mod+3 workspace number $ws3
bindsym --to-code $mod+4 workspace number $ws4
bindsym --to-code $mod+5 workspace number $ws5
bindsym --to-code $mod+6 workspace number $ws6
bindsym --to-code $mod+7 workspace number $ws7
bindsym --to-code $mod+8 workspace number $ws8
bindsym --to-code $mod+9 workspace number $ws9
bindsym --to-code $mod+0 workspace number $ws10
# move focused container to workspace
bindsym --to-code $mod+Shift+1 move container to workspace number $ws1
bindsym --to-code $mod+Shift+2 move container to workspace number $ws2
bindsym --to-code $mod+Shift+3 move container to workspace number $ws3
bindsym --to-code $mod+Shift+4 move container to workspace number $ws4
bindsym --to-code $mod+Shift+5 move container to workspace number $ws5
bindsym --to-code $mod+Shift+6 move container to workspace number $ws6
bindsym --to-code $mod+Shift+7 move container to workspace number $ws7
bindsym --to-code $mod+Shift+8 move container to workspace number $ws8
bindsym --to-code $mod+Shift+9 move container to workspace number $ws9
bindsym --to-code $mod+Shift+0 move container to workspace number $ws10
bindsym --to-code $mod+u workspace prev
bindsym --to-code $mod+Shift+u workspace next
# workspace_auto_back_and_forth no
bindsym --to-code $mod+Tab workspace back_and_forth
# resize window (you can also use the mouse for that)
set $resizemode "Resize: toggle [p]recize"
mode $resizemode {
bindsym --to-code h resize shrink width 10 px or 10 ppt
bindsym --to-code j resize grow height 10 px or 10 ppt
bindsym --to-code k resize shrink height 10 px or 10 ppt
bindsym --to-code l resize grow width 10 px or 10 ppt
bindsym --to-code $mod+r mode "default"
bindsym --to-code p mode $presizemode
bindsym --to-code Return mode "default"
bindsym --to-code Escape mode "default"
}
set $presizemode "Precise resize: toggle [p]resize"
mode $presizemode {
bindsym --to-code h resize shrink width 1 px or 1 ppt
bindsym --to-code j resize grow height 1 px or 1 ppt
bindsym --to-code k resize shrink height 1 px or 1 ppt
bindsym --to-code l resize grow width 1 px or 1 ppt
bindsym --to-code $mod+r mode "default"
bindsym --to-code p mode $resizemode
bindsym --to-code Return mode "default"
bindsym --to-code Escape mode "default"
}
bindsym --to-code $mod+r mode $resizemode
input type:keyboard {
xkb_layout us,ru
xkb_options grp:win_space_toggle,caps:ctrl_modifier
xkb_model "pc101"
repeat_delay 250
repeat_rate 100
}
input type:pointer {
natural_scroll disabled
}
input type:touchpad {
tap enabled
tap_button_map lrm
dwt enabled
scroll_method two_finger
natural_scroll enabled
drag enabled
drag_lock disabled
pointer_accel 0.4
}
bindgesture swipe:3:right workspace next
bindgesture swipe:3:left workspace prev
bindgesture swipe:3:up exec $menu
bindgesture swipe:3:down workspace hide1; workspace hide2

View File

@ -0,0 +1,34 @@
# Sway config sourcer
exec swaylock -f
set $mod Mod4
set $ws1 "1 Browser"
set $ws2 "2  Code"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8💬Social"
set $ws9 "9🎵Music"
set $ws10 "10🍿Media"
set $terminal ~/.config/sway/scripts/auto-alacritty.sh
set $browser firefox
# Example variables.d:
#set $primary DVI-I-1
#set $secondary VGA-1
#set $terminal alacritty
#set $browser firefox
include ~/.config/sway/variables.d/*.conf
include ~/.config/sway/other.conf
include ~/.config/sway/bindings.conf
include ~/.config/sway/bar.conf
include ~/.config/sway/autostart.conf
include /etc/sway/config.d/*.conf
include ~/.config/sway/config.d/*.conf

View File

View File

@ -0,0 +1,55 @@
# vim: ft=swayconfig
# Other sway config
# Hide cursor
seat seat0 hide_cursor when-typing enable
seat seat0 hide_cursor 5000
set $font_size 11
font xft:FiraCode $font_size
floating_modifier $mod
focus_follows_mouse no
mouse_warping none
popup_during_fullscreen smart
smart_borders on
focus_on_window_activation urgent
default_border pixel 1
default_floating_border normal
hide_edge_borders smart
for_window [tiling] border pixel 3
for_window [title="Picture-in-Picture"] sticky enable
for_window [title="Picture-in-Picture"] border pixel 0
for_window [app_id="firefox"] inhibit_idle fullscreen
for_window [app_id="pavucontrol"] {
floating enable
resize set width 60 ppt height 80 ppt
move position center
}
for_window [class="black"] fullscreen enable
no_focus [title="^Peek preview$"]
no_focus [class="black"]
assign [app_id="firefox_media"] workspace $ws10
assign [app_id="Alacritty"] workspace $ws2
assign [app_id="org.telegram.desktop"] workspace $ws8
assign [app_id="firefox"] workspace $ws1
workspace $ws1 output $primary
workspace $ws2 output $primary
workspace $ws3 output $primary
workspace $ws9 output $secondary
workspace $ws10 output $secondary
workspace hide1 output $primary
workspace hide2 output $secondary
exec_always test -f ~/.Xresources && xrdb -merge ~/.Xresources

View File

@ -0,0 +1,6 @@
#!/bin/sh
while true; do
alacritty
sleep 1
done

View File

@ -0,0 +1,25 @@
#!/bin/bash
TELEGRAM_WINDOW="$(
swaymsg -t get_tree | \
jq -r '.. | select(.app_id? == "org.telegram.desktop") | .id' | \
head -n 1
)"
readonly TELEGRAM_WINDOW
if [ -z "${TELEGRAM_WINDOW}" ]; then
echo "Error: Telegram not found"
exit 0
fi
swaymsg "[con_id=${TELEGRAM_WINDOW}] focus"
sleep 0.2
wtype -M ctrl l
swaymsg workspace back_and_forth
exit 0

View File

@ -0,0 +1,26 @@
#!/bin/bash
set -eu
current_monitor=$(swaymsg -r -t get_workspaces | jq '.[] | select(.focused).output' | tr -d '"')
other_monitor=$(swaymsg -r -t get_outputs | jq -r ".[] | select(.active and .name != \"${current_monitor}\").name" | head -n 1)
if [ -z "${other_monitor}" ]; then
echo "No other active monitor found."
exit 1
fi
current_workspace=$(swaymsg -r -t get_workspaces | jq '.[] | select(.focused).name' | tr -d '"')
other_workspace=$(swaymsg -r -t get_workspaces | jq -r ".[] | select(.visible and .output == \"${other_monitor}\").name" | head -n 1)
if [ -n "${other_workspace}" ]; then
# Swap workspaces
swaymsg "workspace ${other_workspace}; move workspace to output ${current_monitor}"
swaymsg "workspace ${current_workspace}; move workspace to output ${other_monitor}"
swaymsg "workspace ${other_workspace}"
else
# Just move current workspace if target is empty
swaymsg "move workspace to output ${other_monitor}"
fi

View File

@ -0,0 +1,3 @@
color=000000
ignore-empty-password
show-failed-attempts

View File

@ -0,0 +1,18 @@
[Unit]
Description=MPV Audio Player Service
Documentation=man:mpv(1)
After=sound.target graphical-session.target
Wants=sound.target
[Service]
Type=simple
ExecStart=%h/.local/bin/mpv-service.sh
Restart=on-failure
RestartSec=5
Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=%t/bus
Environment=XDG_RUNTIME_DIR=%t
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=default.target

View File

@ -0,0 +1,17 @@
[Unit]
Description=SSH proxy
Requires=default.target
After=default.target
# ln -s % ~/.config/systemd/user
# systemctl --user enable --now ssh-proxy@server.vpn
[Service]
Type=simple
ExecStart=/usr/bin/ssh -o ControlMaster=no -o ExitOnForwardFailure=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -vCTN -D 127.0.0.1:1080 %i
Restart=always
RestartSec=3
StartLimitInterval=0
StartLimitBurst=0
[Install]
WantedBy=default.target

View File

@ -0,0 +1,15 @@
[Unit]
Description=Tmux server
Requires=default.target
After=default.target
[Service]
Type=simple
ExecStart=/usr/bin/tmux -D -L %u
ExecStop=/usr/bin/tmux -L %u kill-server
ExecReload=/usr/bin/tmux -L %u source-file %h/.config/tmux/tmux.conf
Restart=on-failure
ExecStartPost=/usr/bin/tmux -L %u new-session -d -s landing 'sh -c "tmux rename-window -t 1 landing; tmux set-option remain-on-exit on; figlet -w 200 -c -f big Landing; trap : INT; while true; do sleep 3600; done"'
[Install]
WantedBy=default.target

View File

@ -0,0 +1,14 @@
[Unit]
Description=VNC Server for X11
Requires=default.target
After=default.target
# x11vnc -storepasswd ~/.vnc/passwd
[Service]
Type=simple
ExecStartPre=/bin/sleep 10
ExecStart=/usr/bin/x11vnc -noxdamage -rfbauth %h/.vnc/passwd -display :0 -forever -reopen -shared
Restart=on-failure
[Install]
WantedBy=default.target

View File

@ -0,0 +1,3 @@
weekend 31
today 30;47
header 1;37

View File

@ -0,0 +1,42 @@
# vim: ft=tmux
set -g command-alias[101] kill='kill-session -t'
set -g command-alias[102] k='kill-session -t'
set -g command-alias[103] reload-config='source-file ~/.config/tmux/tmux.conf ; display-message "Config reloaded..."'
set -g command-alias[104] detect-panes='
set -g display-time $_tmux_display_panes_time
display-message
display-panes
set -g display-time $_tmux_display_time
'
set -g command-alias[105] stash-pane='if-shell "tmux join-pane -l $_tmux_main_pane_size -h -s stash" "" "break-pane -d -n stash"'
set -g command-alias[106] detach-other='if -F "#{session_many_attached}" {
confirm-before -p "Detach other clients? (y/n)" "detach -a"
} {
display "Session has only 1 client attached"
}'
set -g command-alias[107] toggle-synchronize-panes='
if -F "#{pane_synchronized}" "setw synchronize-panes off" "setw synchronize-panes on"
'
# Choose session with key index starting from 1
set -g command-alias[108] choose-tree-index="
choose-tree -ZsK '#{?#{e|<:#{line},9},#{e|+:1,#{line}},#{?#{e|<:#{line},35},M-#{a:#{e|+:97,#{e|-:#{line},9}}},}}'
"
set -g command-alias[109] toggle-zoom='resize-pane -Z'
set -g command-alias[110] default-layout="
resize-pane -x $_tmux_main_pane_size
select-layout '6c98,213x55,0,0{72x55,0,0,72,140x55,73,0,73}'
"
set -g command-alias[111] enable-zoom='
if -F "#{window_zoomed_flag}" "" "resize-pane -Z"
'

View File

@ -0,0 +1,225 @@
# vim: ft=tmux
set -g prefix C-b
bind C-b send-prefix
bind C-и send-prefix
# Toggle local tmux mappings to allow control remote tmux
bind -T root F12 {
set prefix None
set key-table off
set status off
}
bind -T off F12 {
set -u prefix
set -u key-table
set status on
}
bind WheelUpPane send-keys -N 2 scroll-up
bind WheelDownPane send-keys -N 2 scroll-Down
bind F12 send-keys F12
# View current pane in editor
bind y {
capture-pane -J
save-buffer /tmp/tmux-buffer
delete-buffer
display-popup -E -w 90% -h 80% "nvim /tmp/tmux-buffer"
}
# View current buffer in editor
bind Y {
capture-pane -J -S - -E -
save-buffer /tmp/tmux-buffer
delete-buffer
display-popup -E -w 90% -h 80% "nvim /tmp/tmux-buffer"
}
bind t display-popup -E -h 70% -w 60% -d "${HOME}"
bind c display-menu \
calendar c {
display-popup -w 33% -h 70% "cal -my"
} \
time t {
display-popup -w 50% -h 17% "watch -t -n 1 'figlet -ct -f big \"$(date \"+%H : %M : %S\")\"'"
} \
weather w {
display-popup -h 80% -w 60% "zsh -ic 'weather \$CITY'"
}
# Switch new session
bind n new-session -c ~
# Switch new named session
bind N command-prompt -p "New session:" "new-session -A -s '%1' -c ~"
bind x if -F "#{?#{==:#{client_session},landing},0,1}" \
"confirm-before -p \"kill current session? (y/n)\" kill-session" \
"display-message 'Cannot kill session: landing'"
bind X if -F "#{?#{==:#{client_last_session},landing},0,1}" \
"confirm-before -p \"kill last session [#{client_last_session}]? (y/n)\" \"kill-session -t #{client_last_session} \\; display-message 'Killed last session'\"" \
"display-message 'Cannot kill session: landing'"
bind q if -F "#{?#{==:#{client_session},landing},0,1}" \
"confirm-before -p \"kill current pane? (y/n)\" kill-pane" \
"display-message 'Cannot kill session: landing'"
bind Q if -F "#{?#{==:#{window_name},landing},0,1}" \
"confirm-before -p \"kill current window? (y/n)\" kill-window" \
"display-message 'Cannot kill session: landing'"
bind d detach
bind D choose-client -Z
bind C-d detach-other
bind r command-prompt -I '#W' -p "New window name:" "rename-window '%%'"
bind R command-prompt -I '#S' -p "New session name:" "rename-session '%%'"
bind ';' command-prompt
bind -n M-f toggle-zoom
bind l choose-window -w -Z 'link-window -s "%%" -a'
bind u unlink-window
bind j choose-window -Z 'join-pane -s "%%"'
bind Tab switch-client -l
bind F5 reload-config
# Panes navigation
bind -n M-h select-pane -L
bind -n M-l select-pane -R
bind -n M-j select-pane -D
bind -n M-k select-pane -U
# Resizing
bind -n C-M-l resize-pane -R
bind -n C-M-h resize-pane -L
bind -n C-M-j resize-pane -D
bind -n C-M-k resize-pane -U
# Swappings panes
bind -n M-L swap-pane -d -Z -t '{right-of}'
bind -n M-H swap-pane -d -Z -t '{left-of}'
bind -n M-J swap-pane -d -Z -t '{down-of}'
bind -n M-K swap-pane -d -Z -t '{up-of}'
# Sync panes
bind o toggle-synchronize-panes
bind O setw synchronize-panes off
bind i detect-panes
# Windows navigation
bind -n M-1 if-shell 'tmux new-window -t 1 -n 1 -c "#{pane_current_path}"' '' 'select-window -t 1'
bind -n M-2 if-shell 'tmux new-window -t 2 -n 2 -c "#{pane_current_path}"' '' 'select-window -t 2'
bind -n M-3 if-shell 'tmux new-window -t 3 -n 3 -c "#{pane_current_path}"' '' 'select-window -t 3'
bind -n M-4 if-shell 'tmux new-window -t 4 -n 4 -c "#{pane_current_path}"' '' 'select-window -t 4'
bind -n M-5 if-shell 'tmux new-window -t 5 -n 5 -c "#{pane_current_path}"' '' 'select-window -t 5'
bind -n M-6 if-shell 'tmux new-window -t 6 -n 6 -c "#{pane_current_path}"' '' 'select-window -t 6'
bind -n M-7 if-shell 'tmux new-window -t 7 -n 7 -c "#{pane_current_path}"' '' 'select-window -t 7'
bind -n M-8 if-shell 'tmux new-window -t 8 -n 8 -c "#{pane_current_path}"' '' 'select-window -t 8'
bind -n M-9 if-shell 'tmux new-window -t 9 -n 9 -c "#{pane_current_path}"' '' 'select-window -t 9'
bind -n M-0 if-shell 'tmux new-window -t 10 -n 10 -c "#{pane_current_path}"' '' 'select-window -t 10'
# Moving pane to window by Alt+Shift+Number
bind -n 'M-!' if-shell 'tmux join-pane -d -h -t :1' '' 'break-pane -t 1 -d -n 1'
bind -n 'M-@' if-shell 'tmux join-pane -d -h -t :2' '' 'break-pane -t 2 -d -n 2'
bind -n 'M-#' if-shell 'tmux join-pane -d -h -t :3' '' 'break-pane -t 3 -d -n 3'
bind -n 'M-$' if-shell 'tmux join-pane -d -h -t :4' '' 'break-pane -t 4 -d -n 4'
bind -n 'M-%' if-shell 'tmux join-pane -d -h -t :5' '' 'break-pane -t 5 -d -n 5'
bind -n 'M-^' if-shell 'tmux join-pane -d -h -t :6' '' 'break-pane -t 6 -d -n 6'
bind -n 'M-&' if-shell 'tmux join-pane -d -h -t :7' '' 'break-pane -t 7 -d -n 7'
bind -n 'M-*' if-shell 'tmux join-pane -d -h -t :8' '' 'break-pane -t 8 -d -n 8'
bind -n 'M-(' if-shell 'tmux join-pane -d -h -t :9' '' 'break-pane -t 9 -d -n 9'
bind -n 'M-)' if-shell 'tmux join-pane -d -h -t :10' '' 'break-pane -t 10 -d -n 10'
set -g main-pane-width '$_tmux_other_pane_size'
set -g main-pane-height '100%'
# Swapping windows
bind -r "<" swap-window -d -t -1
bind -r ">" swap-window -d -t +1
# Windows splitting
bind -n M-Enter split-window -d -h -b -l $_tmux_other_pane_size -c "#{pane_current_path}"
bind -n M-t split-window -v -l 20% -c "#{pane_current_path}"
bind \\ split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind -n M-q stash-pane
bind -n M-r default-layout
# Swap left pane
bind -n M-Tab swap-pane -t '{left-of}'
# Copy mode
setw -g mode-keys vi
bind v copy-mode
bind C-p choose-buffer
bind -T copy-mode-vi C-v {
send-keys -X rectangle-toggle
if -F '#{selection_active}' '' 'send-keys -X begin-selection'
}
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "copy"
bind MouseDrag1Pane copy-mode
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "copy"
bind -r p run-shell "pasta | tmux load-buffer - && tmux paste-buffer -p"
bind -r з run-shell "pasta | tmux load-buffer - && tmux paste-buffer -p"
bind -r P paste-buffer -p
## Toggle selection
bind -T copy-mode-vi v if -F '#{selection_active}' 'send-keys -X clear-selection' 'send-keys -X begin-selection'
bind -T copy-mode-vi Escape if -F '#{selection_active}' 'send-keys -X clear-selection' 'send-keys -X cancel'
bind -T copy-mode-vi C-c send-keys -X cancel
bind -T copy-mode-vi q send-keys -X cancel
bind -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 2 scroll-up
bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 2 scroll-down
## Search all files in buffer
bind-key f copy-mode \; send-keys -X search-backward \
'(^|/|\<|[[:space:]"])((\.|\.\.)|[[:alnum:]~_"-]*)((/[][[:alnum:]_.#$%&+=@"-]+)+([/ "]|\.([][[:alnum:]_.#$%&+=@"-]+(:[0-9]+)?(:[0-9]+)?)|[][[:alnum:]_.#$%&+=@"-]+(:[0-9]+)(:[0-9]+)?)|(/[][[:alnum:]_.#$%&+=@"-]+){2,}([/ "]|\.([][[:alnum:]_.#$%&+=@"-]+(:[0-9]+)?(:[0-9]+)?)|[][[:alnum:]_.#$%&+=@"-]+(:[0-9]+)(:[0-9]+)?)?|(\.|\.\.)/([][[:alnum:]_.#$%&+=@"-]+(:[0-9]+)?(:[0-9]+)?))'
# Session managment
bind a display-popup -EE -w 80% -h 80% -B '~/.config/tmux/scripts/attach_session.sh'
bind s display-popup -EE -w 80% -h 80% -B '~/.config/tmux/scripts/start_session.sh'
bind S display-popup -EE -w 40% -h 80% -B '~/.config/tmux/scripts/start_projects.sh'

View File

@ -0,0 +1,39 @@
# vim: ft=tmux
_tmux_display_panes_time=4000
_tmux_display_time=450
_tmux_main_pane_size="66%"
_tmux_other_pane_size="34%"
set -s exit-unattached off
set -s exit-empty off
set -g detach-on-destroy off
set -g mouse on
set -s escape-time 0
set -g repeat-time 400
set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on
set -g history-limit 10000
setw -g aggressive-resize on
set -g display-time $_tmux_display_time
set -g display-panes-time $_tmux_display_panes_time
set -g lock-command vlock
set -g focus-events on
set -g default-terminal "tmux-256color"
set -g terminal-overrides[101] "xterm-256color:Tc"
set-hook -g after-new-session[101] 'rename-window -t 1 1'
set -g update-environment "PATH DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY TERM LANG LC_ALL COLORTERM EDITOR VISUAL SWAYSOCK WAYLAND_DISPLAY"

View File

@ -0,0 +1,14 @@
# vim: ft=tmux
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'laktak/extrakto'
# Options
## extrakto
set -g @extrakto_popup_size '40%'
set -g @extrakto_key 'e'
set -g @extrakto_fzf_unset_default_opts "false"
set -g @extrakto_insert_key 'enter'
set -g @extrakto_copy_key 'tab'
set -g @extrakto_help_key 'ctrl-/'

View File

@ -0,0 +1 @@
# vim: ft=tmux

View File

@ -0,0 +1,27 @@
#!/bin/sh
readonly tmux_list_sessions_script="${HOME}/.config/tmux/scripts/list_sessions.sh"
readonly tmux_kill_session_script="${HOME}/.config/tmux/scripts/kill_session.sh"
export FZF_DEFAULT_OPTS="\
${FZF_DEFAULT_OPTS}
--no-multi
--marker=''
--border=rounded
--border-label-pos=bottom
--border-label=' Attach session '
--color='border:blue,label:blue'
--preview-window=follow
--preview='tmux capture-pane -p -e -t {1}'
--bind
ctrl-x:execute\(${tmux_kill_session_script}\ {1}\)+reload\(${tmux_list_sessions_script}\),\
load:reload\(${tmux_list_sessions_script}\;sleep\ 1\)\
"
session_to_attach="$("${tmux_list_sessions_script}" | fzf | awk '{printf $1}')"
readonly session_to_attach
if [ -n "${session_to_attach}" ]; then
tmux switch-client -t "${session_to_attach}"
fi

View File

@ -0,0 +1,7 @@
#!/bin/sh
if [ "${1}" = "landing" ]; then
exit 0
fi
tmux kill-session -t "${1}"

View File

@ -0,0 +1,15 @@
#!/bin/sh
current_session="$(tmux display-message -p '#S')"
readonly current_session
last_session="$(tmux display-message -p '#{client_last_session}')"
readonly last_session
sessions="$(tmux list-session -F '#S#{?session_attached, (attached) , }')"
sessions="$(echo "${sessions}" | sed "s/^${current_session} /${current_session} (current) /")"
sessions="$(echo "${sessions}" | sed "s/^${last_session} /${last_session} (last) /")"
readonly sessions
echo "${sessions}"

View File

@ -0,0 +1,35 @@
#!/bin/sh
export FZF_DEFAULT_OPTS="\
${FZF_DEFAULT_OPTS}
--no-multi
--marker=''
--border=rounded
--border-label-pos=bottom
--border-label=' Start session '
--color='border:grey,label:grey'
"
project_dir="$(find "${HOME}" -xdev -maxdepth 3 -type d -not -path '*/.*' | sed "s%^${HOME}%~%" | fzf | sed "s%^~%${HOME}%")"
readonly project_dir
if [ -z "${project_dir}" ]; then
exit 0
fi
if [ ! -d "${project_dir}" ]; then
printf 'Directory "%s" not found' "${project_dir}" >&2
exit 1
fi
session="$(basename "${project_dir}" | sed 's/\./_/g')"
if ! tmux has-session -t="${session}" 2>/dev/null; then
tmux new-session -d -n 1 -c "${project_dir}" -s "$(basename "${project_dir}")"
fi
tmux switch-client -t "${session}"

View File

@ -0,0 +1,41 @@
#!/bin/sh
readonly TMUX_SESSIONS="${HOME}/.tmux"
readonly EDITOR="nvim"
export FZF_DEFAULT_OPTS="\
${FZF_DEFAULT_OPTS}
--no-multi
--marker=''
--border=rounded
--border-label-pos=bottom
--border-label=' Start session '
--color='border:green,label:green'
--preview='highlight -O ansi '${TMUX_SESSIONS}/{1}''
--bind
ctrl-e:execute\(${EDITOR}\ \"${TMUX_SESSIONS}/{1}\"\)\
"
current_session="$(tmux display-message -p '#S')"
readonly current_session
existing_sessions="$(tmux list-session -F '#S')"
readonly existing_sessions
sessions="$(find "${TMUX_SESSIONS}/" -type f -executable -exec basename {} \;)"
sessions="$(echo "${sessions}" | sed "s/^${current_session}/${current_session} (current)/")"
for _s in $existing_sessions
do
sessions="$(echo "${sessions}" | sed "s/^${_s}/${_s} (created)/")"
done
readonly sessions
session_file="$(echo "${sessions}" | fzf | awk '{printf $1}')"
readonly session_file
if [ -n "${session_file}" ]; then
"${TMUX_SESSIONS}/${session_file}"
fi

View File

@ -0,0 +1,51 @@
# vim: ft=tmux
_tmux_color_inactive_background="terminal" # "colour236"
_tmux_color_inactive_foreground="colour247"
_tmux_color_main_background="terminal"
_tmux_color_border="colour12"
_tmux_color_menu="colour24"
_tmux_color_activity_style="colour239"
# misc
set -g bell-action none
set -g message-style "fg=black bg=white bold"
set -g window-style "fg=$_tmux_color_inactive_foreground,bg=$_tmux_color_inactive_background"
set -g window-active-style "fg=$_tmux_color_main_background,bg=$_tmux_color_main_background"
set -g mode-style "fg=default,bg=$_tmux_color_menu"
# status style
set -g status-style "bg=default,fg=white"
set -g status-justify absolute-centre
set -g status-left "[#S@#H]"
set -g status-left-length 60
set -g status-right "%d.%m.%Y %a %H:%M"
set -g status-right-length 200
set -g window-status-separator " "
set -g window-status-style "bg=colour236"
set -g window-status-current-style "bg=$_tmux_color_menu,fg=white bold"
set -g window-status-format "#W#{?window_flags,#{window_flags}, }"
set -g window-status-current-format "#W#{?window_flags,#{window_flags}, }"
set -g window-status-activity-style "bg=$_tmux_color_activity_style"
setw -g monitor-activity on
# window title style
set -g set-titles on
set -g set-titles-string "#S:#I.#P #W"
# clock style
setw -g clock-mode-colour white
setw -g clock-mode-style 24
# borders
set -g pane-border-lines double
set -g pane-border-indicators colour
set -g pane-border-style "bg=$_tmux_color_inactive_background"
set -g pane-active-border-style "bg=$_tmux_color_inactive_background,fg=$_tmux_color_border"

View File

@ -0,0 +1,11 @@
# vim: ft=tmux
source-file "$HOME/.config/tmux/options.conf"
source-file "$HOME/.config/tmux/aliases.conf"
source-file "$HOME/.config/tmux/mappings.conf"
source-file "$HOME/.config/tmux/style.conf"
if-shell 'test -e "$HOME/.config/tmux/local.conf"' 'source-file "$HOME/.config/tmux/local.conf"'
source-file "$HOME/.config/tmux/plugins.conf"
run -b "$HOME/.config/tmux/plugins/tpm/tpm"

View File

@ -0,0 +1,42 @@
{
"layer": "bottom",
"position": "bottom",
"modules-left": [
"sway/workspaces",
"sway/mode",
],
"modules-center": [],
"modules-right": [
"sway/language",
"clock",
"tray"
],
"sway/workspaces": {
"disable-scroll": true
},
"clock": {
"format": " {:%F %a  %H:%M}",
"format-alt": " {:%A, %B %d, %Y (%R)}",
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode" : "year",
"mode-mon-col" : 3,
"weeks-pos" : "right",
"on-scroll" : 1,
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "tz_up",
"on-scroll-down": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
}

View File

@ -0,0 +1 @@
command -v clear >/dev/null && clear

View File

@ -0,0 +1,11 @@
if [[ "${TTY}" =~ /dev/tty* ]]; then
setterm -blength=0
setfont cyr-sun16
fi
if [ "${TTY}" = "/dev/tty1" ] && [ -z "${WAYLAND_DISPLAY}" ] && [ -z "${DISPLAY}" ]; then
wayland_dir="${XDG_STATE_HOME:-${HOME}/.local/state}/wayland"
mkdir -p "${wayland_dir}"
exec sway >> "${wayland_dir}/sway.log" 2>&1
fi

View File

@ -0,0 +1,26 @@
# .zshrc by TheK4n
# https://github.com/TheK4n/dotfiles
if \
[ "$(tty)" != "/dev/tty3" ] && \
command -v tmux &>/dev/null && \
[ -z "${TMUX}" ] && \
tmux -N -L "${USER}" list-sessions &>/dev/null
then
if [ -n "${SSH_CLIENT}" ]; then
exec tmux -N -L "${USER}" new-session
fi
exec tmux -N -L "${USER}" new-session -A
fi
if [ -f "${ZDOTDIR}/sourcer" ]; then
source "${ZDOTDIR}/sourcer"
fi
if \
command -v tmux &>/dev/null && \
[ -n "${TMUX}" ] && \
[ -n "${SSH_CLIENT}" ]
then
tmux source-file "${XDG_CONFIG_HOME}/tmux/remote.conf"
fi

View File

@ -0,0 +1,43 @@
export ZCALC_HISTFILE="${HOME}/.zcalc_history"
autoload -U zcalc
function __format_number() {
local num="${1}"
local res
num="$(echo "${num}" | sed 's/\.$//')"
res="${num}"
if [[ "${num}" =~ ^[-]?[0-9]+$ ]]; then
res="$(LC_NUMERIC='en_US.UTF-8' printf "%'.20f\n" "${num}" | sed "s/,/_/g")"
fi
echo "${res}" | sed 's/\.\([0-9]*[1-9]\)0*$/.\1/; s/\.0*$//'
}
function __calc {
local result
result="$(ZDOTDIR="${HOME}" zcalc -f -e "$*" 2>/dev/null)"
__format_number "${result}"
}
aliases[calc]='noglob __calc'
aliases[=]='noglob __calc'
function accept-line() {
if [[ ${BUFFER} =~ '^[ ]?\(?[-+]?[0-9]+[^a-zA-Z]+' ]]; then
echo
test "${BUFFER[1]}" != " " && print -S -- "${BUFFER}" # saving the command to history
__calc "${BUFFER}"
BUFFER=
fi
zle .${WIDGET}
}
zle -N accept-line
# vim: ft=zsh

View File

@ -0,0 +1,205 @@
# vim: ft=zsh
_d() { true ; }
_f() { true ; }
_a() { true ; }
alias ls='ls --classify=auto --human-readable'
alias ll='ls -l'
alias la='ls --almost-all'
alias lla='ls -l --almost-all'
alias l.='ls --almost-all --ignore="*"'
alias ll.='ls -l --almost-all --ignore="*"'
if command -v eza &>/dev/null; then
alias eza='eza --classify=auto'
alias ls='eza'
alias ll='eza --long'
alias la='eza --all'
alias lla='eza --long --all'
alias l.='_d() ( cd "${1:-.}" && eza --list-dirs .* ; ); _d'
alias ll.='_d() ( cd "${1:-.}" && eza --long --all --list-dirs .* ; ); _d'
alias tree='eza --tree'
fi
GREP_OPTIONS=(
--color=auto
--binary-files=without-match
--exclude-dir=.git
--exclude-dir=.svn
)
alias grep='grep $GREP_OPTIONS'
alias g='noglob grep $GREP_OPTIONS --dereference-recursive --line-number'
alias f='_f() { find . -name "*${1}*" }; noglob _f'
alias _='sudo'
alias root='sudo --login TMOUT=450'
alias rm='rm --interactive=once --verbose --recursive --one-file-system'
alias mkdir='mkdir --parents --verbose'
alias md='mkdir --parents --verbose'
alias q='exit 0'
alias path='echo -e ${PATH//:/\\n}'
alias dh='dirs -v'
alias pd='popd'
# shorts
alias c='clear'
alias h='history -d -D 0'
alias j='jobs -l'
alias zshrc='source "${ZDOTDIR}/.zshrc" >/dev/null'
if command -v colordiff &>/dev/null; then
alias diff='colordiff'
fi
alias tar-it='tar -czf "../${PWD##*/}.tar.gz" .'
alias man='MANWIDTH=$((COLUMNS > 80 ? 80 : COLUMNS)) man'
# time
alias now='date +"%T"'
alias nowdate='date +"%d-%m-%Y"'
alias cal='cal --monday'
alias beeptime='beep -D 400 -l 400 -r "$(date +%I)" -f 440 -n -D 1000 -l 0 -n -D 800 -l 200 -f 880 -r "$(($(date +%M)/15+1))"'
# vim
alias vi='nvim'
alias svi="sudo --preserve-env nvim"
# git
for al in s d di co col cob ds u ps pst pl pr hs last lastd df amend br fuck sw swl swc swb
do
alias "g${al}"="git ${al}"
done
# net
alias ports='ss -tlnp'
alias wget='wget -c'
alias ip='ip -c'
alias fastping='ping -c 100 -i 0.1'
alias www='serveit'
# hardware
alias reboot='sudo /sbin/reboot'
alias poweroff='sudo /sbin/poweroff'
alias suspend='sudo systemctl suspend'
alias halt='sudo /sbin/halt'
alias shutdown='sudo /sbin/shutdown now'
alias meminfo='free -mlth'
# python
alias pipir='pip install -r requirements.txt'
alias pipar='pip list --not-required --format freeze | tee requirements.txt'
alias vd='deactivate'
# docker
alias dc='docker compose'
alias dcl='docker compose logs -f'
alias drmc='docker container prune'
alias drmi='docker image prune'
alias dpsa='docker ps -a'
alias gb='gobuild'
# tmux
alias dt='tmux detach'
# x11
alias caps='xdotool key Caps_Lock'
alias CAPS='xdotool key Caps_Lock'
alias colors='for i in {0..255}; do printf "\x1b[38;5;${i}mcolor${i} - ██████████\n"; done'
alias paste.thek4n.ru='curl --data-binary @- "https://paste.thek4n.ru/" 2>/dev/null'
alias pastewww='paste.thek4n.ru'
alias copy='tee /dev/stderr | \copy'
alias ssh='TERM=xterm-256color ssh'
alias sshn='ssh -S none'
alias black='magick canvas:none PNG:- | feh --class black -YFx -'
alias ex='extract'
# Notes
alias notes='note'
alias n='note'
alias ns='note sync'
alias ne='note edit'
alias nfe='note fe'
alias nfg='note fg'
alias ng='note git'
alias sn='mdpreview --browser --host localhost --port 0 "$(note --prefix)"'
# Cargo
alias cr='cargo run'
alias crr='cargo run --release'
alias cb='cargo build'
alias cbr='cargo build --release'
alias ct='cargo test'
alias cf='cargo fmt'
alias cl='cargo clippy --release'
alias p='player'
# :)
alias PINK='beep -f 233 -l 440 -n -f 349 -l 440 -n -f 196 -l 440 -n -f 330 -l 650'
alias -g L='2>&1 | $PAGER'
alias -g H='| head'
alias -g T='| tail'
alias -g HL='| highlight -O ansi -S '
alias -g JSON='| json HL json'
alias -g DI='| diff'
alias -g ?='| grep -i'
alias -g G='| grep -i'
alias -g C='| wc -l'
alias -g CO='--color=always'
alias -g ...='../..'
alias -g ....='../../..'
alias -g .3='../../..'
alias -g .....='../../../..'
alias -g .4='../../../..'
alias -g ......='../../../../..'
alias -g .5='../../../../..'
alias -g D="DISPLAY=:0.0"
alias -g XT="TERM=xterm"
alias -g GP="GOPROXY=direct"
alias -g DN=">/dev/null"
alias -g 2DN="2>/dev/null"
alias -g ADN="&>/dev/null"
alias -g BG="&>/dev/null &" # background
alias -g RED='2> >(while read line; do printf "\033[0;31m${line}\033[0m\n"; done)'
alias -g BEEP='&& beep -f 800 -l 250 -n -f 1000 -l 500 || beep -f 800 -l 250 -n -f 500 -l 500'
if [[ "${OSTYPE}" == "linux-android"* ]]; then
alias -g BEEP='&& termux-notification --sound --vibrate 500,1000,200'
fi
alias -g WAKE='BEEP; notify-send --urgency normal Wake'
alias -g PROXY='http_proxy="socks5://${SOCKS5_SERVER:-localhost}"'

View File

@ -0,0 +1,81 @@
: ${AUTOENV_AUTH_FILE:=~/.autoenv_auth}
: ${AUTOENV_FILE_ENTER:=.autoenv.zsh}
: ${AUTOENV_FILE_LEAVE:=.autoenv_leave.zsh}
: ${AUTOENV_DISABLED:=0}
: ${AUTOENV_HANDLE_LEAVE:=1}
_autoenv_hash_pair() {
local env_file="${1:A}"
if [ ! -s "${env_file}" ]; then
return 1
fi
local env_cksum=${${:-$(cksum "${env_file}")}[1]}
printf "%s:%s" "${env_file}" "${env_cksum}"
}
_autoenv_envfile_authorize() {
local env_cksum="$(_autoenv_hash_pair "${1}")"
local line
for line in $(<"${AUTOENV_AUTH_FILE}")
do
if [ "${line}" == "${env_cksum}" ]; then
return 0
fi
done
return 1
}
_autoenv_source_if_authorized() {
local file_to_source="${1}"
if [ ! -s "${file_to_source}" ]; then
return 1
fi
if ! _autoenv_envfile_authorize "${file_to_source}"; then
return 1
fi
source "${file_to_source}"
}
_autoenv() {
_autoenv_source_if_authorized "${PWD}/${AUTOENV_FILE_ENTER}"
}
_autoenv_leave() {
_autoenv_source_if_authorized "${OLDPWD}/${AUTOENV_FILE_LEAVE}"
}
if [[ "${AUTOENV_DISABLED}" != 1 ]]; then
autoload -U add-zsh-hook
add-zsh-hook chpwd _autoenv
if [[ "${AUTOENV_HANDLE_LEAVE}" == 1 ]]; then
add-zsh-hook chpwd _autoenv_leave
fi
_autoenv_source_if_authorized "${PWD}/${AUTOENV_FILE_ENTER}"
fi
autoenv-auth() {
echo >> "${AUTOENV_AUTH_FILE}"
if [ -s "${PWD}/${AUTOENV_FILE_ENTER}" ]; then
_autoenv_hash_pair "${PWD}/${AUTOENV_FILE_ENTER}" >> "${AUTOENV_AUTH_FILE}"
echo >> "${AUTOENV_AUTH_FILE}"
fi
if [ -s "${PWD}/${AUTOENV_FILE_LEAVE}" ]; then
_autoenv_hash_pair "${PWD}/${AUTOENV_FILE_LEAVE}" >> "${AUTOENV_AUTH_FILE}"
echo >> "${AUTOENV_AUTH_FILE}"
fi
}
# vim: ft=zsh

View File

@ -0,0 +1,92 @@
# enable completion features
# vim: ft=zsh
fpath=(~/.zfunc $fpath)
zmodload zsh/complist
setopt menucomplete
autoload -Uz compinit
compinit -d ~/.cache/zsh/.zcompdump
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path "${HOME}/.cache/zsh/.zcompcache"
zstyle ':completion:*' menu select
zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
zstyle ':completion:*' rehash true
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
zstyle ':completion:*:*:extract:*' file-patterns '*.tar* *.lzma *.bz2 *.zip *.7z'
zstyle ':completion:*' complete-options true
zstyle ':completion:*' squeeze-slashes true
zstyle ':completion:*:match:*' original only
zstyle ':completion:*:*:(eza|ls):*' file-sort modification
zstyle ':completion:*' completer _expand _complete _ignored _prefix _list
zstyle ':completion:*:correct:*' completer _correct
zstyle ':completion:*:approximate:*' completer _approximate
zstyle ':completion:*:correct:*' max-errors 1
zstyle ':completion:*:approximate:*' max-errors 1 numeric
zstyle ':completion:*:(all-|)files' ignored-patterns '(|*/)CVS'
zstyle ':completion:*:cd:*' ignored-patterns '(*/)#CVS'
zstyle ':completion:*' squeeze-slashes true
zstyle ':completion:*:cd:*' ignore-parents parent pwd
zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f'
bindkey -M menuselect '^h' vi-backward-char
bindkey -M menuselect '^k' vi-up-line-or-history
bindkey -M menuselect '^j' vi-down-line-or-history
bindkey -M menuselect '^l' vi-forward-char
bindkey -M menuselect '^e' undo
bindkey -M menuselect '^[' accept
bindkey -M menuselect '^M' check-command
bindkey -M menuselect '^I' accept-and-infer-next-history
bindkey '^l' menu-select
setopt AUTO_PARAM_SLASH
setopt COMPLETE_IN_WORD
unsetopt menucomplete
compdef _directories mcd
_gcim_completion() {
local -a commit_types
commit_types=(
'fix:Fix errors'
'feat:New features'
'chore:Routine chore'
'docs:Documentation changes'
'style:Code style'
'refactor:Refactoring'
'perf:Performance improvements'
'test:Add tests'
'revert:Revert changes'
'ci:CI/CD changes'
'build:Build system changes'
)
_describe 'commit message type in format CT1: "type(optional-scope): description"' commit_types -S ''
}
function _gcim() {
noglob git cim "${*}"
}
compdef _gcim_completion _gcim
alias gcim='noglob _gcim'

View File

@ -0,0 +1,72 @@
# vim: ft=zsh
mcd() {
local dir
if [ -z "${1}" ]; then
dir="$(mktemp -ut "${USER:-user}.XXXX")"
else
dir="${1}"
fi
readonly dir
mkdir -p "${dir}" && cd "${dir}"
}
ve() {
local -r venv_name="${1:-venv}"
python3 -m venv "${venv_name}" && . "${venv_name}/bin/activate"
}
va() {
if [[ -v 1 ]]; then
if [[ -f "${1}/bin/activate" ]]; then
source "${1}/bin/activate"
return 0
fi
echo "va: error: virtual environment ${1} not found, use 'python3 -m venv ${1}'" >&2
return 1$
fi
if [[ -f "./venv/bin/activate" ]]; then
source "./venv/bin/activate"
return 0
fi
local activate_venv
activate_venv="$(find -P . -maxdepth 3 -type f -wholename '*/bin/activate' | sort | head -n 1)"
readonly activate_venv
if [[ -f "${activate_venv}" ]]; then
source "${activate_venv}"
return 0
else
echo "va: error: virtual environment not found, use python3 -m venv venv" >&2
return 1
fi
}
top-commands() {
local -r num_args="${1:-1}"
if ! [[ "${num_args}" =~ ^[1-9][0-9]*$ ]]; then
echo "error: usage: top-commands [N]" >&2
echo "error: N must be a positive non-zero integer." >&2
return 1
fi
fc -l -n 1 | awk 'NF' | awk -v n="$num_args" '{
end = (NF < n) ? NF : n
for (i = 1; i <= end; i++) {
printf "%s%s", $i, (i == end ? "\n" : OFS)
}
}' | sort | uniq -c | sort -nr | sed 's/^[[:space:]]*//'
}
cargo-init() {
if [[ ! -v 1 ]]; then
return 1
fi
cargo init "${1}" && cd "${1}" && \
return "${?}"
}

View File

@ -0,0 +1,34 @@
# History configurations
export HISTFILE="$HOME/.zsh_history"
export HISTSIZE=100000
export SAVEHIST=$HISTSIZE
setopt HIST_VERIFY # Don't execute immediately upon history expansion.
setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits.
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history.
setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate.
setopt HIST_IGNORE_SPACE # Don't record an entry starting with a space.
setopt HIST_FIND_NO_DUPS # Do not display a line previously found.
setopt HIST_SAVE_NO_DUPS # Don't write duplicate entries in the history file.
setopt HIST_REDUCE_BLANKS # Убирать лишние пробелы из командных строк, добавляемых в историю.
setopt HIST_NO_STORE # Не хранить записи о командах history.
export HISTSIZE=100000
export HISTFILESIZE="${HISTSIZE}"
export HISTCONTROL=ignoreboth:erasedups
export HISTTIMEFORMAT="%F %T "
export HISTIGNORE="&:l[lsa\.]:[bf]g:exit:q:clear:c:history:h"
export HISTORY_IGNORE='(cd|c|q|exit|l[sal.]|[bf]g#( *)#|..|lsl|ll[a.]|cd ..)'
# configure `time` format
TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
zshaddhistory() {
emulate -L zsh
## uncomment if HISTORY_IGNORE
## should use EXTENDED_GLOB syntax
setopt extendedglob
[[ ${1::-1} != ${~HISTORY_IGNORE} ]]
}

View File

View File

@ -0,0 +1,125 @@
# vim: ft=zsh
KEYTIMEOUT=1
# Activate vim mode.
bindkey -v
bindkey -M visual 'i' vi-insert
bindkey -M visual 'a' vi-add-next
# Yank to the system clipboard
function vi-yank-xclip {
zle vi-yank
echo -n "$CUTBUFFER" | \copy
}
zle -N vi-yank-xclip
bindkey -M visual 'y' vi-yank-xclip
bindkey ' ' magic-space
bindkey '^K' up-line-or-history # C-k
bindkey -M vicmd '^K' up-line-or-history # C-k
bindkey '^J' down-line-or-history # C-j
bindkey -M vicmd '^J' down-line-or-history # C-j
bindkey '^U' kill-whole-line # C-u
bindkey -M vicmd '^U' kill-whole-line # C-u
bindkey -M viins '\e.' insert-last-word # M-.
bindkey '^[[Z' reverse-menu-complete # S-Tab
bindkey -M viins '`' autosuggest-accept
bindkey -M vicmd '`' autosuggest-accept
bindkey -M viins '^?' backward-delete-char
bindkey -M vicmd '^?' backward-delete-char
bindkey -M viins '^W' backward-delete-word
bindkey -M vicmd '^W' backward-delete-word
bindkey -M viins '^H' backward-delete-char
bindkey -M vicmd '^H' backward-delete-char
insert-sudo() {
local sudo_template="${SUDO:=sudo} "
local template_len="${#sudo_template}"
if [ -z "${LBUFFER}${RBUFFER}" ]; then
zle up-history
if [ ! "${LBUFFER::$template_len}" = "$sudo_template" ]; then
LBUFFER="${sudo_template}${LBUFFER}"
fi
return
fi
if [ "${LBUFFER::$template_len}" = "$sudo_template" ]; then
LBUFFER="${LBUFFER:$template_len}"
else
LBUFFER="${sudo_template}${LBUFFER}"
fi
}
zle -N insert-sudo
bindkey -M vicmd '^S' insert-sudo # C-s
bindkey -M viins '^S' insert-sudo # C-s
popdquiet() {
popd &>/dev/null
zle reset-prompt
}
zle -N popdquiet
bindkey "^P" popdquiet
bindkey -M vicmd "^P" popdquiet
cddotdot() {
cd ..
zle reset-prompt
}
zle -N cddotdot
bindkey "^O" cddotdot
bindkey -M vicmd "^O" cddotdot
fzfhistory() {
local cmd
cmd=$(fc -il 1 | \
awk '{
original = $0;
clean = $0;
sub(/^[ ]*[0-9]+[ ]+[0-9]{4}-[0-9]{2}-[0-9]{2}[ ]+[0-9]{2}:[0-9]{2}[ ]*/, "", clean);
print clean "\t" original
}' | \
fzf \
--ignore-case \
--scheme=history \
--no-multi \
--tac \
--tiebreak=begin,index \
--height="$((${LINES}/4))" \
--query="${BUFFER}" \
--delimiter=$'\t' \
--with-nth=1 \
--preview="echo {2} | sed 's/\\\n/\\n/g' | highlight -O ansi -S zsh" \
--preview-window=wrap:30%:50% | \
cut -f1 | sed 's/\\n/\n/g')
if [[ -n "${cmd}" ]]; then
BUFFER="${cmd}"
CURSOR=$#BUFFER
fi
zle reset-prompt
}
zle -N fzfhistory
bindkey "^R" fzfhistory
bindkey -M vicmd "^R" fzfhistory

View File

@ -0,0 +1,52 @@
setopt interactivecomments # allow comments in interactive mode
setopt magicequalsubst # enable filename expansion for arguments of the form anything=expression
setopt nonomatch # hide error message if there is no match for the pattern
setopt notify # report the status of background jobs immediately
setopt numericglobsort # sort filenames numerically when it makes sense
setopt promptsubst # enable command substitution in prompt
setopt noflowcontrol # disable C-s mapping
setopt autocd
DIRSTACKSIZE=8
setopt autopushd
setopt pushdignoredups
WORDCHARS=${WORDCHARS//\/} # Don't consider certain characters part of the word
# hide EOL sign ('%')
PROMPT_EOL_MARK=""
# Change cursor shape for different vi modes.
zle-keymap-select() {
if [[ ${KEYMAP} == vicmd ]] || [[ $1 = 'block' ]]; then
echo -ne '\e[2 q'
elif [[ ${KEYMAP} == main ]] || [[ ${KEYMAP} == viins ]] ||
[[ ${KEYMAP} = '' ]] || [[ $1 = 'beam' ]]; then
echo -ne '\e[5 q'
fi
}
zle -N zle-keymap-select
# Use beam shape cursor on startup.
echo -ne '\e[5 q'
_fix_cursor() {
echo -ne '\e[5 q'
}
precmd_functions+=(_fix_cursor)
# Set cursor style (DECSCUSR), VT520.
# 0 -> blinking block.
# 1 -> blinking block (default).
# 2 -> steady block.
# 3 -> blinking underline.
# 4 -> steady underline.
# 5 -> blinking bar, xterm.
# 6 -> steady bar, xterm.
zle_highlight=('paste:bg=24,fg=15', 'region:bg=24,fg=15') # colors of visual select

View File

@ -1,4 +1,6 @@
# vim: ft=zsh
# enable color support of ls, less and man, and also add handy aliases # enable color support of ls, less and man, and also add handy aliases
if [ -x /usr/bin/dircolors ]; then if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
@ -14,12 +16,4 @@ if [ -x /usr/bin/dircolors ]; then
# Take advantage of $LS_COLORS for completion as well # Take advantage of $LS_COLORS for completion as well
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
fi fi
# enable auto-suggestions based on the history
if [ -f /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ]; then
. /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
# change suggestion color
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#999'
fi

View File

@ -0,0 +1,18 @@
# vim ft=zsh
install_if_not_exists() {
local path="${HOME}/.config/zsh/plugins/${1}"
if [ ! -d "${path}" ]; then
/usr/bin/git clone "https://github.com/${1}" "${path}"
fi
}
install_if_not_exists zsh-users/zsh-autosuggestions
install_if_not_exists zsh-users/zsh-syntax-highlighting
install_if_not_exists hlissner/zsh-autopair
_so "${HOME}/.config/zsh/plugins/zsh-users/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
_so "${HOME}/.config/zsh/plugins/zsh-users/zsh-autosuggestions/zsh-autosuggestions.zsh"
_so "${HOME}/.config/zsh/plugins/hlissner/zsh-autopair/autopair.zsh"

View File

@ -1,9 +1,4 @@
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color) # set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in case "$TERM" in
xterm-color|*-256color) color_prompt=yes;; xterm-color|*-256color) color_prompt=yes;;
@ -42,7 +37,49 @@ zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
} }
precmd() { vcs_info } get_current_time() {
date +%s
}
preexec() {
timer=$(get_current_time)
}
precmd() {
unset formatted_elapsed_time
vcs_info
# Print the previously configured title
print -Pnr -- "$TERM_TITLE"
# Print a new line before the prompt, but only if it is not the first line
if [ "$NEWLINE_BEFORE_PROMPT" = yes ]; then
if [ -z "$_NEW_LINE_BEFORE_PROMPT" ]; then
_NEW_LINE_BEFORE_PROMPT=1
else
print ""
fi
fi
if [ $timer ]; then
now=$(get_current_time)
elapsed_seconds=$(($now-$timer))
local seconds_in_minute=60
if ((elapsed_seconds >= 1)); then
if ((elapsed_seconds >= seconds_in_minute)); then
local minuts="$((elapsed_seconds / seconds_in_minute))"
local seconds="$((elapsed_seconds % seconds_in_minute))"
export formatted_elapsed_time="${minuts}m${seconds}s"
else
export formatted_elapsed_time="${elapsed_seconds}s"
fi
fi
unset timer
fi
}
zstyle ':vcs_info:*' actionformats \ zstyle ':vcs_info:*' actionformats \
'-%F{5}(%F{2}%b%F{3}|%F{1}%a%F{5})-%F{5}]%F{3}%u%c%F{5}]%F{3}%f ' '-%F{5}(%F{2}%b%F{3}|%F{1}%a%F{5})-%F{5}]%F{3}%u%c%F{5}]%F{3}%f '
@ -67,18 +104,19 @@ configure_prompt() {
[ "$EUID" -eq 0 ] && prompt_symbol=💀 [ "$EUID" -eq 0 ] && prompt_symbol=💀
[[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]] && prompt_symbol='📡' [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]] && prompt_symbol='📡'
_bottom_prompt="$(tput cup 999 0)"
case "$PROMPT_ALTERNATIVE" in case "$PROMPT_ALTERNATIVE" in
twoline) twoline)
PROMPT=$'%F{%(#.blue.green)}┌──${debian_chroot:+($debian_chroot)─}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))─}(%B%F{%(#.red.blue)}%n$prompt_symbol%M%b%F{%(#.blue.green)})-[%B%F{reset}%(6~.%-1~/…/%4~.%5~)%b%F{%(#.blue.green)}] $(vcs_info_wrapper)%b%F{%(#.blue.green)}\n└─%B%(#.%F{red}#.%F{blue}$)%b%F{reset} ' PROMPT=$'%{${_bottom_prompt}%}%F{%(#.blue.green)}┌──${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))─}(%B%F{%(#.red.blue)}%n$prompt_symbol%M%b%F{%(#.blue.green)})-[%B%F{reset}%(6~.%-1~/…/%4~.%5~)%b%F{%(#.blue.green)}] $(vcs_info_wrapper)%b%F{%(#.blue.green)}\n└─%B%(#.%F{red}#.%F{blue}$)%b%F{reset} '
RPROMPT=$'%(?.. %? %F{red}%B%b%F{reset})%(1j. %j %F{yellow}%B⚙%b%F{reset}.)' RPROMPT=$'%F{cyan}${formatted_elapsed_time}%F{reset}%(?.. %? %F{red}%B%b%F{reset})%(1j. %j %F{yellow}%B⚙%b%F{reset}.)'
;; ;;
oneline) oneline)
PROMPT=$'${debian_chroot:+($debian_chroot)}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%B%F{%(#.red.blue)}%n@%m%b%F{reset}:%B%F{%(#.blue.green)}%~%b%F{reset}%(#.#.$) ' PROMPT=$'%{${_bottom_prompt}%}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%B%F{%(#.red.blue)}%n@%m%b%F{reset}:%B%F{%(#.blue.green)}%~%b%F{reset}%(#.#.$) '
RPROMPT= RPROMPT=
;; ;;
backtrack) backtrack)
PROMPT=$'${debian_chroot:+($debian_chroot)}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%B%F{red}%n@%m%b%F{reset}:%B%F{blue}%~%b%F{reset}%(#.#.$) ' PROMPT=$'%{${_bottom_prompt}%}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%B%F{red}%n@%m%b%F{reset}:%B%F{blue}%~%b%F{reset}%(#.#.$) '
RPROMPT= RPROMPT=
;; ;;
esac esac
@ -86,10 +124,8 @@ configure_prompt() {
# The following block is surrounded by two delimiters. # The following block is surrounded by two delimiters.
# These delimiters must not be modified. Thanks. # These delimiters must not be modified. Thanks.
# START KALI CONFIG VARIABLES
PROMPT_ALTERNATIVE=twoline PROMPT_ALTERNATIVE=twoline
NEWLINE_BEFORE_PROMPT=yes NEWLINE_BEFORE_PROMPT=yes
# STOP KALI CONFIG VARIABLES
if [ "$color_prompt" = yes ]; then if [ "$color_prompt" = yes ]; then
# override default virtualenv indicator in prompt # override default virtualenv indicator in prompt
@ -144,7 +180,7 @@ if [ "$color_prompt" = yes ]; then
ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]=standout ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]=standout
fi fi
else else
PROMPT='${debian_chroot:+($debian_chroot)}%n@%m:%~%# ' PROMPT='%n@%m:%~%# '
fi fi
unset color_prompt force_color_prompt unset color_prompt force_color_prompt
@ -163,25 +199,12 @@ bindkey ^P toggle_oneline_prompt
# If this is an xterm set the title to user@host:dir # If this is an xterm set the title to user@host:dir
case "$TERM" in case "$TERM" in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty) xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty)
TERM_TITLE=$'\e]0;${debian_chroot:+($debian_chroot)}${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%n@%m: %~\a' TERM_TITLE=$'\e]0;${VIRTUAL_ENV:+($(basename $VIRTUAL_ENV))}%n@%m: %~\a'
;; ;;
*) *)
;; ;;
esac esac
precmd() {
# Print the previously configured title
print -Pnr -- "$TERM_TITLE"
# Print a new line before the prompt, but only if it is not the first line
if [ "$NEWLINE_BEFORE_PROMPT" = yes ]; then
if [ -z "$_NEW_LINE_BEFORE_PROMPT" ]; then
_NEW_LINE_BEFORE_PROMPT=1
else
print ""
fi
fi
}
PS2="> " PS2="> "

Some files were not shown because too many files have changed in this diff Show More