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"