all repos

dotfiles @ fcb370ba0b16ee888bad5d64ed66c9e3298b2b94

i use rach linux btw
8 files changed, 152 insertions(+), 156 deletions(-)
update, neovim use build-in lsp
Author: Smirnov Alexander ss2316544@gmail.com
Committed at: 2021-05-29 12:22:38 +0300
Parent: 8aa92b5
M README.md
···
                1
                1
                 <h1 align="center">dotfiles</h1>

              
                2
                2
                 

              
                3
                
                -![](config/bspwm/screen.png)

              
                4
                
                -----------------------------

              
                5
                
                -

              
                6
                3
                 #### System configuration

              
                7
                4
                 - `OS` Arch

              
                8
                5
                 - `WM` bspwm

              ···
                10
                7
                 - `Shell` zsh

              
                11
                8
                 - `Editor` nvim, vscode

              
                12
                9
                 - `File manager` ranger

              
                13
                
                -- `Browser` firefox

              
                
                10
                +- `Browser` firefox, chrome

              
                14
                11
                 - `Font` Jatbrains Mono

              
                15
                12
                 - `Icon font` Font Awesome

              
                16
                13
                 - `Launcher` rofi

              ···
                23
                20
                 

              
                24
                21
                 Install dependency:

              
                25
                22
                 ```bash

              
                26
                
                -sudo pacman -S neovim tmux git dunst picom bspwm sxhkd kitty rofi zsh ranger ttf-jetbrains-mono ttf-font-awesome

              
                27
                
                -yay -S polybar

              
                
                23
                +sudo pacman -S git bspwm sxhkd dunst kitty picom rofi zsh ranger ttf-font-awesome ttf-jetbrains-mono

              
                
                24
                +yay -S neovim-nightly-bin polybar

              
                28
                25
                 ```

              
                29
                26
                 

              
                30
                27
                 And install configs:

              
                31
                28
                 ```bash

              
                32
                29
                 git clone --recursive https://github.com/Smirnov-O/dotfiles .dotfiles

              
                33
                
                -rcup

              
                
                30
                +rcup rcrc && rcup

              
                34
                31
                 ```

              
M config/bspwm/sxhkd
···
                1
                
                -# Smirnov-O <ss2316544@gmail.com>

              
                2
                
                -# BSPWM/SXKBD config file

              
                3
                
                -

              
                4
                
                -## == USER keys

              
                5
                
                -super + {_,shift} Return

              
                
                1
                +#== Users hotkeys

              
                
                2
                +super + {_, shift} Return

              
                6
                3
                     {kitty, rofi -show drun}

              
                7
                4
                 

              
                8
                
                -super + shift + {w, e, f, s, t, z, q}

              
                9
                
                -    {google-chrome-stable,              \

              
                10
                
                -     code,                              \

              
                11
                
                -     nemo,                              \

              
                12
                
                -     .applications/simplenote.appimage, \

              
                13
                
                -     .applications/todoist.appimage,    \

              
                14
                
                -     slock,                             \

              
                15
                
                -     xkill                              }

              
                16
                
                -

              
                17
                
                -{_,shift,ctrl} Print

              
                18
                
                -    {scrot -s, \

              
                19
                
                -     scrot,    \

              
                20
                
                -     scrot -u  }

              
                
                5
                +super + shift + {w, e, f, z, q}

              
                
                6
                +    {google-chrome-stable, \

              
                
                7
                +    code,  \

              
                
                8
                +    nemo,  \

              
                
                9
                +    slock, \

              
                
                10
                +    xkill  }

              
                21
                11
                 

              
                22
                
                -super + {equal, minus, shift+minus}

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

              
                23
                13
                     amixer sset Master {2%+, 2%-, toggle}

              
                24
                14
                 

              
                
                15
                +Print

              
                
                16
                +    flameshot gui

              
                
                17
                +

              
                25
                18
                 super + Escape

              
                26
                19
                     .config/rofi/script/powermenu.sh

              
                27
                20
                 

              
                28
                
                -### == BSPWM keys

              
                
                21
                +#== BSPWM

              
                29
                22
                 super + q

              
                30
                23
                     bspc node -c

              
                31
                24
                 

              
                32
                25
                 super + control + r

              
                33
                
                -    bspc wm -r \

              
                34
                
                -    && pkill sxhkd \

              
                35
                
                -    && sxhkd -c ~/.config/bspwm/sxhkd

              
                
                26
                +    bspc wm -r && pkill sxhkd && sxhkd -c ~/.config/bspwm/sxhkd

              
                36
                27
                 

              
                37
                28
                 super + {_,shift + } {h,j,k,l}

              
                38
                29
                     bspc node -{f,s} {west,south,north,east}

              ···
                43
                34
                 super + {_,shift + }{1-9}

              
                44
                35
                     bspc {desktop -f,node -d} focused:'^{1-9}'

              
                45
                36
                 

              
                46
                
                -super + shift + {Tab, F11}

              
                47
                
                -    bspc node -t {floating,fullscreen}

              
                48
                
                -

              
                49
                
                -super + Tab

              
                50
                
                -    bspc node -t tiled

              
                
                37
                +super + {t, f, e}

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

              
                51
                39
                 

              
                52
                40
                 # vim: ft=sxhkdrc

              
M config/kitty/kitty.conf
···
                1
                1
                 font_family JetBrains Mono

              
                2
                2
                 disable_ligatures always

              
                3
                
                -font_size 11

              
                4
                
                -repaint_delay 10

              
                5
                
                -

              
                6
                
                -# Cursor

              
                7
                
                -cursor_text_color #4c566a

              
                8
                
                -cursor_shape      underline

              
                9
                
                -cursor_underline_thickness 1.3

              
                
                3
                +enable_audio_bell no

              
                
                4
                +open_url_modifiers ctrl

              
                10
                5
                 cursor_blink_interval 0

              
                11
                6
                 

              
                12
                
                -# Bell

              
                13
                
                -enable_audio_bell    no

              
                14
                
                -window_alert_on_bell no

              
                15
                
                -bell_on_tab          no

              
                
                7
                +## HotKeys

              
                
                8
                +map ctrl+equal change_font_size all +2

              
                
                9
                +map ctrl+minus change_font_size all -2

              
                
                10
                +map ctrl+backspace change_font_size all 0

              
                16
                11
                 

              
                17
                
                -# Keyboard Shortcuts

              
                18
                
                -clear_all_shortcuts yes

              
                19
                
                -open_url_modifiers  ctrl

              
                20
                
                -map ctrl+shift+c    copy_to_clipboard

              
                21
                
                -map ctrl+shift+v    paste_from_clipboard

              
                22
                
                -map ctrl+shift+u    kitten unicode_input

              
                23
                
                -map alt+k           scroll_line_up

              
                24
                
                -map alt+j           scroll_line_down

              
                25
                
                -map ctrl+equal      change_font_size all +2.0

              
                26
                
                -map ctrl+minus      change_font_size all -2.0

              
                27
                
                -map ctrl+backspace  change_font_size all 0

              
                
                12
                +## Theme

              
                
                13
                +#selection_background  #303030

              
                
                14
                +#selection_foreground #202020

              
                
                15
                +#background #202020

              
                
                16
                +#foreground #d0d0d0

              
                
                17
                +#cursor  #d0d0d0

              
                
                18
                +#color0  #151515

              
                
                19
                +#color8  #505050

              
                
                20
                +#color1  #ac4142

              
                
                21
                +#color9  #ac4142

              
                
                22
                +#color2  #7e8d50

              
                
                23
                +#color10 #7e8d50

              
                
                24
                +#color3  #e5b566

              
                
                25
                +#color11 #e5b566

              
                
                26
                +#color4  #6c99ba

              
                
                27
                +#color12 #6c99ba

              
                
                28
                +#color5  #9e4e85

              
                
                29
                +#color13 #9e4e85

              
                
                30
                +#color6  #7dd5cf

              
                
                31
                +#color14 #7dd5cf

              
                
                32
                +#color7  #d0d0d0

              
                
                33
                +#color15 #f5f5f5

              
                
                34
                +color0 #232323

              
                
                35
                +color1 #ff000f

              
                
                36
                +color2 #8ce10b

              
                
                37
                +color3 #ffb900

              
                
                38
                +color4 #008df8

              
                
                39
                +color5 #6d43a6

              
                
                40
                +color6 #00d8eb

              
                
                41
                +color7 #ffffff

              
                
                42
                +color8 #444444

              
                
                43
                +color9 #ff2740

              
                
                44
                +color10 #abe15b

              
                
                45
                +color11 #ffd242

              
                
                46
                +color12 #0092ff

              
                
                47
                +color13 #9a5feb

              
                
                48
                +color14 #67fff0

              
                
                49
                +color15 #ffffff

              
                
                50
                +background #0e1019

              
                
                51
                +selection_foreground #0e1019

              
                
                52
                +cursor #ff0018

              
                
                53
                +foreground #fffaf4

              
                
                54
                +selection_background #fffaf4

              
                28
                55
                 

              
                29
                
                -# Theming

              
                30
                
                -background #f6f6f6

              
                31
                
                -foreground #2a2b33

              
                32
                
                -cursor  #d8dee9

              
                33
                
                -color0  #3b4252

              
                34
                
                -color8  #4c566a

              
                35
                
                -color1  #bf616a

              
                36
                
                -color9  #bf616a

              
                37
                
                -color2  #a3be8c

              
                38
                
                -color10 #a3be8c

              
                39
                
                -color3  #ebcb8b

              
                40
                
                -color11 #ebcb8b

              
                41
                
                -color4  #81a1c1

              
                42
                
                -color12 #81a1c1

              
                43
                
                -color5  #b48ead

              
                44
                
                -color13 #b48ead

              
                45
                
                -color6  #88c0d0

              
                46
                
                -color14 #88c0d0

              
                47
                
                -color7  #e5e9f0

              
                48
                
                -color15 #e5e9f0

              
D config/nvim/coc-settings.json
···
                1
                
                -{

              
                2
                
                -  "javascript.suggestionActions.enabled": false,

              
                3
                
                -  "html.filetypes": ["ejs", "jst"],

              
                4
                
                -  "languageserver": {

              
                5
                
                -    "golang": {

              
                6
                
                -      "filetypes": ["go"],

              
                7
                
                -      "command": "gopls",

              
                8
                
                -      "rootPatterns": ["go.mod"],

              
                9
                
                -      "disableWorkspaceFolders": true

              
                10
                
                -    }

              
                11
                
                -  }

              
                12
                
                -}

              
D config/nvim/coc.vim
···
                1
                
                -ino <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"

              
                2
                
                -ino <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

              
                3
                
                -map <leader>s <Plug>(coc-rename)

              
                4
                
                -

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

              
                6
                
                -let g:coc_global_extensions = [

              
                7
                
                -\ "coc-tsserver",

              
                8
                
                -\ "coc-html"

              
                9
                
                -\ ]

              
M config/nvim/init.vim
···
                1
                1
                 call plug#begin('~/.vim/plugged')

              
                2
                
                -  Plug 'Smirnov-O/nten.vim'

              
                
                2
                +  Plug 'sheerun/vim-polyglot'

              
                
                3
                +  " Completion && LSP

              
                
                4
                +  Plug 'neovim/nvim-lspconfig'

              
                
                5
                +  Plug 'hrsh7th/nvim-compe'

              
                3
                6
                   Plug 'jiangmiao/auto-pairs'

              
                4
                
                -  Plug 'sheerun/vim-polyglot'

              
                5
                
                -  Plug 'neoclide/coc.nvim'

              
                6
                
                -  Plug 'axvr/zepl.vim'

              
                
                7
                +  " Status line

              
                
                8
                +  Plug 'hoob3rt/lualine.nvim'

              
                
                9
                +  " Theme

              
                
                10
                +  Plug 'Smirnov-O/nten.vim'

              
                7
                11
                 call plug#end()

              
                8
                12
                 

              
                9
                13
                 "== General

              
                10
                
                -colo nten-light        " Color scheme

              
                11
                
                -set nu rnu cul         " Line numbers & cursor highlight

              
                12
                
                -set lbr wrap           " Line wrap

              
                13
                
                -set mouse=a mousehide  " Mouse

              
                14
                
                -set ruler laststatus=0 " Status line

              
                15
                
                -set history=500        " Set history size

              
                16
                
                -set autoread           " Auto read file on change

              
                17
                
                -set hidden             " Change buffet without warning

              
                18
                
                -set visualbell t_vb=   " Disable sounds

              
                19
                
                -set pumheight=8        " Maximum items in pop up

              
                20
                
                -set modeline           " Enable modeline

              
                21
                
                -set nobk noswf noudf   " Swap files

              
                22
                
                -set is ic scs          " Search

              
                
                14
                +colo codedark         " Color scheme

              
                
                15
                +set termguicolors     " GUI colors

              
                
                16
                +set nu rnu cul        " Line numbers & cursor highlight

              
                
                17
                +set nolbr nowrap      " Line wrap

              
                
                18
                +set mouse=a mh        " Mouse

              
                
                19
                +set history=500       " Set history size

              
                
                20
                +set autoread          " Auto read file on change

              
                
                21
                +set hidden            " Change buffet without warning

              
                
                22
                +set visualbell t_vb=  " Disable sounds

              
                
                23
                +set pumheight=8       " Maximum items in pop up

              
                
                24
                +set modeline          " Enable modeline

              
                
                25
                +set nobk noswf noudf  " Swap files

              
                
                26
                +set is ic scs         " Search

              
                
                27
                +let mapleader=";"     " Set leader key

              
                
                28
                +set spr               " Split

              
                23
                29
                 set scrolloff=3

              
                24
                30
                 set enc=utf-8 fenc=utf-8  " Encoding

              
                25
                31
                 set list listchars=tab:\|·,trail:~,space:·

              ···
                28
                34
                 set ts=4 sw=4 sts=4

              
                29
                35
                 set sta et ai

              
                30
                36
                 

              
                
                37
                +"== Status line

              
                
                38
                +lua require'lualine'.setup({options = {

              
                
                39
                +\ theme = "codedark"

              
                
                40
                +\ }})

              
                
                41
                +

              
                
                42
                +"== Completion(LSP)

              
                
                43
                +ino <expr> <tab> pumvisible() ? "\<C-n>" : "\<tab>"

              
                
                44
                +ino <expr> <s-tab> pumvisible() ? "\<C-p>" : "\<tab>"

              
                
                45
                +ino <expr> <CR> compe#confirm('<CR>')

              
                
                46
                +nno sr :lua vim.lsp.buf.rename()<cr>

              
                
                47
                +nno sh :lua vim.lsp.buf.hover()<cr>

              
                
                48
                +nno si :lua vim.lsp.buf.definition()<cr>

              
                
                49
                +nno sa :lua vim.lsp.buf.code_action()<cr>

              
                
                50
                +

              
                
                51
                +lua << EOF

              
                
                52
                +require'lspconfig'.tsserver.setup{}

              
                
                53
                +require'lspconfig'.gopls.setup{}

              
                
                54
                +require'compe'.setup{

              
                
                55
                +  enabled = true,

              
                
                56
                +  autocomplete = true,

              
                
                57
                +  source = {

              
                
                58
                +    path = true,

              
                
                59
                +    buffer = true,

              
                
                60
                +    nvim_lsp = true,

              
                
                61
                +  }

              
                
                62
                +}

              
                
                63
                +EOF

              
                
                64
                +

              
                31
                65
                 "== Netrw file tree

              
                32
                66
                 let g:netrw_liststyle = 3

              
                33
                67
                 let g:netrw_banner = 0

              ···
                36
                70
                 "== Custom setting for another files

              
                37
                71
                 au FileType python,elm setl sw=4 ts=4

              
                38
                72
                 au FileType javascript,javascriptreact,json,yaml setl sw=2 ts=2

              
                
                73
                +au FileType go setl noet sw=4 ts=4

              
                39
                74
                 

              
                40
                75
                 "== Custom commands

              
                41
                
                -com! -nargs=1 REpl :cal zepl#start("<args>")|winc L|se nonu nornu

              
                42
                76
                 com! Prettier :sil !prettier -w %

              
                43
                
                -com! Term  :vs|winc L|se nonu nornu|term

              
                
                77
                +com! Term  :vs|winc L|se nonu nornu|start|term

              
                44
                78
                 com! GoFmt :sil !gofmt -w %

              
                45
                79
                 com! Black :sil !black %

              
                46
                80
                 

              
                47
                81
                 "== Mapping

              
                48
                
                -let mapleader=";"

              
                49
                
                -

              
                50
                
                -nn <C-s> :w<cr>

              
                
                82
                +nn <C-s>   :w<cr>

              
                51
                83
                 nn <space> :noh<cr>

              
                52
                
                -tno <esc> <c-\><c-n>

              
                53
                
                -

              
                
                84
                +tno <esc>  <c-\><c-n>

              
                54
                85
                 nn <leader>t :Term<cr>

              
                55
                
                -nn <leader>r :REpl<space>

              
                56
                86
                 nn <leader>e :Ex<cr>

              
                57
                87
                 nn <leader>j :bn<cr>

              
                58
                88
                 nn <leader>k :bp<cr>

              
                59
                89
                 nn <leader>w :bd<cr>

              
                
                90
                +nn <leader>; :FZF<cr>

              
                60
                91
                 

              
                61
                92
                 nn <C-h> :wincmd h<cr>

              
                62
                93
                 nn <C-j> :wincmd j<cr>

              
                63
                94
                 nn <C-k> :wincmd k<cr>

              
                64
                95
                 nn <C-l> :wincmd l<cr>

              
                65
                96
                 

              
                66
                
                -nn cpp :ReplSend<cr>

              
                67
                
                -vn cpp :ReplSend<cr>

              
                68
                97
                 nn spv :vs<cr>

              
                69
                98
                 nn sph :sp<cr>

              
                70
                
                -

              
                71
                
                -"== LSP(coc)

              
                72
                
                -so $HOME/.config/nvim/coc.vim

              
                
                99
                +nn spk :winc K<cr>

              
                
                100
                +nn spl :winc L<cr>

              
M vscode/settings.json
···
                1
                1
                 {

              
                2
                2
                   "editor.fontFamily": "'Jetbrains Mono', 'Droid Sans Mono', 'monospace'",

              
                3
                3
                   "workbench.colorTheme": "Brackets Light Pro",

              
                4
                
                -  "workbench.panel.defaultLocation": "right",

              
                
                4
                +  "workbench.panel.defaultLocation": "bottom",

              
                5
                5
                   "workbench.sideBar.location": "right",

              
                6
                6
                   "editor.wordWrap": "off",

              
                7
                7
                   "editor.fontSize": 14,

              ···
                22
                22
                 

              
                23
                23
                   "prettier.semi": false,

              
                24
                24
                   "tabnine.experimentalAutoImports": true,

              
                
                25
                +  "html.format.enable": false,

              
                
                26
                +

              
                25
                27
                 

              
                26
                28
                   "emmet.includeLanguages": {

              
                27
                29
                     "javascript": "javascriptreact"

              ···
                32
                34
                   "[javascriptreact]":{

              
                33
                35
                     "editor.defaultFormatter": "esbenp.prettier-vscode",

              
                34
                36
                   },

              
                35
                
                -  "html.format.enable": false,

              
                
                37
                +  "workbench.startupEditor": "none"

              
                36
                38
                 }

              
M zshrc
···
                1
                
                -export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.golang/bin:$HOME/go/bin:$PATH"

              
                2
                
                -export GOPATH="$HOME/go"

              
                3
                
                -export EDITOR="nvim"

              
                4
                
                -

              
                5
                
                -### StartShip

              
                
                1
                +## StartShip

              
                6
                2
                 eval "$(starship init zsh)"

              
                7
                3
                 

              
                8
                
                -### FzF

              
                9
                
                -export FZF_DEFAULT_COMMAND="rg --files --ignore-vcs"

              
                
                4
                +## Variables

              
                
                5
                +export GOPATH="$HOME/go"

              
                
                6
                +export EDITOR="nvim"

              
                
                7
                +export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.golang/bin:$GOPATH/bin:$PATH"

              
                10
                8
                 

              
                11
                
                -### Oh my zsh

              
                
                9
                +## Oh my zsh

              
                12
                10
                 export OMH="$HOME/.oh-my-zsh"

              
                13
                11
                 # ZSH_THEME="simple"

              
                14
                
                -DISABLE_AUTO_TITLE="true"

              
                15
                
                -plugins=(docker nvm npm)

              
                
                12
                +plugins=(dotenv)

              
                16
                13
                 source $OMH/oh-my-zsh.sh

              
                17
                14
                 

              
                18
                
                -### Aliases

              
                19
                
                -alias cls="clear"

              
                20
                
                -alias mkdir="mkdir -p"

              
                21
                
                -alias cp="cp -r"

              
                22
                
                -alias vim="nvim"

              
                23
                
                -alias vi="vim"

              
                24
                
                -alias tmux="tmux -2"

              
                25
                
                -alias e="$EDITOR"

              
                26
                
                -alias :q="exit"

              
                27
                
                -alias ...="cd ../.."

              
                28
                
                -alias .3="cd ../../.."

              
                29
                
                -alias gog="go get"

              
                30
                
                -alias gor="go run"

              
                31
                
                -alias gob="go build"

              
                32
                
                -alias pacs="sudo pacman -S"

              
                33
                
                -alias pacr="sudo pacman -R"

              
                
                15
                +## HotKets

              
                
                16
                +bindkey -s "^o" "ranger\n"

              
                
                17
                +bindkey -s "^v" 'nvim $(fzf)\n'

              
                
                18
                +bindkey -s "^f" 'cd $(fd -t directory | fzf)\n'

              
                
                19
                +

              
                
                20
                +## FNM

              
                
                21
                +eval $(fnm env)

              
                
                22
                +

              
                
                23
                +## Aliases

              
                
                24
                +alias cls="clear" cp="cp -r" mkdir="mkdir -p"

              
                
                25
                +alias vim="nvim" vi="vim" e="$EDITOR"

              
                
                26
                +alias ...="cd ../.." .3="cd ../../.." .4="cd ../../../.."

              
                
                27
                +alias gor="go run" gob="go build" gog="go get" goi="go install"

              
                
                28
                +alias pac="sudo pacman" pacs="pac -S" pacr="pac -R" pacss="pac -Ss"