all repos

dotfiles @ 6400748

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")