all repos

dotfiles @ 64007489ce41b3bdeafc99cebdab9b9e9ef2b545

i use rach linux btw
14 files changed, 112 insertions(+), 113 deletions(-)
Update bspwm. Add CoC plug in vim
Author: Smirnov Olexandr ss2316544@gmail.com
Committed at: 2021-01-31 14:01:25 +0200
Parent: 7a0f05c
M README.md
···
                5
                5
                 

              
                6
                6
                 #### System configuration

              
                7
                7
                 - `OS` Arch

              
                8
                
                -- `WM` Qtile, i3

              
                
                8
                +- `WM` bspwm, i3

              
                9
                9
                 - `Terminal` Alacritty

              
                10
                10
                 - `Shell` zsh

              
                11
                11
                 - `Editor` nvim

              
M config/bspwm/bspwmrc
···
                4
                4
                 

              
                5
                5
                 ## == Function

              
                6
                6
                 Run() {

              
                7
                
                - if ! pgrep $1

              
                8
                
                - then $@& fi

              
                
                7
                +  if ! pgrep $1

              
                
                8
                +     then $@& fi

              
                9
                9
                 }

              
                10
                10
                 

              
                11
                11
                 ## == Autostart

              
                12
                12
                 Run setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps" &

              
                
                13
                +Run feh --randomize --bg-scale ~/Pictures/wallp &

              
                13
                14
                 Run sxhkd -c ./.config/bspwm/sxhkd &

              
                14
                15
                 ~/.config/bspwm/bar.sh &

              
                15
                
                -Run nitrogen --restore &

              
                16
                
                -~/.script/autolock &

              
                
                16
                +Run ~/.script/autolock &

              
                17
                17
                 Run lxsession &

              
                18
                18
                 Run picom -b &

              
                19
                19
                 

              ···
                30
                30
                 bspc config gapless_monocle        true

              
                31
                31
                 bspc config single_monocle         true

              
                32
                32
                 bspc config focus_follows_pointer  true

              
                33
                
                -bspc config borderless_monocle     true

              
                34
                33
                 

              
                35
                34
                 # Colors

              
                36
                35
                 bspc config normal_border_color   "#262A2B"

              ···
                42
                41
                 # Rules

              
                43
                42
                 bspc rule -a Alacritty        desktop='^1' focus=on   follow=on

              
                44
                43
                 bspc rule -a kitty            desktop='^1' focus=on   follow=on

              
                45
                
                -bspc rule -a firefox          desktop='^2' focus=off

              
                46
                
                -bspc rule -a VSCodium         desktop='^3' focus=on   follow=on

              
                
                44
                +bspc rule -a firefox          desktop='^2' focus=on   follow=off

              
                
                45
                +bspc rule -a VSCodium         desktop='^3' focus=on   follow=off

              
                
                46
                +bspc rule -a Sublime_text     desktop='^3' focus=on   follow=on

              
                47
                47
                 bspc rule -a '*:nvim'         desktop='^3' focus=on   follow=on

              
                48
                
                -bspc rule -a '*:ranger'       desktop='^4' focus=on   follow=on

              
                
                48
                +bspc rule -a '*:ranger'       desktop='^4' focus=on   follow=off

              
                49
                49
                 bspc rule -a Thunar           desktop='^4' focus=on   follow=on

              
                50
                
                -bspc rule -a Joplin           desktop='^5' focus=off

              
                51
                
                -bspc rule -a discord          descord='^6' focus=on

              
                52
                
                -bspc rule -a TelegramDesktop  descord='^6' focus=off

              
                53
                
                -bspc rule -a Spotify          descord='^9' focus=on

              
                54
                
                -bspc rule -a google-tasks-desktop state=floating

              
                
                50
                +bspc rule -a Joplin           desktop='^5' focus=on   follow=off

              
                
                51
                +bspc rule -a discord          descord='^6' focus=off  follow=off

              
                
                52
                +bspc rule -a telegram-desktop descord='^6' focus=off  follow=off

              
                
                53
                +bspc rule -a Spotify          descord='^9' focus=on   follow=on

              
                
                54
                +bspc rule -a google-tasks-desktop          state=floating

              
M config/bspwm/polybar
···
                7
                7
                 [colors]

              
                8
                8
                 background = #262A2B

              
                9
                9
                 foreground = #DFDFDF

              
                10
                
                -secondary = #008DCD

              
                11
                
                -alert = #FF6C6B

              
                
                10
                +secondary  = #008DCD

              
                
                11
                +alert      = #FF6C6B

              
                12
                12
                 

              
                13
                13
                 [bar/bar]

              
                14
                14
                 width = 100%

              ···
                19
                19
                 wm-restack = bspwm

              
                20
                20
                 font-0 = Iosevka Nerd Font:style=Medium:size=8;3

              
                21
                21
                 font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5

              
                22
                
                -modules-left = powermenu windowname

              
                
                22
                +modules-left = windowname

              
                23
                23
                 modules-center = bspwm

              
                24
                24
                 modules-right = pulseaudio archupd wifi-signal weather memory cpu keyboard time date

              
                25
                25
                 tray-position = right

              
D config/bspwm/screen.png

Not showing binary file.

M config/bspwm/sxhkd
···
                2
                2
                 # BSPWM/SXKBD config file

              
                3
                3
                 

              
                4
                4
                 ## == USER Applications

              
                5
                
                -super + Return

              
                6
                
                -	kitty

              
                7
                
                -

              
                8
                
                -super + shift + w

              
                9
                
                -    firefox

              
                10
                
                -

              
                11
                
                -super + shift + f

              
                12
                
                -    kitty --class=ranger -e ranger

              
                13
                
                -

              
                14
                
                -super + shift + e

              
                15
                
                -    kitty --class=nvim -e nvim

              
                16
                
                -

              
                17
                
                -super + shift + c

              
                18
                
                -    vscodium

              
                
                5
                +super + {_,shift} Return

              
                
                6
                +    {alacritty,      \

              
                
                7
                +     rofi -show drun }

              
                19
                8
                 

              
                20
                
                -super + shift + d

              
                21
                
                -    org.zealdocs.Zeal

              
                
                9
                +super + shift + {w,f,e,c,q}

              
                
                10
                +    {firefox,                            \

              
                
                11
                +     alacritty --class=ranger -e ranger, \

              
                
                12
                +     alacritty --class=nvim   -e nvim,   \

              
                
                13
                +     subl,                               \

              
                
                14
                +	 xkill                               }

              
                22
                15
                 

              
                23
                
                -super + shift + q

              
                24
                
                -    xkill

              
                
                16
                +super + shift + z

              
                
                17
                +    betterlockscreen --off 180 -t "Computer is lokerd" -l

              
                25
                18
                 

              
                
                19
                +super + {equal, minus, shift + minus}

              
                
                20
                +    amixer sset Master {2%+,2%-,toggle}

              
                26
                21
                 

              
                27
                
                -## == USER volume

              
                28
                
                -super + minus

              
                29
                
                -    amixer sset Master 2%-

              
                30
                
                -

              
                31
                
                -super + equal

              
                32
                
                -    amixer sset Master 2%+

              
                33
                
                -

              
                34
                
                -super + shift + minus

              
                35
                
                -    amixer sset Master toggle

              
                36
                
                -

              
                37
                
                -

              
                38
                
                -## == USER Menus

              
                39
                
                -super + shift + Return

              
                40
                
                -	rofi -location 2 -show drun

              
                41
                
                -

              
                42
                
                -super + Escape

              
                43
                
                -    ~/.script/dmenu/dmenu-power.sh

              
                44
                
                -

              
                45
                
                -super + ctrl + i

              
                46
                
                -    ~/.script/dmenu/dmenu-pass.sh

              
                47
                
                -

              
                48
                
                -super + ctrl + u

              
                49
                
                -    ~/.script/dmenu/dmenu-config-edit.sh

              
                50
                
                -

              
                
                22
                +super + {Escape, ctrl + u, ctrl  + i}

              
                
                23
                +	{./.script/dmenu/dmenu-power.sh,       \

              
                
                24
                +     ./.script/dmenu/dmenu-config-edit.sh, \

              
                
                25
                +     ./.script/dmenu/dmenu-pass.sh         }

              
                51
                26
                 

              
                52
                27
                 ## == BSPWM keys

              
                53
                28
                 super + q

              ···
                66
                41
                 super + {_,shift + }{h,j,k,l}

              
                67
                42
                 	bspc node -{f,s} {west,south,north,east}

              
                68
                43
                 

              
                69
                
                -# Change focus window

              
                70
                
                -super + {_,shift + }c

              
                71
                
                -	bspc node -f {next,prev}.local.!hidden.window

              
                72
                
                -

              
                73
                44
                 # Preselect the direction

              
                74
                45
                 super + alt + {h,j,k,l}

              
                75
                46
                 	bspc node -p {west,south,north,east}

              
                76
                
                -

              
                77
                
                -# Preselect the ratio

              
                78
                47
                 super + alt + {1-9}

              
                79
                48
                 	bspc node -o 0.{1-9}

              
                80
                
                -

              
                81
                
                -# Cancel the preselection

              
                82
                
                -super + ctrl + space

              
                
                49
                +super + alt + {space,0}

              
                83
                50
                 	bspc node -p cancel

              
                84
                51
                 

              
                85
                52
                 ## == BSPWM workspace

              
                86
                
                -## Next/Prev workspace

              
                87
                
                -super + bracket{left,right}

              
                88
                
                -	bspc desktop -f {prev,next}.local

              
                89
                
                -

              
                90
                
                -# Change WP & send window to WP

              
                91
                53
                 super + {_,shift + }{1-9}

              
                92
                54
                 	bspc {desktop -f,node -d} focused:'^{1-9}'

              
                93
                55
                 

              
                94
                56
                 ## == BSPWM windwo layouts

              
                95
                
                -# Set window layouts for specific window

              
                96
                
                -super + {t,shift + t,s,f}

              
                97
                
                -	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}

              
                
                57
                +super + ctrl + {t, s, f}

              
                
                58
                +	bspc node -t {tiled,floating,fullscreen}

              
                98
                59
                 

              
                99
                60
                 # Change windows layout

              
                100
                61
                 super + ctrl + {m,x,y,z}

              
M config/i3/config
···
                21
                21
                 set $filemanager alacritty -e ranger

              
                22
                22
                 set $codeeditor alacritty -e nvim

              
                23
                23
                 set $guicode vscodium

              
                24
                
                -set $documentationreader org.zealdocs.Zeal 

              
                25
                24
                 

              
                26
                25
                 ############ Autostart ############

              
                27
                
                -exec --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"

              
                
                26
                +exec_always --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"

              
                28
                27
                 exec_always --no-startup-id exec picom --experimental-backends -b

              
                29
                28
                 exec_always --no-startup-id exec $HOME/.config/i3/bar.sh

              
                30
                29
                 exec --no-startup-id exec nitrogen --restore

              
A config/nvim/coc-settings.json
···
                
                1
                +{

              
                
                2
                +    // Snippets

              
                
                3
                +    "snippets.ultisnips.directories": [

              
                
                4
                +        "snips"

              
                
                5
                +    ],

              
                
                6
                +    "snippets.userSnippetsDirectory": "~/.config/nvim",

              
                
                7
                +    // Emmet

              
                
                8
                +    "emmet.includeLanguages": {

              
                
                9
                +        "javascript": "javascriptreact"

              
                
                10
                +    },

              
                
                11
                +    // Autoload

              
                
                12
                +    "coc.preferences.hoverTarget": "float",

              
                
                13
                +    "coc.preferences.formatOnSaveFiletypes": [

              
                
                14
                +        "css",

              
                
                15
                +        "html",

              
                
                16
                +        "markdown",

              
                
                17
                +        "yaml",

              
                
                18
                +        "json",

              
                
                19
                +        "javascript",

              
                
                20
                +        "pytnon"

              
                
                21
                +    ]

              
                
                22
                +}

              
M config/nvim/init.vim
···
                3
                3
                   Plug 'itchyny/lightline.vim'  " Status line

              
                4
                4
                   Plug 'maximbaz/lightline-ale' " ALE in status line

              
                5
                5
                   Plug 'airblade/vim-gitgutter' " Git indicator

              
                6
                
                -  Plug 'ap/vim-css-color'       " HEX/CSS color preview

              
                
                6
                +  Plug 'mbbill/undotree'        " Git like history

              
                
                7
                +  Plug 'ap/vim-css-color'       " CSS color preview

              
                7
                8
                   Plug 'mhinz/vim-startify'     " Start page

              
                8
                
                -  Plug 'scrooloose/nerdtree'    " File manager

              
                9
                9
                   Plug 'dense-analysis/ale'     " Linter

              
                10
                
                -  Plug 'kassio/neoterm'         " Terminal wrapper

              
                11
                
                -  Plug 'metakirby5/codi.vim'    " Live REPL

              
                12
                10
                   Plug 'editorconfig/editorconfig-vim'  " EditorConfig support

              
                13
                11
                   Plug 'christoomey/vim-tmux-navigator' " Jump from vim to tmux and back

              
                14
                
                -  Plug 'Xuyuanp/nerdtree-git-plugin'    " NERDTree git status

              
                15
                
                -  Plug 'preservim/nerdcommenter'        " Code commenter

              
                
                12
                +

              
                
                13
                +  " NERDTree

              
                
                14
                +  Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}

              
                
                15
                +  Plug 'Xuyuanp/nerdtree-git-plugin', {'on': 'NERDTreeToggle'}

              
                16
                16
                 

              
                17
                17
                   " Completion & snippets

              
                18
                
                -  Plug 'ervandew/supertab'

              
                
                18
                +  Plug 'neoclide/coc.nvim'

              
                19
                19
                   Plug 'jiangmiao/auto-pairs'

              
                20
                
                -  Plug 'SirVer/ultisnips'

              
                21
                
                -  Plug 'mattn/emmet-vim', {'for': ['html', 'javascript']}

              
                22
                20
                 

              
                23
                21
                   " Language support 

              
                
                22
                +  Plug 'metakirby5/codi.vim', {'on': 'Codi'} " Live REPL

              
                24
                23
                   Plug 'othree/yajs.vim',          {'for': 'javascript'}

              
                25
                24
                   Plug 'maxmellon/vim-jsx-pretty', {'for': 'javascript'}

              
                26
                
                -

              
                27
                25
                   Plug 'vim-python/python-syntax', {'for': 'python'}

              
                28
                
                -

              
                29
                26
                   Plug 'cakebaker/scss-syntax.vim', {'for': ['scss', 'sass']}

              
                30
                
                -

              
                31
                
                -  Plug 'plasticboy/vim-markdown',      {'for': 'markdown'}

              
                
                27
                +  Plug 'plasticboy/vim-markdown', {'for': 'markdown'}

              
                32
                28
                   Plug 'PotatoesMaster/i3-vim-syntax', {'for': 'i3'}

              
                33
                29
                   Plug 'kovetskiy/sxhkd-vim',          {'for': 'sxhkd'}

              
                34
                30
                 call plug#end()

              ···
                133
                129
                 let NERDTreeShowHidden=0

              
                134
                130
                 let g:NERDTreeWinSize = 28

              
                135
                131
                 

              
                136
                
                -" Emmet

              
                137
                
                -"let g:user_emmet_expandabbr_key='<tab>'

              
                138
                
                -let g:user_emmet_leader_key=','

              
                139
                
                -let g:user_emmet_mode='inv'

              
                140
                
                -

              
                141
                
                -" UltiSnipts

              
                142
                
                -let g:UltiSnipsExpandTrigger = "<tab>"

              
                143
                
                -let g:UltiSnipsEditSplit = "vertical"

              
                144
                
                -let g:UltiSnipsJumpForwardTrigger = "<tab>"

              
                145
                
                -let g:UltiSnipsJumpBackwardTrigger = "<C-tab>"

              
                146
                
                -let g:UltiSnipsSnippetDirectories = ["snips"]

              
                
                132
                +" Coc

              
                
                133
                +inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"

              
                
                134
                +inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

              
                
                135
                +let g:coc_global_config="$HOME/.config/nvim/coc-settings.json"

              
                
                136
                +imap <C-l> <Plug>(coc-snippets-expand)

              
                
                137
                +vmap <C-j> <Plug>(coc-snippets-select)

              
                
                138
                +let g:coc_global_extensions = [ 'coc-snippets',

              
                
                139
                +\ 'coc-emmet',

              
                
                140
                +\ 'coc-html',

              
                
                141
                +\ 'coc-css',

              
                
                142
                +\ 'coc-yaml',

              
                
                143
                +\ 'coc-json',

              
                
                144
                +\ 'coc-tsserver',

              
                
                145
                +\ 'coc-eslint',

              
                
                146
                +\ 'coc-prettier',

              
                
                147
                +\ ]

              
                147
                148
                 

              
                148
                149
                 " Startify

              
                149
                150
                 let g:startify_custom_header = [

              ···
                171
                172
                 nmap <A-z> :wincmd K<CR>

              
                172
                173
                 nmap <A-x> :wincmd L<CR>

              
                173
                174
                 nmap <A-c> :wincmd n<CR>

              
                
                175
                +

              
                
                176
                +" C-j/k as up/dwon in menu

              
                
                177
                +inoremap <expr> <C-j> ("\<C-n>")

              
                
                178
                +inoremap <expr> <C-k> ("\<C-p>")

              
                174
                179
                 

              
                175
                180
                 " Tab(s)

              
                176
                181
                 noremap <C-Tab> :tabnext<CR>

              
M config/nvim/snips/python.snippets
···
                2
                2
                 

              
                3
                3
                 snippet #! "Shebang"

              
                4
                4
                 #!/usr/bin/env python

              
                
                5
                +${1}

              
                
                6
                +endsnippet

              
                
                7
                +

              
                
                8
                +snippet ! "Shebang"

              
                
                9
                +#!/bin/python

              
                
                10
                +${1}

              
                5
                11
                 endsnippet

              
                6
                12
                 

              
                7
                13
                 snippet ifmain "If __main...."

              
M config/qtile/config.py
···
                164
                164
                     keys.append(Key([mod], str(i), lazy.group[name].toscreen()))

              
                165
                165
                     keys.append(Key([mod, "shift"], str(i), lazy.window.togroup(name)))

              
                166
                166
                 

              
                
                167
                +

              
                167
                168
                 # Window layout(s)

              
                168
                169
                 layout_theme = {

              
                169
                170
                     "border_width": 2,

              ···
                187
                188
                     # layout.VerticalTile(),

              
                188
                189
                     # layout.Zoomy(),

              
                189
                190
                 ]

              
                
                191
                +

              
                190
                192
                 

              
                191
                193
                 # Panel

              
                192
                194
                 widget_defaults = dict(

              ···
                238
                240
                     )], 24  # Panel size

              
                239
                241
                 ))]

              
                240
                242
                 

              
                
                243
                +

              
                241
                244
                 # Drag floating layouts

              
                242
                245
                 mouse = [

              
                243
                
                -    Drag([mod],  "Button1", lazy.window.set_position(), start=lazy.window.get_position()),

              
                244
                
                -    Drag([mod],  "Button3", lazy.window.set_size_floating(), start=lazy.window.get_size()),

              
                245
                
                -    Click([mod], "Button2", lazy.window.bring_to_front())

              
                
                246
                +    Drag([mod], "Button1",

              
                
                247
                +         lazy.window.set_position(),

              
                
                248
                +         start=lazy.window.get_position()),

              
                
                249
                +    Drag([mod], "Button3",

              
                
                250
                +         lazy.window.set_size_floating(),

              
                
                251
                +         start=lazy.window.get_size()),

              
                
                252
                +    Click([mod], "Button2",

              
                
                253
                +          lazy.window.bring_to_front())

              
                246
                254
                 ]

              
                
                255
                +

              
                247
                256
                 

              
                248
                257
                 dgroups_key_binder = None

              
                249
                258
                 dgroups_app_rules = []

              
D config/qtile/kblay.sh
···
                1
                
                -#/bin/sh

              
                2
                
                -case "$(xkblayout)" in

              
                3
                
                -    "Eng") echo "us" ;;

              
                4
                
                -    "Rus") echo "ru" ;;

              
                5
                
                -    "Ukr") echo "ua" ;;

              
                6
                
                -esac

              
M gitconfig
···
                3
                3
                     name = Smirnov Olexandr

              
                4
                4
                     email = ss2316544@gmail.com

              
                5
                5
                 

              
                
                6
                +[init]

              
                
                7
                +	defaultBranch = main

              
                
                8
                +

              
                6
                9
                 [web]

              
                7
                10
                     browser = firefox

              
                8
                11
                 

              
M script/dmenu/dmenu-pass.sh
···
                1
                1
                 #!/bin/sh

              
                2
                2
                 shopt -s nullglob globstar

              
                3
                3
                 

              
                4
                
                -menucmd="rofi -location 2 -dmenu"

              
                
                4
                +menucmd="rofi -dmenu"

              
                5
                5
                 prefix=${PASSWORD_STORE_DIR-~/.password-store}

              
                6
                6
                 password_files=( "$prefix"/**/*.gpg )

              
                7
                7
                 password_files=( "${password_files[@]#"$prefix"/}" )

              
M script/dmenu/dmenu-power.sh
···
                4
                4
                 Logout

              
                5
                5
                 Reboot")

              
                6
                6
                 

              
                7
                
                -menucmd="rofi -location 2 -dmenu"

              
                
                7
                +menucmd="rofi -dmenu"

              
                8
                8
                 choice=$(echo -e "${options[@]}"|${menucmd} -p "Power" $@)

              
                9
                9
                 case "$choice" in

              
                10
                10
                     "ShutDown")