25 files changed,
111 insertions(+),
128 deletions(-)
Author:
Smirnov Alexander
ss2316544@gmail.com
Committed at:
2021-06-10 19:09:35 +0300
Parent:
a01c2ab
jump to
M
README.md
··· 1 1 <h1 align="center">dotfiles</h1> 2 2 3 -#### System configuration 3 +### System configuration 4 4 - `OS` Arch 5 5 - `WM` bspwm 6 6 - `Terminal` kitty 7 7 - `Shell` zsh 8 8 - `Editor` nvim, vscode 9 9 - `File manager` ranger 10 -- `Browser` firefox, chrome 10 +- `Browser` chrome 11 11 - `Font` Jatbrains Mono 12 12 - `Icon font` Font Awesome 13 13 - `Launcher` rofi 14 14 15 -#### Install config 15 +### Install config 16 16 Since i use **[rcm](https://github.com/thoughtbot/rcm)** set it: 17 17 ```bash 18 18 yay -S rcm
M
config/nvim/README.md
··· 1 1 # NVIM 2 2 3 -### Install LSP 3 +## Install nvim 4 +```bash 5 +yay -S neovim-nightly-bin 6 +``` 7 + 8 +## Install plugin manager(`vim-plug`) 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' 12 +``` 13 + 14 +## Install LSP servers 4 15 ```bash 5 16 # tsserver(JS/TS) 6 17 npm i -g typescript typescript-language-server 18 + 7 19 # Go(gopls) 8 20 go get golang.org/x/tools/gopls@latest 21 + 22 +# Python(pyls) 23 +pip install python-language-server 9 24 ```
M
config/nvim/init.vim
··· 1 -call plug#begin('~/.vim/plugged') 1 + call plug#begin('~/.vim/plugged') 2 + Plug 'Smirnov-O/nten.vim' 3 + Plug 'b3nj5m1n/kommentary' 4 + " Plug 'mattn/emmet-vim', {'on': 'EmmetInstall'} 5 + 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 11 + Plug 'hoob3rt/lualine.nvim' 12 + Plug 'romgrk/barbar.nvim' 2 13 " LSP && Completion 3 14 Plug 'neovim/nvim-lspconfig' 4 15 Plug 'hrsh7th/nvim-compe' 5 16 Plug 'jiangmiao/auto-pairs' 6 - Plug 'mattn/emmet-vim', {'on': 'EmmetInstall'} 17 + " Git 18 + Plug 'TimUntersberger/neogit' 19 + Plug 'lewis6991/gitsigns.nvim' 7 20 " File explorer 8 - Plug 'junegunn/fzf.vim' 9 21 Plug 'kyazdani42/nvim-tree.lua' 10 - " Git 11 - Plug 'lewis6991/gitsigns.nvim' 12 - " Theme 13 - Plug 'Smirnov-O/nten.vim' 14 - " Status line && Tab line 15 - Plug 'hoob3rt/lualine.nvim' 16 - Plug 'romgrk/barbar.nvim' 22 + Plug 'nvim-telescope/telescope.nvim' 17 23 " Better syntax hl 18 24 Plug 'sheerun/vim-polyglot' 19 - Plug 'norcalli/nvim-colorizer.lua' 20 - " Other 21 - Plug 'nvim-lua/plenary.nvim' 25 + Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} 22 26 call plug#end() 23 27 24 28 colo codedark 25 29 let mapleader=";" 30 +set termguicolors 26 31 27 32 "== Tab(or spaces) 28 33 set ts=4 sw=4 sts=4 ··· 35 40 com! GoFmt :sil !gofmt -w % 36 41 37 42 "== Configs 43 +luafile $HOME/.config/nvim/lua/plugins.lua 38 44 source $HOME/.config/nvim/vimscript/config.vim 39 45 source $HOME/.config/nvim/vimscript/barbar.vim 40 46 source $HOME/.config/nvim/vimscript/emmet.vim 41 -source /home/sasha/.config/nvim/vimscript/compe.vim 47 +source $HOME/.config/nvim/vimscript/compe.vim 48 +source $HOME/.config/nvim/vimscript/filetypes.vim 42 49 source $HOME/.config/nvim/vimscript/mappings.vim 43 -luafile $HOME/.config/nvim/lua/n-compe.lua 44 -luafile $HOME/.config/nvim/lua/n-lualine.lua 45 -luafile $HOME/.config/nvim/lua/n-nvimtree.lua 46 -luafile $HOME/.config/nvim/lua/n-gitsigns.lua 47 -luafile $HOME/.config/nvim/lua/n-colorizer.lua 48 - 49 -"== Custom setting for another files 50 -au FileType python,elm setl sw=4 ts=4 sts=2 51 -au FileType javascript,html,vue,jst,pug,css,less,scss,json,yaml,lua setl sw=2 ts=2 sts=2 52 -au FileType go setl noet sw=4 ts=4 sts=2
D
config/nvim/lua/n-colorizer.lua
··· 1 -require'colorizer'.setup( 2 - {'*';}, { 3 - mode = 'background'; 4 - RGB = true; -- #RGB hex codes 5 - RRGGBB = true; -- #RRGGBB hex codes 6 - RRGGBBAA = false; -- #RRGGBBAA hex codes 7 - rgb_fn = true; -- CSS rgb() and rgba() functions 8 - hsl_fn = false; -- CSS hsl() and hsla() functions 9 - css = false; -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB 10 - css_fn = true; -- Enable all CSS *functions*: rgb_fn, hsl_fn 11 - names = false; -- "Name" codes like Blue 12 - } 13 -)
D
config/nvim/lua/n-compe.lua
··· 1 -require'lspconfig'.tsserver.setup {} 2 -require'lspconfig'.gopls.setup {} 3 -require'lspconfig'.pyls.setup {} 4 - 5 -require'compe'.setup { 6 - enabled = true, 7 - autocomplete = true, 8 - source = { 9 - path = true, 10 - buffer = true, 11 - nvim_lsp = true, 12 - }; 13 -}
M
config/nvim/lua/n-nvimtree.lua
→ config/nvim/lua/plug/nvimtree.lua
··· 2 2 3 3 -- Settings 4 4 S.nvim_tree_side = "left" 5 -S.nvim_tree_ignore = {".git", ".cache", "node_modules", "venv"} 5 +S.nvim_tree_ignore = {".git", ".cache", "node_modules", "venv", "env"} 6 6 S.nvim_tree_auto_close = 0 7 7 S.nvim_tree_quit_on_open = 0 8 8 S.nvim_tree_width = 24
A
config/nvim/lua/plug/lspconfig.lua
··· 1 +require'lspconfig'.tsserver.setup {} 2 +require'lspconfig'.gopls.setup {} 3 +require'lspconfig'.pyls.setup {}
A
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 +}
M
config/nvim/vimscript/barbar.vim
··· 1 1 " Settings 2 2 let bufferline = get(g:, 'bufferline', {}) 3 -let bufferline.icons = v:false 4 3 let bufferline.icon_close_tab = '🗴' 5 4 6 5 " Mappings ··· 15 14 nno <A-9> :BufferGoto 9<cr> 16 15 nno <C-w> :BufferClose<cr> 17 16 nno <S-x> :BufferClose!<cr> 18 -nno <leader> :BufferMoveNext<cr> 19 -nno <leader> :BufferMovePrevious<cr> 17 +nno <leader><right> :BufferMoveNext<cr> 18 +nno <leader><left> :BufferMovePrevious<cr>
M
config/nvim/vimscript/config.vim
··· 1 1 "== Vim config 2 2 set termguicolors " GUI colors 3 -set nu rnu cul " Line numbers & cursor line highlight 3 +set nu rnu nocul " Line numbers & cursor line highlight 4 4 set nolbr nowrap " Line wrap 5 5 set mouse=a mh " Mouse 6 6 set history=500 " Set history size
A
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
··· 2 2 nno <space> :noh<cr> 3 3 nno <leader>t :Term<cr> 4 4 nno <leader>e :NvimTreeToggle<cr> 5 -nno <leader>; :Files<cr> 5 +nno <leader>; :Telescope fd<cr> 6 +nno <leader>: :Telescope git_files<cr> 7 +nno <leader>g :Neogit<cr> 6 8 7 9 " Buffer 8 10 nno <leader>j :bn<cr>
D
config/ranger/rifle.conf
··· 1 -# vim:ft=cfg 2 - 3 -#== Web 4 -ext x?html?, has google-chrome, X, flag f = google-chrome $@ 5 -ext x?html?, has firefox, X, flag f = firefox -- "$@" 6 - 7 -#== Script 8 -ext py = python -- "$1" 9 -ext js = node -- "$1" 10 -ext sh = bash -- "$1" 11 - 12 -#== Misc 13 -#mime ^text, lable editor = $EDITOR -- "$@" 14 -#mime ^text, label pager = $PAGER -- "$@" 15 - 16 - 17 -!mime ^text, label editor, ext json|csv|tex|py|rb|js|sh = ${EDITOR} -- "$@" 18 -!mime ^text, label pager, ext json|csv|tex|py|rb|js|sh = "$PAGER" -- "$@" 19 -name ^[mM]akefile$ = make 20 - 21 - 22 -#== Video/Audio 23 -mime ^video, has mpv, X, flag f = mpv -- "$@" 24 -mime ^video, has mpv, X, flag f = mpv --fs -- "$@" 25 -mime ^video|audio, has vlc, X, flag f = vlc -- "$@" 26 - 27 -#== Documents 28 -ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@" 29 -ext pdf, has zathura, X, flag f = zathura -- "$@" 30 -ext djvu, has zathura, X, flag f = zathura -- "$@" 31 -ext epub, has zathura, X, flag f = zathura -- "$@" 32 - 33 -#== Images 34 -mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" 35 -mime ^image, has feh, X, flag f = feh -- "$@" 36 -mime ^image, has ristretto, X, flag f = ristretto "$@" 37 -mime ^image, has gimp, X, flag f = gimp -- "$@" 38 -ext xcf, X, flag f = gimp -- "$@" 39 - 40 -#== Archives 41 -ext 7z, has 7z = 7z -p l "$@" | "$PAGER" 42 -ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER" 43 -ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER" 44 -ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@" 45 -ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@" 46 -ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER" 47 -ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done 48 -ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done 49 -ext zip, has unzip = unzip -l "$1" | less 50 -ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done 51 -ext rar, has unrar = unrar l "$1" | less 52 -ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
M
vscode/settings.json
··· 1 1 { 2 2 "update.showReleaseNotes": false, 3 3 "window.menuBarVisibility": "hidden", 4 + "workbench.iconTheme": "vs-seti", 4 5 5 6 "workbench.sideBar.location": "right", 6 7 "workbench.editor.untitled.hint": "hidden", ··· 37 38 "extensions.ignoreRecommendations": true, 38 39 "docker.showStartPage": false, 39 40 "prettier.semi": false, 41 + "javascript.suggestionActions.enabled": false, 42 + "typescript.suggestionActions.enabled": false, 40 43 41 - "emmet.includeLanguages": {"javascript": "javascriptreact"}, 42 - "[javascript]": { 43 - "editor.defaultFormatter": "esbenp.prettier-vscode", 44 - "editor.tabSize": 2, 45 - }, 46 - "[javascriptreact]": { 47 - "editor.defaultFormatter": "esbenp.prettier-vscode", 48 - "editor.tabSize": 2, 49 - }, 50 44 "files.exclude": { 51 45 "**/.cache": true, 52 46 "**/node_modules": true 53 47 }, 54 48 49 + "emmet.includeLanguages": {"javascript": "javascriptreact"}, 50 + "[javascript]": { 51 + "editor.defaultFormatter": "esbenp.prettier-vscode", 52 + "editor.tabSize": 2, 53 + } 55 54 }
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 -E node_modules" 11 - 12 9 ## Oh my zsh 13 10 plugins=(dotenv) 14 11 ZSH_THEME="simple" ··· 20 17 21 18 ## FNM 22 19 eval $(fnm env) 23 -eval $(fnm completions) 24 20 25 21 ## Aliases 26 22 alias cls="clear" cp="cp -r" mkdir="mkdir -p"