merged
This commit is contained in:
		
							parent
							
								
									b5523404ce
								
							
						
					
					
						commit
						79436f8c1d
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | result | ||||||
|  | result/* | ||||||
							
								
								
									
										2
									
								
								config/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								config/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | result | ||||||
|  | result/* | ||||||
|  | @ -37,7 +37,7 @@ | ||||||
|         overlays = extraOverlays ++ (lib.attrValues self.overlays); |         overlays = extraOverlays ++ (lib.attrValues self.overlays); | ||||||
|       }; |       }; | ||||||
|       pkgs  = mkPkgs nixpkgs [ self.overlay ]; |       pkgs  = mkPkgs nixpkgs [ self.overlay ]; | ||||||
|       pkgs' = mkPkgs nixpkgs-unstable []; |       pkgs' = mkPkgs nixpkgs-unstable [ ]; | ||||||
| 
 | 
 | ||||||
|       lib = nixpkgs.lib.extend |       lib = nixpkgs.lib.extend | ||||||
|         (self: super: { my = import ./lib { inherit pkgs inputs; lib = self; }; }); |         (self: super: { my = import ./lib { inherit pkgs inputs; lib = self; }; }); | ||||||
|  |  | ||||||
|  | @ -38,7 +38,7 @@ | ||||||
|  # }; |  # }; | ||||||
| 
 | 
 | ||||||
|   networking.hostName = "curve"; # Define your hostname. |   networking.hostName = "curve"; # Define your hostname. | ||||||
|   #networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant. |   networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant. | ||||||
| 
 | 
 | ||||||
|   time.timeZone = "Australia/Brisbane"; |   time.timeZone = "Australia/Brisbane"; | ||||||
| 
 | 
 | ||||||
|  | @ -62,7 +62,7 @@ | ||||||
| 
 | 
 | ||||||
|   users.users.anish = { |   users.users.anish = { | ||||||
|     isNormalUser = true; |     isNormalUser = true; | ||||||
|     extraGroups = [ "wheel" ];  |     extraGroups = [ "wheel" "video" ];  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Enable the OpenSSH daemon. |   # Enable the OpenSSH daemon. | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../home.nix |     ../home.nix | ||||||
|  |     ../common.nix | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|     ./configuration.nix |     ./configuration.nix | ||||||
|   ]; |   ]; | ||||||
|  | @ -14,16 +15,16 @@ | ||||||
|         discord.enable = true; |         discord.enable = true; | ||||||
|         rofi.enable = true; |         rofi.enable = true; | ||||||
|         # godot.enable = true; |         # godot.enable = true; | ||||||
|         signal.enable = true; |         # signal.enable = true; | ||||||
|       }; |       }; | ||||||
|       browsers = { |       browsers = { | ||||||
|         default = "brave"; |         default = "firefox"; | ||||||
|         brave.enable = true; |         brave.enable = false; | ||||||
|         firefox.enable = true; |         firefox.enable = true; | ||||||
|         qutebrowser.enable = true; |         qutebrowser.enable = true; | ||||||
|       }; |       }; | ||||||
|       gaming = { |       gaming = { | ||||||
|         steam.enable = true; |         # steam.enable = true; | ||||||
|         # emulators.enable = true; |         # emulators.enable = true; | ||||||
|         # emulators.psx.enable = true; |         # emulators.psx.enable = true; | ||||||
|       }; |       }; | ||||||
|  | @ -33,38 +34,38 @@ | ||||||
|         graphics.enable = true; |         graphics.enable = true; | ||||||
|         mpv.enable = true; |         mpv.enable = true; | ||||||
|         recording.enable = true; |         recording.enable = true; | ||||||
|         spotify.enable = true; |         spotify.enable = false; | ||||||
|       }; |       }; | ||||||
|       term = { |       term = { | ||||||
|         default = "xst"; |         default = "xst"; | ||||||
|         st.enable = true; |         st.enable = true; | ||||||
|       }; |       }; | ||||||
|       vm = { |       vm = { | ||||||
|         qemu.enable = true; |         qemu.enable = false; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|     dev = { |     dev = { | ||||||
|       node.enable = true; |       node.enable = false; | ||||||
|       rust.enable = true; |       rust.enable = false; | ||||||
|       python.enable = true; |       python.enable = true; | ||||||
|     }; |     }; | ||||||
|     editors = { |     editors = { | ||||||
|       default = "emacs"; |       default = "vim"; | ||||||
|       emacs.enable = true; |       #emacs.enable = true; | ||||||
|       #vim.enable = true; |       vim.enable = true; | ||||||
|     }; |     }; | ||||||
|     shell = { |     shell = { | ||||||
|       adl.enable = true; |       adl.enable = true; | ||||||
|       vaultwarden.enable = true; |       vaultwarden.enable = false; | ||||||
|       direnv.enable = true; |       direnv.enable = true; | ||||||
|       git.enable    = true; |       git.enable    = true; | ||||||
|       gnupg.enable  = true; |       gnupg.enable  = true; | ||||||
|       tmux.enable   = true; |       tmux.enable   = false; | ||||||
|       zsh.enable    = true; |       zsh.enable    = false; | ||||||
|     }; |     }; | ||||||
|     services = { |     services = { | ||||||
|       ssh.enable = true; |       ssh.enable = true; | ||||||
|       docker.enable = true; |       docker.enable = false; | ||||||
|       # Needed occasionally to help the parental units with PC problems |       # Needed occasionally to help the parental units with PC problems | ||||||
|       # teamviewer.enable = true; |       # teamviewer.enable = true; | ||||||
|     }; |     }; | ||||||
|  | @ -76,13 +77,14 @@ | ||||||
|   programs.ssh.startAgent = true; |   programs.ssh.startAgent = true; | ||||||
|   # services.openssh.startWhenNeeded = true; |   # services.openssh.startWhenNeeded = true; | ||||||
| 
 | 
 | ||||||
|   networking.networkmanager.enable = true; |   # networking.networkmanager.enable = true; | ||||||
|   # The global useDHCP flag is deprecated, therefore explicitly set to false |   # The global useDHCP flag is deprecated, therefore explicitly set to false | ||||||
|   # here. Per-interface useDHCP will be mandatory in the future, so this |   # here. Per-interface useDHCP will be mandatory in the future, so this | ||||||
|   # generated config replicates the default behaviour. |   # generated config replicates the default behaviour. | ||||||
|   networking.useDHCP = false; |   networking.useDHCP = false; | ||||||
| 	programs.neovim.enable = true; | 	programs.neovim.enable = true; | ||||||
| 
 | 
 | ||||||
|  |   programs.light.enable = true; | ||||||
| 
 | 
 | ||||||
|   ## Personal backups |   ## Personal backups | ||||||
|   # Syncthing is a bit heavy handed for my needs, so rsync to my NAS instead. |   # Syncthing is a bit heavy handed for my needs, so rsync to my NAS instead. | ||||||
|  |  | ||||||
|  | @ -33,247 +33,248 @@ in { | ||||||
|     #   '' |     #   '' | ||||||
|     # ]; |     # ]; | ||||||
| 
 | 
 | ||||||
|     extraConfig = '' |     #home-manager.programs.nvim = { | ||||||
|       set tabstop=2 |     #  extraConfig = '' | ||||||
|       set showmatch |     #    set tabstop=2 | ||||||
|       set shiftwidth=2 |     #    set showmatch | ||||||
|       set noexpandtab |     #    set shiftwidth=2 | ||||||
|       set autoindent |     #    set noexpandtab | ||||||
|  |     #    set autoindent | ||||||
|  |     #     | ||||||
|  |     #    set foldmethod=indent   " fold based on indent | ||||||
|  |     #    set number | ||||||
|  |     #    set nocompatible | ||||||
|  |     #    set relativenumber | ||||||
|  |     #    set showtabline=2 | ||||||
|  |     #    set autowriteall | ||||||
|  |     #    		syntax on | ||||||
|  |     #    set list lcs=tab:\|\  | ||||||
|  |     #    filetype plugin on | ||||||
|  |     #     | ||||||
|  |     #    set termguicolors | ||||||
|  |     #    let ayucolor="dark" | ||||||
|  |     #    colorscheme ayu | ||||||
|  |     #     | ||||||
|  |     #    " window | ||||||
|  |     #    nmap <leader>wh  :topleft  vnew<CR> | ||||||
|  |     #    nmap <leader>wl :botright vnew<CR> | ||||||
|  |     #    nmap <leader>wk    :topleft  new<CR> | ||||||
|  |     #    nmap <leader>wj  :botright new<CR> | ||||||
|  |     #     | ||||||
|  |     #    let mapleader = "\<Space>" | ||||||
|  |     #     | ||||||
|  |     #    " lightline colorscheme | ||||||
|  |     #    let g:lightline = { | ||||||
|  |     #    			\ 'colorscheme': 'seoul256', | ||||||
|  |     #    			\ } | ||||||
|  |     #     | ||||||
|  |     #    " moving splits with vim movements. | ||||||
|  |     #    :tnoremap <A-h> <C-\><C-N><C-w>h | ||||||
|  |     #    :tnoremap <A-j> <C-\><C-N><C-w>j | ||||||
|  |     #    :tnoremap <A-k> <C-\><C-N><C-w>k | ||||||
|  |     #    :tnoremap <A-l> <C-\><C-N><C-w>l | ||||||
|  |     #    :inoremap <A-h> <C-\><C-N><C-w>h | ||||||
|  |     #    :inoremap <A-j> <C-\><C-N><C-w>j | ||||||
|  |     #    :inoremap <A-k> <C-\><C-N><C-w>k | ||||||
|  |     #    :inoremap <A-l> <C-\><C-N><C-w>l | ||||||
|  |     #    :nnoremap <A-h> <leader>h | ||||||
|  |     #    :nnoremap <A-j> <leader>j | ||||||
|  |     #    :nnoremap <A-k> <leader>k | ||||||
|  |     #    :nnoremap <A-l> <leader>l | ||||||
|  |     #    :nnoremap <F5> "=strftime("%Y-%m-%d %H:%M:") | ||||||
|  |     #    :inoremap <F5> <C-R>=strftime("%Y-%m-%d %H:%M:") | ||||||
|  |     #     | ||||||
|  |     #    " exit normal mode in terminal | ||||||
|  |     #    :tnoremap <C-n> <C-\><C-n> | ||||||
|  |     #     | ||||||
|  |     #    let g:syntastic_always_populate_loc_list = 1 | ||||||
|  |     #    let g:syntastic_auto_loc_list = 1 | ||||||
|  |     #    let g:syntastic_check_on_open = 1 | ||||||
|  |     #    let g:syntastic_check_on_wq = 0 | ||||||
|  |     #     | ||||||
|  |     #    let g:rainbow_active = 0 | ||||||
|  |     #    autocmd BufReadPost,BufNewFile c,py,nix RainbowParenthesesToggleAll | ||||||
|  |     #     | ||||||
|  |     #    " keyboard commands | ||||||
|  |     #    map <leader>t :NERDTreeToggle<CR> | ||||||
|  |     #    map <leader>s :w<CR> | ||||||
|  |     #    map <leader>q :wq<CR> | ||||||
|  |     #    map <leader>r :RainbowParenthesesToggleAll<CR> | ||||||
|  |     #    map <leader>zs :ZettelSearch<CR> | ||||||
|  |     #    map <leader>zo :ZettelOpen<CR> | ||||||
|  |     #    map <leader>zn :ZettelNew<CR> | ||||||
|  |     #     | ||||||
|  |     #     | ||||||
|  |     #    " NERDTree  | ||||||
|  |     #    " open on directory | ||||||
|  |     #    autocmd StdinReadPre * let s:std_in=1 | ||||||
|  |     #     | ||||||
|  |     #    " coc | ||||||
|  |     #    " | ||||||
|  |     #    " if hidden is not set, TextEdit might fail. | ||||||
|  |     #    set hidden | ||||||
|  |     #     | ||||||
|  |     #    " Some servers have issues with backup files, see #649 | ||||||
|  |     #    set nobackup | ||||||
|  |     #    set nowritebackup | ||||||
|  |     #     | ||||||
|  |     #    " Better display for messages | ||||||
|  |     #    set cmdheight=2 | ||||||
|  |     #     | ||||||
|  |     #    " You will have bad experience for diagnostic messages when it's default 4000. | ||||||
|  |     #    set updatetime=300 | ||||||
|  |     #     | ||||||
|  |     #    " don't give |ins-completion-menu| messages. | ||||||
|  |     #    set shortmess+=c | ||||||
|  |     #     | ||||||
|  |     #    " always show signcolumns | ||||||
|  |     #    set signcolumn=yes | ||||||
|  |     #     | ||||||
|  |     #    " Use tab for trigger completion with characters ahead and navigate. | ||||||
|  |     #    " Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. | ||||||
|  |     #    inoremap <silent><expr> <TAB> | ||||||
|  |     #    			\ pumvisible() ? "\<C-n>" : | ||||||
|  |     #    			\ <SID>check_back_space() ? "\<TAB>" : | ||||||
|  |     #    			\ coc#refresh() | ||||||
|  |     #    inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | ||||||
|  |     #     | ||||||
|  |     #    function! s:check_back_space() abort | ||||||
|  |     #    	let col = col('.') - 1 | ||||||
|  |     #    	return !col || getline('.')[col - 1]  =~# '\s' | ||||||
|  |     #    endfunction | ||||||
|  |     #     | ||||||
|  |     #    " Use <c-space> to trigger completion. | ||||||
|  |     #    inoremap <silent><expr> <c-space> coc#refresh() | ||||||
|  |     #     | ||||||
|  |     #    " Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. | ||||||
|  |     #    " Coc only does snippet and additional edit on confirm. | ||||||
|  |     #    inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" | ||||||
|  |     #    " Or use `complete_info` if your vim support it, like: | ||||||
|  |     #    " inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>" | ||||||
|  |     #     | ||||||
|  |     #    " Use `[g` and `]g` to navigate diagnostics | ||||||
|  |     #    nmap <silent> [g <Plug>(coc-diagnostic-prev) | ||||||
|  |     #    nmap <silent> ]g <Plug>(coc-diagnostic-next) | ||||||
|  |     #     | ||||||
|  |     #    " Remap keys for gotos | ||||||
|  |     #    nmap <silent> gd <Plug>(coc-definition) | ||||||
|  |     #    nmap <silent> gy <Plug>(coc-type-definition) | ||||||
|  |     #    nmap <silent> gi <Plug>(coc-implementation) | ||||||
|  |     #    nmap <silent> gr <Plug>(coc-references) | ||||||
|  |     #     | ||||||
|  |     #    " Use K to show documentation in preview window | ||||||
|  |     #    nnoremap <silent> K :call <SID>show_documentation()<CR> | ||||||
|  |     #     | ||||||
|  |     #    function! s:show_documentation() | ||||||
|  |     #    	if (index(['vim','help'], &filetype) >= 0) | ||||||
|  |     #    		execute 'h '.expand('<cword>') | ||||||
|  |     #    	else | ||||||
|  |     #    		call CocAction('doHover') | ||||||
|  |     #    	endif | ||||||
|  |     #    endfunction | ||||||
|  |     #     | ||||||
|  |     #    " Highlight symbol under cursor on CursorHold | ||||||
|  |     #    autocmd CursorHold * silent call CocActionAsync('highlight') | ||||||
|  |     #     | ||||||
|  |     #    " Remap for rename current word | ||||||
|  |     #    nmap <leader>rn <Plug>(coc-rename) | ||||||
|  |     #     | ||||||
|  |     #    " Remap for format selected region | ||||||
|  |     #    xmap <leader>f  <Plug>(coc-format-selected) | ||||||
|  |     #    nmap <leader>f  <Plug>(coc-format-selected) | ||||||
|  |     #     | ||||||
|  |     #    augroup mygroup | ||||||
|  |     #    	autocmd! | ||||||
|  |     #    	" Setup formatexpr specified filetype(s). | ||||||
|  |     #    	autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') | ||||||
|  |     #    	" Update signature help on jump placeholder | ||||||
|  |     #    	autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') | ||||||
|  |     #    augroup end | ||||||
|  |     #     | ||||||
|  |     #    " Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph | ||||||
|  |     #    xmap <leader>a  <Plug>(coc-codeaction-selected) | ||||||
|  |     #    nmap <leader>a  <Plug>(coc-codeaction-selected) | ||||||
|  |     #     | ||||||
|  |     #    " Remap for do codeAction of current line | ||||||
|  |     #    nmap <leader>ac  <Plug>(coc-codeaction) | ||||||
|  |     #    " Fix autofix problem of current line | ||||||
|  |     #    nmap <leader>qf  <Plug>(coc-fix-current) | ||||||
|  |     #     | ||||||
|  |     #    " Create mappings for function text object, requires document symbols feature of languageserver. | ||||||
|  |     #    xmap if <Plug>(coc-funcobj-i) | ||||||
|  |     #    xmap af <Plug>(coc-funcobj-a) | ||||||
|  |     #    omap if <Plug>(coc-funcobj-i) | ||||||
|  |     #    omap af <Plug>(coc-funcobj-a) | ||||||
|  |     #     | ||||||
|  |     #    " Use <C-d> for select selections ranges, needs server support, like: coc-tsserver, coc-python | ||||||
|  |     #    nmap <silent> <C-d> <Plug>(coc-range-select) | ||||||
|  |     #    xmap <silent> <C-d> <Plug>(coc-range-select) | ||||||
|  |     #     | ||||||
|  |     #    " Use `:Format` to format current buffer | ||||||
|  |     #    command! -nargs=0 Format :call CocAction('format') | ||||||
|  |     #     | ||||||
|  |     #    " Use `:Fold` to fold current buffer | ||||||
|  |     #    command! -nargs=? Fold :call     CocAction('fold', <f-args>) | ||||||
|  |     #     | ||||||
|  |     #    " use `:OR` for organize import of current buffer | ||||||
|  |     #    command! -nargs=0 OR   :call     CocAction('runCommand', 'editor.action.organizeImport') | ||||||
|  |     #     | ||||||
|  |     #    " Add status line support, for integration with other plugin, checkout `:h coc-status` | ||||||
|  |     #    " set statusline^=%{coc#status()}%{get(b:,'coc_current_function',"")} | ||||||
|  |     #     | ||||||
|  |     #    " Using CocList | ||||||
|  |     #    " Show all diagnostics | ||||||
|  |     #    nnoremap <silent> <space>a  :<C-u>CocList diagnostics<cr> | ||||||
|  |     #    " Manage extensions | ||||||
|  |     #    nnoremap <silent> <space>e  :<C-u>CocList extensions<cr> | ||||||
|  |     #    " Show commands | ||||||
|  |     #    nnoremap <silent> <space>c  :<C-u>CocList commands<cr> | ||||||
|  |     #    " Find symbol of current document | ||||||
|  |     #    nnoremap <silent> <space>o  :<C-u>CocList outline<cr> | ||||||
|  |     #    " Search workspace symbols | ||||||
|  |     #    nnoremap <silent> <space>s  :<C-u>CocList -I symbols<cr> | ||||||
|  |     #    " Do default action for next item. | ||||||
|  |     #    nnoremap <silent> <space>j  :<C-u>CocNext<CR> | ||||||
|  |     #    " Do default action for previous item. | ||||||
|  |     #    nnoremap <silent> <space>k  :<C-u>CocPrev<CR> | ||||||
|  |     #    " Resume latest coc list | ||||||
|  |     #    nnoremap <silent> <space>p  :<C-u>CocListResume<CR> | ||||||
|  |     #     | ||||||
|  |     #    au BufNewFile,BufRead *.frag,*.vert,*.fp,*.vp,*.glsl setf glsl | ||||||
|  |     #  ''; | ||||||
| 
 | 
 | ||||||
|       set foldmethod=indent   " fold based on indent |     #  extraPackages = with pkgs.vimPlugins; [ | ||||||
|       set number |     #    vim-nix | ||||||
|       set nocompatible |     #    fzf-vim | ||||||
|       set relativenumber |     #    vim-elixir | ||||||
|       set showtabline=2 |     #    emmet-vim | ||||||
|       set autowriteall |     #    nerdtree | ||||||
|       		syntax on |     #    goyo-vim | ||||||
|       set list lcs=tab:\|\  |     #    vim-sneak | ||||||
|       filetype plugin on |     #    lightline-vim | ||||||
|        |     #    csv-vim | ||||||
|       set termguicolors |     #    vimwiki | ||||||
|       let ayucolor="dark" |     #    coc-nvim | ||||||
|       " colorscheme ayu |     #    coc-json | ||||||
|        |     #    coc-python | ||||||
|       " window |     #    coc-pairs | ||||||
|       nmap <leader>wh  :topleft  vnew<CR> |     #    coc-emmet | ||||||
|       nmap <leader>wl :botright vnew<CR> |     #    emmet-vim | ||||||
|       nmap <leader>wk    :topleft  new<CR> |     #    LanguageClient-neovim | ||||||
|       nmap <leader>wj  :botright new<CR> |     #    ayu-vim | ||||||
|        |     #    rainbow_parentheses-vim | ||||||
|       let mapleader = "\<Space>" |     #    vim-surround | ||||||
|        |     #    vim-fugitive | ||||||
|       " lightline colorscheme |     #    #iron-nvim | ||||||
|       let g:lightline = { |     #    #nvim-colorizer | ||||||
|       			\ 'colorscheme': 'seoul256', |     #    vim-devicons | ||||||
|       			\ } |     #    # testing | ||||||
|        |     #    #vim-processing | ||||||
|       " moving splits with vim movements. |     #    #vim-tidal | ||||||
|       :tnoremap <A-h> <C-\><C-N><C-w>h |     #    taskwiki | ||||||
|       :tnoremap <A-j> <C-\><C-N><C-w>j |     #    #vim-zettel | ||||||
|       :tnoremap <A-k> <C-\><C-N><C-w>k |     #  ]; | ||||||
|       :tnoremap <A-l> <C-\><C-N><C-w>l |     #}; | ||||||
|       :inoremap <A-h> <C-\><C-N><C-w>h |  | ||||||
|       :inoremap <A-j> <C-\><C-N><C-w>j |  | ||||||
|       :inoremap <A-k> <C-\><C-N><C-w>k |  | ||||||
|       :inoremap <A-l> <C-\><C-N><C-w>l |  | ||||||
|       :nnoremap <A-h> <leader>h |  | ||||||
|       :nnoremap <A-j> <leader>j |  | ||||||
|       :nnoremap <A-k> <leader>k |  | ||||||
|       :nnoremap <A-l> <leader>l |  | ||||||
|       :nnoremap <F5> "=strftime("%Y-%m-%d %H:%M:") |  | ||||||
|       :inoremap <F5> <C-R>=strftime("%Y-%m-%d %H:%M:") |  | ||||||
|        |  | ||||||
|       " exit normal mode in terminal |  | ||||||
|       :tnoremap <C-n> <C-\><C-n> |  | ||||||
|        |  | ||||||
|       let g:syntastic_always_populate_loc_list = 1 |  | ||||||
|       let g:syntastic_auto_loc_list = 1 |  | ||||||
|       let g:syntastic_check_on_open = 1 |  | ||||||
|       let g:syntastic_check_on_wq = 0 |  | ||||||
|        |  | ||||||
|       let g:rainbow_active = 0 |  | ||||||
|       autocmd BufReadPost,BufNewFile c,py,nix RainbowParenthesesToggleAll |  | ||||||
|        |  | ||||||
|       " keyboard commands |  | ||||||
|       map <leader>t :NERDTreeToggle<CR> |  | ||||||
|       map <leader>s :w<CR> |  | ||||||
|       map <leader>q :wq<CR> |  | ||||||
|       map <leader>r :RainbowParenthesesToggleAll<CR> |  | ||||||
|       map <leader>zs :ZettelSearch<CR> |  | ||||||
|       map <leader>zo :ZettelOpen<CR> |  | ||||||
|       map <leader>zn :ZettelNew<CR> |  | ||||||
|        |  | ||||||
|        |  | ||||||
|       " NERDTree  |  | ||||||
|       " open on directory |  | ||||||
|       autocmd StdinReadPre * let s:std_in=1 |  | ||||||
|        |  | ||||||
|       " coc |  | ||||||
|       " |  | ||||||
|       " if hidden is not set, TextEdit might fail. |  | ||||||
|       set hidden |  | ||||||
|        |  | ||||||
|       " Some servers have issues with backup files, see #649 |  | ||||||
|       set nobackup |  | ||||||
|       set nowritebackup |  | ||||||
|        |  | ||||||
|       " Better display for messages |  | ||||||
|       set cmdheight=2 |  | ||||||
|        |  | ||||||
|       " You will have bad experience for diagnostic messages when it's default 4000. |  | ||||||
|       set updatetime=300 |  | ||||||
|        |  | ||||||
|       " don't give |ins-completion-menu| messages. |  | ||||||
|       set shortmess+=c |  | ||||||
|        |  | ||||||
|       " always show signcolumns |  | ||||||
|       set signcolumn=yes |  | ||||||
|        |  | ||||||
|       " Use tab for trigger completion with characters ahead and navigate. |  | ||||||
|       " Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. |  | ||||||
|       inoremap <silent><expr> <TAB> |  | ||||||
|       			\ pumvisible() ? "\<C-n>" : |  | ||||||
|       			\ <SID>check_back_space() ? "\<TAB>" : |  | ||||||
|       			\ coc#refresh() |  | ||||||
|       inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" |  | ||||||
|        |  | ||||||
|       function! s:check_back_space() abort |  | ||||||
|       	let col = col('.') - 1 |  | ||||||
|       	return !col || getline('.')[col - 1]  =~# '\s' |  | ||||||
|       endfunction |  | ||||||
|        |  | ||||||
|       " Use <c-space> to trigger completion. |  | ||||||
|       inoremap <silent><expr> <c-space> coc#refresh() |  | ||||||
|        |  | ||||||
|       " Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. |  | ||||||
|       " Coc only does snippet and additional edit on confirm. |  | ||||||
|       inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" |  | ||||||
|       " Or use `complete_info` if your vim support it, like: |  | ||||||
|       " inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>" |  | ||||||
|        |  | ||||||
|       " Use `[g` and `]g` to navigate diagnostics |  | ||||||
|       nmap <silent> [g <Plug>(coc-diagnostic-prev) |  | ||||||
|       nmap <silent> ]g <Plug>(coc-diagnostic-next) |  | ||||||
|        |  | ||||||
|       " Remap keys for gotos |  | ||||||
|       nmap <silent> gd <Plug>(coc-definition) |  | ||||||
|       nmap <silent> gy <Plug>(coc-type-definition) |  | ||||||
|       nmap <silent> gi <Plug>(coc-implementation) |  | ||||||
|       nmap <silent> gr <Plug>(coc-references) |  | ||||||
|        |  | ||||||
|       " Use K to show documentation in preview window |  | ||||||
|       nnoremap <silent> K :call <SID>show_documentation()<CR> |  | ||||||
|        |  | ||||||
|       function! s:show_documentation() |  | ||||||
|       	if (index(['vim','help'], &filetype) >= 0) |  | ||||||
|       		execute 'h '.expand('<cword>') |  | ||||||
|       	else |  | ||||||
|       		call CocAction('doHover') |  | ||||||
|       	endif |  | ||||||
|       endfunction |  | ||||||
|        |  | ||||||
|       " Highlight symbol under cursor on CursorHold |  | ||||||
|       autocmd CursorHold * silent call CocActionAsync('highlight') |  | ||||||
|        |  | ||||||
|       " Remap for rename current word |  | ||||||
|       nmap <leader>rn <Plug>(coc-rename) |  | ||||||
|        |  | ||||||
|       " Remap for format selected region |  | ||||||
|       xmap <leader>f  <Plug>(coc-format-selected) |  | ||||||
|       nmap <leader>f  <Plug>(coc-format-selected) |  | ||||||
|        |  | ||||||
|       augroup mygroup |  | ||||||
|       	autocmd! |  | ||||||
|       	" Setup formatexpr specified filetype(s). |  | ||||||
|       	autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') |  | ||||||
|       	" Update signature help on jump placeholder |  | ||||||
|       	autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') |  | ||||||
|       augroup end |  | ||||||
|        |  | ||||||
|       " Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph |  | ||||||
|       xmap <leader>a  <Plug>(coc-codeaction-selected) |  | ||||||
|       nmap <leader>a  <Plug>(coc-codeaction-selected) |  | ||||||
|        |  | ||||||
|       " Remap for do codeAction of current line |  | ||||||
|       nmap <leader>ac  <Plug>(coc-codeaction) |  | ||||||
|       " Fix autofix problem of current line |  | ||||||
|       nmap <leader>qf  <Plug>(coc-fix-current) |  | ||||||
|        |  | ||||||
|       " Create mappings for function text object, requires document symbols feature of languageserver. |  | ||||||
|       xmap if <Plug>(coc-funcobj-i) |  | ||||||
|       xmap af <Plug>(coc-funcobj-a) |  | ||||||
|       omap if <Plug>(coc-funcobj-i) |  | ||||||
|       omap af <Plug>(coc-funcobj-a) |  | ||||||
|        |  | ||||||
|       " Use <C-d> for select selections ranges, needs server support, like: coc-tsserver, coc-python |  | ||||||
|       nmap <silent> <C-d> <Plug>(coc-range-select) |  | ||||||
|       xmap <silent> <C-d> <Plug>(coc-range-select) |  | ||||||
|        |  | ||||||
|       " Use `:Format` to format current buffer |  | ||||||
|       command! -nargs=0 Format :call CocAction('format') |  | ||||||
|        |  | ||||||
|       " Use `:Fold` to fold current buffer |  | ||||||
|       command! -nargs=? Fold :call     CocAction('fold', <f-args>) |  | ||||||
|        |  | ||||||
|       " use `:OR` for organize import of current buffer |  | ||||||
|       command! -nargs=0 OR   :call     CocAction('runCommand', 'editor.action.organizeImport') |  | ||||||
|        |  | ||||||
|       " Add status line support, for integration with other plugin, checkout `:h coc-status` |  | ||||||
|       " set statusline^=%{coc#status()}%{get(b:,'coc_current_function',"")} |  | ||||||
|        |  | ||||||
|       " Using CocList |  | ||||||
|       " Show all diagnostics |  | ||||||
|       nnoremap <silent> <space>a  :<C-u>CocList diagnostics<cr> |  | ||||||
|       " Manage extensions |  | ||||||
|       nnoremap <silent> <space>e  :<C-u>CocList extensions<cr> |  | ||||||
|       " Show commands |  | ||||||
|       nnoremap <silent> <space>c  :<C-u>CocList commands<cr> |  | ||||||
|       " Find symbol of current document |  | ||||||
|       nnoremap <silent> <space>o  :<C-u>CocList outline<cr> |  | ||||||
|       " Search workspace symbols |  | ||||||
|       nnoremap <silent> <space>s  :<C-u>CocList -I symbols<cr> |  | ||||||
|       " Do default action for next item. |  | ||||||
|       nnoremap <silent> <space>j  :<C-u>CocNext<CR> |  | ||||||
|       " Do default action for previous item. |  | ||||||
|       nnoremap <silent> <space>k  :<C-u>CocPrev<CR> |  | ||||||
|       " Resume latest coc list |  | ||||||
|       nnoremap <silent> <space>p  :<C-u>CocListResume<CR> |  | ||||||
|        |  | ||||||
|       au BufNewFile,BufRead *.frag,*.vert,*.fp,*.vp,*.glsl setf glsl |  | ||||||
|     ''; |  | ||||||
| 
 |  | ||||||
|     extraPackages = with pkgs.vimPlugins; [ |  | ||||||
|       vim-nix |  | ||||||
|       fzf-vim |  | ||||||
|       vim-elixir |  | ||||||
|       emmet-vim |  | ||||||
|       nerdtree |  | ||||||
|       goyo-vim |  | ||||||
|       vim-sneak |  | ||||||
|       lightline-vim |  | ||||||
|       csv-vim |  | ||||||
|       vimwiki |  | ||||||
|       coc-nvim |  | ||||||
|       coc-json |  | ||||||
|       coc-python |  | ||||||
|       coc-pairs |  | ||||||
|       coc-emmet |  | ||||||
|       emmet-vim |  | ||||||
|       LanguageClient-neovim |  | ||||||
|       ayu-vim |  | ||||||
|       rainbow_parentheses-vim |  | ||||||
|       vim-surround |  | ||||||
|       vim-fugitive |  | ||||||
|       #iron-nvim |  | ||||||
|       #nvim-colorizer |  | ||||||
|       vim-devicons |  | ||||||
|       # testing |  | ||||||
|       #vim-processing |  | ||||||
|       #vim-tidal |  | ||||||
|       taskwiki |  | ||||||
|       #vim-zettel |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| 
 | 
 | ||||||
|     environment.shellAliases = { |     environment.shellAliases = { | ||||||
|       vim = "nvim"; |       vim = "nvim"; | ||||||
|  |  | ||||||
							
								
								
									
										261
									
								
								modules/nvim.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										261
									
								
								modules/nvim.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,261 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	#nvim | ||||||
|  |   {  | ||||||
|  |     environment.variables.EDITOR = "nvim"; | ||||||
|  |     environment.shellAliases = { | ||||||
|  |       k = "vim -c :VimwikiIndex"; | ||||||
|  |       kz = "vim -c :VimwikiIndex -c :ZettelNew"; | ||||||
|  |     }; | ||||||
|  |     environment.systemPackages = with pkgs; [  | ||||||
|  |       nodejs | ||||||
|  |   ( neovim.override { | ||||||
|  |   vimAlias = true; | ||||||
|  |   configure = { | ||||||
|  | 		packages.myPlugins = with pkgs.vimPlugins; { | ||||||
|  | 			start = [  | ||||||
|  | 				vim-nix | ||||||
|  | 				fzf-vim | ||||||
|  | 				vim-elixir | ||||||
|  | 				emmet-vim | ||||||
|  | 				nerdtree | ||||||
|  | 				goyo-vim | ||||||
|  | 				vim-sneak | ||||||
|  | 				lightline-vim | ||||||
|  | 				csv-vim | ||||||
|  |   				vimwiki | ||||||
|  |   				coc-nvim | ||||||
|  |   				coc-json | ||||||
|  |   				coc-python | ||||||
|  |   				coc-pairs | ||||||
|  |   				coc-emmet | ||||||
|  |   				emmet-vim | ||||||
|  |   				LanguageClient-neovim | ||||||
|  |   				ayu-vim | ||||||
|  |   				rainbow_parentheses-vim | ||||||
|  |   				vim-surround | ||||||
|  |   				vim-fugitive | ||||||
|  |   				#iron-nvim | ||||||
|  |   				#nvim-colorizer | ||||||
|  |   				vim-devicons | ||||||
|  |   				# testing | ||||||
|  |   				#vim-processing | ||||||
|  |   				#vim-tidal | ||||||
|  |   				taskwiki | ||||||
|  |   				#vim-zettel | ||||||
|  |   				#vimwiki-sync | ||||||
|  | 			]; | ||||||
|  | 		}; | ||||||
|  |     customRC = '' | ||||||
|  | 	set tabstop=2 | ||||||
|  | 	set showmatch | ||||||
|  | 	set shiftwidth=2 | ||||||
|  | 	set noexpandtab | ||||||
|  | 	set autoindent | ||||||
|  | 
 | ||||||
|  | 	set foldmethod=indent   " fold based on indent | ||||||
|  | 	set number | ||||||
|  | 	set nocompatible | ||||||
|  | 	set relativenumber | ||||||
|  | 	set showtabline=2 | ||||||
|  | 	set autowriteall | ||||||
|  | 			syntax on | ||||||
|  | 	set list lcs=tab:\|\  | ||||||
|  | 	filetype plugin on | ||||||
|  | 
 | ||||||
|  | 	set termguicolors | ||||||
|  | 	let ayucolor="dark" | ||||||
|  | 	colorscheme ayu | ||||||
|  | 
 | ||||||
|  | 	" window | ||||||
|  | 	nmap <leader>wh  :topleft  vnew<CR> | ||||||
|  | 	nmap <leader>wl :botright vnew<CR> | ||||||
|  | 	nmap <leader>wk    :topleft  new<CR> | ||||||
|  | 	nmap <leader>wj  :botright new<CR> | ||||||
|  | 
 | ||||||
|  | 			let mapleader = "\<Space>" | ||||||
|  | 
 | ||||||
|  | 			" lightline colorscheme | ||||||
|  | 			let g:lightline = { | ||||||
|  | 						\ 'colorscheme': 'seoul256', | ||||||
|  | 						\ } | ||||||
|  | 
 | ||||||
|  | 			" moving splits with vim movements. | ||||||
|  | 			:tnoremap <A-h> <C-\><C-N><C-w>h | ||||||
|  | 			:tnoremap <A-j> <C-\><C-N><C-w>j | ||||||
|  | 			:tnoremap <A-k> <C-\><C-N><C-w>k | ||||||
|  | 			:tnoremap <A-l> <C-\><C-N><C-w>l | ||||||
|  | 			:inoremap <A-h> <C-\><C-N><C-w>h | ||||||
|  | 			:inoremap <A-j> <C-\><C-N><C-w>j | ||||||
|  | 			:inoremap <A-k> <C-\><C-N><C-w>k | ||||||
|  | 			:inoremap <A-l> <C-\><C-N><C-w>l | ||||||
|  | 			:nnoremap <A-h> <leader>h | ||||||
|  | 			:nnoremap <A-j> <leader>j | ||||||
|  | 			:nnoremap <A-k> <leader>k | ||||||
|  | 			:nnoremap <A-l> <leader>l | ||||||
|  | 			:nnoremap <F5> "=strftime("%Y-%m-%d %H:%M:") | ||||||
|  | 			:inoremap <F5> <C-R>=strftime("%Y-%m-%d %H:%M:") | ||||||
|  | 
 | ||||||
|  |       " exit normal mode in terminal | ||||||
|  |       :tnoremap <C-n> <C-\><C-n> | ||||||
|  | 
 | ||||||
|  | 			let g:syntastic_always_populate_loc_list = 1 | ||||||
|  | 			let g:syntastic_auto_loc_list = 1 | ||||||
|  | 			let g:syntastic_check_on_open = 1 | ||||||
|  | 			let g:syntastic_check_on_wq = 0 | ||||||
|  | 
 | ||||||
|  |       let g:rainbow_active = 0 | ||||||
|  |       autocmd BufReadPost,BufNewFile c,py,nix RainbowParenthesesToggleAll | ||||||
|  | 
 | ||||||
|  | 			" keyboard commands | ||||||
|  | 			map <leader>t :NERDTreeToggle<CR> | ||||||
|  | 			map <leader>s :w<CR> | ||||||
|  | 			map <leader>q :wq<CR> | ||||||
|  |       map <leader>r :RainbowParenthesesToggleAll<CR> | ||||||
|  |       map <leader>zs :ZettelSearch<CR> | ||||||
|  |       map <leader>zo :ZettelOpen<CR> | ||||||
|  |       map <leader>zn :ZettelNew<CR> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 			" NERDTree  | ||||||
|  | 			" open on directory | ||||||
|  | 			autocmd StdinReadPre * let s:std_in=1 | ||||||
|  | 
 | ||||||
|  | 			" coc | ||||||
|  | 			" | ||||||
|  | 			" if hidden is not set, TextEdit might fail. | ||||||
|  | 			set hidden | ||||||
|  | 
 | ||||||
|  | 			" Some servers have issues with backup files, see #649 | ||||||
|  | 			set nobackup | ||||||
|  | 			set nowritebackup | ||||||
|  | 
 | ||||||
|  | 			" Better display for messages | ||||||
|  | 			set cmdheight=2 | ||||||
|  | 
 | ||||||
|  | 			" You will have bad experience for diagnostic messages when it's default 4000. | ||||||
|  | 			set updatetime=300 | ||||||
|  | 
 | ||||||
|  | 			" don't give |ins-completion-menu| messages. | ||||||
|  | 			set shortmess+=c | ||||||
|  | 
 | ||||||
|  | 			" always show signcolumns | ||||||
|  | 			set signcolumn=yes | ||||||
|  | 
 | ||||||
|  | 			" Use tab for trigger completion with characters ahead and navigate. | ||||||
|  | 			" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin. | ||||||
|  | 			inoremap <silent><expr> <TAB> | ||||||
|  | 						\ pumvisible() ? "\<C-n>" : | ||||||
|  | 						\ <SID>check_back_space() ? "\<TAB>" : | ||||||
|  | 						\ coc#refresh() | ||||||
|  | 			inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | ||||||
|  | 
 | ||||||
|  | 			function! s:check_back_space() abort | ||||||
|  | 				let col = col('.') - 1 | ||||||
|  | 				return !col || getline('.')[col - 1]  =~# '\s' | ||||||
|  | 			endfunction | ||||||
|  | 
 | ||||||
|  | 			" Use <c-space> to trigger completion. | ||||||
|  | 			inoremap <silent><expr> <c-space> coc#refresh() | ||||||
|  | 
 | ||||||
|  | 			" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position. | ||||||
|  | 			" Coc only does snippet and additional edit on confirm. | ||||||
|  | 			inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>" | ||||||
|  | 			" Or use `complete_info` if your vim support it, like: | ||||||
|  | 			" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>" | ||||||
|  | 
 | ||||||
|  | 			" Use `[g` and `]g` to navigate diagnostics | ||||||
|  | 			nmap <silent> [g <Plug>(coc-diagnostic-prev) | ||||||
|  | 			nmap <silent> ]g <Plug>(coc-diagnostic-next) | ||||||
|  | 
 | ||||||
|  | 			" Remap keys for gotos | ||||||
|  | 			nmap <silent> gd <Plug>(coc-definition) | ||||||
|  | 			nmap <silent> gy <Plug>(coc-type-definition) | ||||||
|  | 			nmap <silent> gi <Plug>(coc-implementation) | ||||||
|  | 			nmap <silent> gr <Plug>(coc-references) | ||||||
|  | 
 | ||||||
|  | 			" Use K to show documentation in preview window | ||||||
|  | 			nnoremap <silent> K :call <SID>show_documentation()<CR> | ||||||
|  | 
 | ||||||
|  | 			function! s:show_documentation() | ||||||
|  | 				if (index(['vim','help'], &filetype) >= 0) | ||||||
|  | 					execute 'h '.expand('<cword>') | ||||||
|  | 				else | ||||||
|  | 					call CocAction('doHover') | ||||||
|  | 				endif | ||||||
|  | 			endfunction | ||||||
|  | 
 | ||||||
|  | 			" Highlight symbol under cursor on CursorHold | ||||||
|  | 			autocmd CursorHold * silent call CocActionAsync('highlight') | ||||||
|  | 
 | ||||||
|  | 			" Remap for rename current word | ||||||
|  | 			nmap <leader>rn <Plug>(coc-rename) | ||||||
|  | 
 | ||||||
|  | 			" Remap for format selected region | ||||||
|  | 			xmap <leader>f  <Plug>(coc-format-selected) | ||||||
|  | 			nmap <leader>f  <Plug>(coc-format-selected) | ||||||
|  | 
 | ||||||
|  | 			augroup mygroup | ||||||
|  | 				autocmd! | ||||||
|  | 				" Setup formatexpr specified filetype(s). | ||||||
|  | 				autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') | ||||||
|  | 				" Update signature help on jump placeholder | ||||||
|  | 				autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') | ||||||
|  | 			augroup end | ||||||
|  | 
 | ||||||
|  | 			" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph | ||||||
|  | 			xmap <leader>a  <Plug>(coc-codeaction-selected) | ||||||
|  | 			nmap <leader>a  <Plug>(coc-codeaction-selected) | ||||||
|  | 
 | ||||||
|  | 			" Remap for do codeAction of current line | ||||||
|  | 			nmap <leader>ac  <Plug>(coc-codeaction) | ||||||
|  | 			" Fix autofix problem of current line | ||||||
|  | 			nmap <leader>qf  <Plug>(coc-fix-current) | ||||||
|  | 
 | ||||||
|  | 			" Create mappings for function text object, requires document symbols feature of languageserver. | ||||||
|  | 			xmap if <Plug>(coc-funcobj-i) | ||||||
|  | 			xmap af <Plug>(coc-funcobj-a) | ||||||
|  | 			omap if <Plug>(coc-funcobj-i) | ||||||
|  | 			omap af <Plug>(coc-funcobj-a) | ||||||
|  | 
 | ||||||
|  | 			" Use <C-d> for select selections ranges, needs server support, like: coc-tsserver, coc-python | ||||||
|  | 			nmap <silent> <C-d> <Plug>(coc-range-select) | ||||||
|  | 			xmap <silent> <C-d> <Plug>(coc-range-select) | ||||||
|  | 
 | ||||||
|  | 			" Use `:Format` to format current buffer | ||||||
|  | 			command! -nargs=0 Format :call CocAction('format') | ||||||
|  | 
 | ||||||
|  | 			" Use `:Fold` to fold current buffer | ||||||
|  | 			command! -nargs=? Fold :call     CocAction('fold', <f-args>) | ||||||
|  | 
 | ||||||
|  | 			" use `:OR` for organize import of current buffer | ||||||
|  | 			command! -nargs=0 OR   :call     CocAction('runCommand', 'editor.action.organizeImport') | ||||||
|  | 
 | ||||||
|  | 			" Add status line support, for integration with other plugin, checkout `:h coc-status` | ||||||
|  | 			" set statusline^=%{coc#status()}%{get(b:,'coc_current_function',"")} | ||||||
|  | 
 | ||||||
|  | 			" Using CocList | ||||||
|  | 			" Show all diagnostics | ||||||
|  | 			nnoremap <silent> <space>a  :<C-u>CocList diagnostics<cr> | ||||||
|  | 			" Manage extensions | ||||||
|  | 			nnoremap <silent> <space>e  :<C-u>CocList extensions<cr> | ||||||
|  | 			" Show commands | ||||||
|  | 			nnoremap <silent> <space>c  :<C-u>CocList commands<cr> | ||||||
|  | 			" Find symbol of current document | ||||||
|  | 			nnoremap <silent> <space>o  :<C-u>CocList outline<cr> | ||||||
|  | 			" Search workspace symbols | ||||||
|  | 			nnoremap <silent> <space>s  :<C-u>CocList -I symbols<cr> | ||||||
|  | 			" Do default action for next item. | ||||||
|  | 			nnoremap <silent> <space>j  :<C-u>CocNext<CR> | ||||||
|  | 			" Do default action for previous item. | ||||||
|  | 			nnoremap <silent> <space>k  :<C-u>CocPrev<CR> | ||||||
|  | 			" Resume latest coc list | ||||||
|  | 			nnoremap <silent> <space>p  :<C-u>CocListResume<CR> | ||||||
|  | 
 | ||||||
|  | 			au BufNewFile,BufRead *.frag,*.vert,*.fp,*.vp,*.glsl setf glsl | ||||||
|  | 				''; | ||||||
|  | 			}; | ||||||
|  | 		} | ||||||
|  | 	)]; | ||||||
|  | } | ||||||
		Loading…
	
		Reference in a new issue