all repos

dotfiles @ fef35c3ef0848715da74780cf5c6629284b059f1

i use rach linux btw
21 files changed, 169 insertions(+), 129 deletions(-)
Add efm to nvim, update vscode, zsh
Author: Smirnov Alexander ss2316544@gmail.com
Committed at: 2021-06-21 19:44:12 +0300
Parent: 093639a
M README.md
···
                1
                1
                 <h1 align="center">dotfiles</h1>

              
                2
                2
                 

              
                
                3
                +[](screen.png)

              
                
                4
                +--------------

              
                
                5
                +

              
                3
                6
                 ### System configuration

              
                4
                7
                 - `OS` Arch

              
                5
                8
                 - `WM` bspwm

              
A config/bspwm/screen.png

Not showing binary file.

M config/nvim/README.md
···
                5
                5
                 yay -S neovim-nightly-bin

              
                6
                6
                 ```

              
                7
                7
                 

              
                8
                
                -## Install plugin manager(`vim-plug`)

              
                
                8
                +## Install plugin manager(`packer`)

              
                9
                9
                 ```bash

              
                10
                
                -sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \

              
                11
                
                -       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

              
                
                10
                +git clone https://github.com/wbthomason/packer.nvim\

              
                
                11
                + ~/.local/share/nvim/site/pack/packer/start/packer.nvim

              
                12
                12
                 ```

              
                13
                13
                 

              
                14
                14
                 ## Install LSP servers

              
                15
                15
                 ```bash

              
                16
                
                -# tsserver(JS/TS)

              
                17
                
                -npm i -g typescript typescript-language-server

              
                18
                
                -

              
                19
                16
                 # Go(gopls)

              
                20
                17
                 go get golang.org/x/tools/gopls@latest

              
                21
                18
                 

              
                22
                19
                 # Python(pyls)

              
                23
                20
                 pip install python-language-server

              
                
                21
                +

              
                
                22
                +# JS/TS

              
                
                23
                +nvim +"LspInstall typescript"

              
                24
                24
                 ```

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

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

              
                
                1
                +call plug#begin('~/.vim/plugged')

              
                3
                2
                   Plug 'b3nj5m1n/kommentary'

              
                4
                
                -  " Plug 'mattn/emmet-vim', {'on': 'EmmetInstall'}

              
                5
                3
                   Plug 'nvim-lua/plenary.nvim'

              
                6
                
                -  Plug 'nvim-lua/popup.nvim'

              
                7
                
                -  " Plug 'editorconfig/editorconfig-vim'

              
                8
                
                -  Plug 'norcalli/nvim-colorizer.lua'

              
                9
                
                -  Plug 'kyazdani42/nvim-web-devicons'

              
                10
                
                -  " Status line && Tab line

              
                
                4
                +  Plug 'kyazdani42/nvim-tree.lua', {'on': 'NvimTreeToggle'}

              
                
                5
                +  Plug 'junegunn/fzf.vim', {'on': ['Files', 'GFiles']}

              
                
                6
                +  " Appereance

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

              
                11
                8
                   Plug 'hoob3rt/lualine.nvim'

              
                12
                9
                   Plug 'romgrk/barbar.nvim'

              
                13
                
                -  " LSP && Completion

              
                
                10
                +  " LSP

              
                14
                11
                   Plug 'neovim/nvim-lspconfig'

              
                
                12
                +  Plug 'kabouzeid/nvim-lspinstall'

              
                15
                13
                   Plug 'hrsh7th/nvim-compe'

              
                16
                14
                   Plug 'jiangmiao/auto-pairs'

              
                17
                15
                   " Git

              
                18
                16
                   Plug 'TimUntersberger/neogit'

              
                19
                17
                   Plug 'lewis6991/gitsigns.nvim'

              
                20
                
                -  " File explorer

              
                21
                
                -  Plug 'kyazdani42/nvim-tree.lua'

              
                22
                
                -  Plug 'nvim-telescope/telescope.nvim'

              
                23
                
                -  " Better syntax hl

              
                
                18
                +  " Syntax

              
                24
                19
                   Plug 'sheerun/vim-polyglot'

              
                25
                20
                   Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}

              
                
                21
                +

              
                
                22
                +  " Plug 'mattn/emmet-vim', {'on': 'EmmetInstall'}

              
                
                23
                +  " Plug 'norcalli/nvim-colorizer.lua'

              
                26
                24
                 call plug#end()

              
                27
                25
                 

              
                28
                26
                 colo codedark

              
                29
                27
                 let mapleader=";"

              
                30
                
                -set termguicolors

              
                
                28
                +

              
                
                29
                +"== Config

              
                
                30
                +set termguicolors        " GUI colors

              
                
                31
                +set nu rnu nocul         " Line numbers & cursor line highlight

              
                
                32
                +set nolbr nowrap         " Line wrap

              
                
                33
                +set mouse=a mh           " Mouse

              
                
                34
                +set history=500          " Set history size

              
                
                35
                +set autoread             " Auto read file on change

              
                
                36
                +set hidden               " Change buffet without warning

              
                
                37
                +set visualbell t_vb=     " Disable sounds

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

              
                
                39
                +set modeline             " Enable modeline

              
                
                40
                +set nosmd                " Disable show mode

              
                
                41
                +set nobk noswf noudf     " Swap files

              
                
                42
                +set is ic scs            " Search

              
                
                43
                +set spr                  " Split

              
                
                44
                +set enc=utf-8 fenc=utf-8 " Encoding

              
                
                45
                +set scrolloff=3          " Scroll padding

              
                
                46
                +set list listchars=tab:\|·,trail:~,space:·

              
                
                47
                +set completeopt=menuone,noselect

              
                
                48
                +

              
                
                49
                +"== Netrw file tree

              
                
                50
                +let g:netrw_liststyle = 3

              
                
                51
                +let g:netrw_banner = 0

              
                
                52
                +let g:netrw_dirhistmax = 0

              
                31
                53
                 

              
                32
                54
                 "== Tab(or spaces)

              
                33
                55
                 set ts=4 sw=4 sts=4

              ···
                36
                58
                 "== Custom commands

              
                37
                59
                 com! Prettier :sil !prettier -w %

              
                38
                60
                 com! Term  :vs|winc L|se nonu nornu|start|term

              
                39
                
                -com! Notes :Files ~/notes

              
                40
                61
                 com! GoFmt :sil !gofmt -w %

              
                
                62
                +com! Black :sil !black %

              
                41
                63
                 

              
                42
                
                -"== Configs

              
                43
                
                -luafile $HOME/.config/nvim/lua/plugins.lua

              
                44
                
                -source $HOME/.config/nvim/vimscript/config.vim

              
                45
                
                -source $HOME/.config/nvim/vimscript/barbar.vim

              
                46
                
                -source $HOME/.config/nvim/vimscript/emmet.vim

              
                47
                
                -source $HOME/.config/nvim/vimscript/compe.vim

              
                48
                
                -source $HOME/.config/nvim/vimscript/filetypes.vim

              
                49
                
                -source $HOME/.config/nvim/vimscript/mappings.vim

              
                
                64
                +"== Emmet

              
                
                65
                +" let g:user_emmet_mode = 'i'

              
                
                66
                +" let g:user_emmet_expandabbr_key ='<c-j>'

              
                
                67
                +" au FileType html,jst,pug,vue,css,less,scss :EmmetInstall

              
                
                68
                +

              
                
                69
                +"== Filetypes

              
                
                70
                +au FileType go setl noet

              
                
                71
                +au FileType javascript,yaml,json setl et ts=2 sw=2 sts=4

              
                
                72
                +au FileType python setl et ts=4 sw=4 sts=4 ai

              
                
                73
                +

              
                
                74
                +"== Config's

              
                
                75
                +lua require'config'

              
                
                76
                +so $HOME/.config/nvim/vimscript/barbar.vim

              
                
                77
                +so $HOME/.config/nvim/vimscript/mappings.vim

              
A config/nvim/lua/config.lua
···
                
                1
                +-- LSP servers

              
                
                2
                +require'lspinstall'.setup {}

              
                
                3
                +require'lspconfig'.gopls.setup {}  -- Go

              
                
                4
                +require'lspconfig'.pyls.setup {}   -- Python

              
                
                5
                +require'lspconfig'.lua.setup {}    -- Lua

              
                
                6
                +require'tsserver'  -- JS/TS

              
                
                7
                +require'efm'       -- Linter's

              
                
                8
                +

              
                
                9
                +-- Compe

              
                
                10
                +require'compe'.setup {

              
                
                11
                +  enabled = true,

              
                
                12
                +  autocomplete = true,

              
                
                13
                +  source = {

              
                
                14
                +    -- path = true,

              
                
                15
                +    buffer = true,

              
                
                16
                +    nvim_lsp = true,

              
                
                17
                +  };

              
                
                18
                +}

              
                
                19
                +

              
                
                20
                +-- LuaLine

              
                
                21
                +require'lualine'.setup {options={

              
                
                22
                +  theme = "codedark"

              
                
                23
                +}}

              
                
                24
                +

              
                
                25
                +-- GitSigns

              
                
                26
                +require'plug.gitsigns'

              
                
                27
                +

              
                
                28
                +-- NeoGit

              
                
                29
                +require'neogit'.setup {}

              
                
                30
                +

              
                
                31
                +-- NvimTree

              
                
                32
                +require'plug.nvimtree'

              
                
                33
                +

              
                
                34
                +-- TreeSitter

              
                
                35
                +require'nvim-treesitter.configs'.setup {

              
                
                36
                +  ensure_installed = {'javascript', 'typescript', 'jsdoc', 'python', 'go'};

              
                
                37
                +  highlight = {enable=true};

              
                
                38
                +}

              
                
                39
                +

              
                
                40
                +-- Colorizer

              
                
                41
                +-- require'plug.colorizer'

              
A config/nvim/lua/efm.lua
···
                
                1
                +-- Python

              
                
                2
                +local black = {

              
                
                3
                +    formatCommand = "black ${filename}", formatStdin = true

              
                
                4
                +}

              
                
                5
                +local flake8 = {

              
                
                6
                +  lintCommand = "flake8 --ignore=E501 --stdin-display-name ${INPUT} -",

              
                
                7
                +  lintStdin = true,

              
                
                8
                +  lintFormats = {"%f:%l:%c: %m"}

              
                
                9
                +}

              
                
                10
                +

              
                
                11
                +-- Javascript

              
                
                12
                +local prettier = {

              
                
                13
                +    formatCommand = "prettier --stdin-filepath ${INPUT}", formatStdin = true

              
                
                14
                +}

              
                
                15
                +local eslint = {

              
                
                16
                +    lintCommand = "./node_modules/.bin/eslint -f unix --stdin --stdin-filename ${INPUT}",

              
                
                17
                +    lintIgnoreExitCode = true,

              
                
                18
                +    lintStdin = true,

              
                
                19
                +    lintFormats = {"%f:%l:%c: %m"},

              
                
                20
                +    formatCommand = "./node_modules/.bin/eslint --fix-to-stdout --stdin --stdin-filename=${INPUT}",

              
                
                21
                +    formatStdin = true

              
                
                22
                +}

              
                
                23
                +

              
                
                24
                +-- GoLang

              
                
                25
                +local golint = {

              
                
                26
                +  lintCommand = "golint",

              
                
                27
                +  lintIgnoreExitCode = true,

              
                
                28
                +  lintFormats = {"%f:%l:%c: %m"},

              
                
                29
                +  lintSource = "golint"

              
                
                30
                +}

              
                
                31
                +

              
                
                32
                +-- Setup

              
                
                33
                +require"lspconfig".efm.setup {

              
                
                34
                +  init_options = {documentFormatting = true, codeAction = false},

              
                
                35
                +  filetypes = {"python", "javascript", "typescript", "go"},

              
                
                36
                +  settings = {

              
                
                37
                +    rootMarkers = {".git/"},

              
                
                38
                +    languages = {

              
                
                39
                +      python = {flake8, black},

              
                
                40
                +      javascript = {eslint, prettier},

              
                
                41
                +      typescript = {eslint, prettier},

              
                
                42
                +      go = {golint}

              
                
                43
                +    }

              
                
                44
                +  }

              
                
                45
                +}

              
D config/nvim/lua/plug/compe.lua
···
                1
                
                -require'compe'.setup {

              
                2
                
                -  enabled = true,

              
                3
                
                -  autocomplete = true,

              
                4
                
                -  source = {

              
                5
                
                -    path = true,

              
                6
                
                -    buffer = true,

              
                7
                
                -    nvim_lsp = true,

              
                8
                
                -  };

              
                9
                
                -}

              
D config/nvim/lua/plug/lspconfig.lua
···
                1
                
                -require'lspconfig'.tsserver.setup {}

              
                2
                
                -require'lspconfig'.gopls.setup {}

              
                3
                
                -require'lspconfig'.pyls.setup {}

              
D config/nvim/lua/plug/lualine.lua
···
                1
                
                -require'lualine'.setup {

              
                2
                
                -  options = {

              
                3
                
                -    theme = "codedark"

              
                4
                
                -  };

              
                5
                
                -}

              
D config/nvim/lua/plug/neogit.lua
···
                1
                
                -require'neogit'.setup {}

              
D config/nvim/lua/plug/telescope.lua
···
                1
                
                -local actions = require('telescope.actions')

              
                2
                
                -

              
                3
                
                -require('telescope').setup{

              
                4
                
                -  defaults = {

              
                5
                
                -    prompt_prefix = "Search > ",

              
                6
                
                -    selection_caret = " ",

              
                7
                
                -    entry_prefix = " ",

              
                8
                
                -    file_ignore_patterns = {"node_modules", "env", ".cache"},

              
                9
                
                -    mappings = {

              
                10
                
                -      i = {["<esc>"] = actions.close}

              
                11
                
                -    };

              
                12
                
                -  };

              
                13
                
                -}

              
D config/nvim/lua/plug/treesitter.lua
···
                1
                
                -require'nvim-treesitter.configs'.setup {

              
                2
                
                -  ensure_installed = {'javascript', 'typescript', 'python', 'go'};

              
                3
                
                -  highlight = { enable = true };

              
                4
                
                -  indent = { enable = true };

              
                5
                
                -}

              
D config/nvim/lua/plugins.lua
···
                1
                
                -require'plug.compe'

              
                2
                
                -require'plug.lspconfig'

              
                3
                
                -require'plug.nvimtree'

              
                4
                
                -require'plug.lualine'

              
                5
                
                -require'plug.gitsigns'

              
                6
                
                -require'plug.neogit'

              
                7
                
                -require'plug.treesitter'

              
                8
                
                -require'plug.telescope'

              
                9
                
                -require'plug.colorizer'

              
M config/nvim/vimscript/barbar.vim
···
                1
                1
                 " Settings

              
                2
                2
                 let bufferline = get(g:, 'bufferline', {})

              
                3
                3
                 let bufferline.icon_close_tab = '🗴'

              
                
                4
                +let bufferline.icons = v:false

              
                4
                5
                 

              
                5
                6
                 " Mappings

              
                6
                7
                 nno <A-1> :BufferGoto 1<cr>

              
D config/nvim/vimscript/compe.vim
···
                1
                
                -" Settings

              
                2
                
                -set completeopt=menuone,noselect

              
                3
                
                -

              
                4
                
                -" Mappings

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

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

              
                7
                
                -ino <expr> <cr> compe#confirm('<CR>')

              
                8
                
                -nno sr :lua vim.lsp.buf.rename()<cr>

              
                9
                
                -nno sh :lua vim.lsp.buf.hover()<cr>

              
                10
                
                -nno si :lua vim.lsp.buf.definition()<cr>

              
                11
                
                -nno sa :lua vim.lsp.buf.code_action()<cr>

              
D config/nvim/vimscript/config.vim
···
                1
                
                -"== Vim config

              
                2
                
                -set termguicolors         " GUI colors

              
                3
                
                -set nu rnu nocul          " Line numbers & cursor line highlight

              
                4
                
                -set nolbr nowrap          " Line wrap

              
                5
                
                -set mouse=a mh            " Mouse

              
                6
                
                -set history=500           " Set history size

              
                7
                
                -set autoread              " Auto read file on change

              
                8
                
                -set hidden                " Change buffet without warning

              
                9
                
                -set visualbell t_vb=      " Disable sounds

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

              
                11
                
                -set modeline              " Enable modeline

              
                12
                
                -set nosmd                 " Disable show mode

              
                13
                
                -set nobk noswf noudf      " Swap files

              
                14
                
                -set is ic scs             " Search

              
                15
                
                -set spr                   " Split

              
                16
                
                -set enc=utf-8 fenc=utf-8  " Encoding

              
                17
                
                -set scrolloff=3

              
                18
                
                -set list listchars=tab:\|·,trail:~,space:·

              
                19
                
                -

              
                20
                
                -"== Netrw file tree

              
                21
                
                -let g:netrw_liststyle = 3

              
                22
                
                -let g:netrw_banner = 0

              
                23
                
                -let g:netrw_dirhistmax = 0

              
D config/nvim/vimscript/emmet.vim
···
                1
                
                -"== Config

              
                2
                
                -let g:user_emmet_mode = "i"

              
                3
                
                -let g:user_emmet_expandabbr_key ='<c-j>'

              
                4
                
                -let g:user_emmet_leader = ","

              
                5
                
                -let g:user_emmet_settings = {

              
                6
                
                -\ 'javascript': {'extends': 'jsx'}}

              
                7
                
                -

              
                8
                
                -"== Load

              
                9
                
                -au FileType html,jst,pug,vue,css,less,scss :EmmetInstall

              
D config/nvim/vimscript/filetypes.vim
···
                1
                
                -au FileType python,elm setl sw=4 ts=4 sts=2

              
                2
                
                -au FileType go setl noet sw=4 ts=4 sts=2

              
                3
                
                -au FileType javascript,html,jst,pug,css,less,scss,json,yaml,lua,vim setl sw=2 ts=2 sts=2

              
M config/nvim/vimscript/mappings.vim
···
                1
                1
                 nno <C-s> :w<cr>

              
                
                2
                +nno <C-p> :GFiles<cr>

              
                2
                3
                 nno <space> :noh<cr>

              
                3
                4
                 nno <leader>t :Term<cr>

              
                4
                5
                 nno <leader>e :NvimTreeToggle<cr>

              
                5
                
                -nno <leader>; :Telescope fd<cr>

              
                6
                
                -nno <leader>: :Telescope git_files<cr>

              
                7
                
                -nno <leader>g :Neogit<cr>

              
                
                6
                +nno <leader>; :Files<cr>

              
                
                7
                +nno <leader>d :Neogit<cr>

              
                8
                8
                 

              
                9
                9
                 " Buffer

              
                10
                10
                 nno <leader>j :bn<cr>

              
                11
                11
                 nno <leader>k :bp<cr>

              
                
                12
                +

              
                
                13
                +" Compe

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

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

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

              
                
                17
                +ino <expr> <c-space> compe#complete()

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

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

              
                
                20
                +nno sd :lua vim.lsp.buf.definition()<cr>

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

              
                
                22
                +nno si :lua vim.lsp.buf.implementation()<cr>

              
                
                23
                +nno sf :lua vim.lsp.buf.formatting()

              
                
                24
                +nno sR :lua vim.lsp.buf.references()<CR>

              
                12
                25
                 

              
                13
                26
                 " Split

              
                14
                27
                 nno <C-h> :winc h<cr>

              
M vscode/settings.json
···
                46
                46
                     "**/node_modules": true

              
                47
                47
                   },

              
                48
                48
                 

              
                49
                
                -  "emmet.includeLanguages": {"javascript": "javascriptreact"},

              
                
                49
                +  "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",

              
                
                50
                +

              
                50
                51
                   "[javascript]": {

              
                51
                52
                     "editor.defaultFormatter": "esbenp.prettier-vscode",

              
                52
                
                -    "editor.tabSize": 2,

              
                
                53
                +    "editor.tabSize": 2

              
                53
                54
                   }

              
                54
                55
                 }

              
M zshrc
···
                6
                6
                 export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.golang/bin:$GOPATH/bin:$PATH"

              
                7
                7
                 export EDITOR="nvim"

              
                8
                8
                 

              
                
                9
                +## FzF

              
                
                10
                +export FZF_DEFAULT_COMMAND="fd -t f -t l -E node_modules -E env -E __pycache__"

              
                
                11
                +

              
                9
                12
                 ## Oh my zsh

              
                10
                13
                 plugins=(dotenv)

              
                11
                14
                 ZSH_THEME="simple"

              
                12
                15
                 source "$HOME/.oh-my-zsh/oh-my-zsh.sh"

              
                13
                
                -

              
                14
                
                -## HotKets

              
                15
                
                -bindkey -s "^o" "ranger\n"

              
                16
                
                -bindkey -s "^g" "lazygit\n"

              
                17
                16
                 

              
                18
                17
                 ## FNM

              
                19
                18
                 eval $(fnm env)