Add vim module
This commit is contained in:
		
							parent
							
								
									daf5d6d851
								
							
						
					
					
						commit
						9f65d3dd94
					
				
					 1 changed files with 76 additions and 0 deletions
				
			
		
							
								
								
									
										76
									
								
								nixos/modules/utils/vim/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								nixos/modules/utils/vim/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,76 @@ | |||
| { inputs, lib, config, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|     home-manager.users.tdpeuter = { pkgs, ... }: { | ||||
|         home.file = { | ||||
|             ".vim".source = ../../../../stow/vim/.vim; | ||||
|         }; | ||||
| 
 | ||||
|         programs.vim = { | ||||
|             enable = true; | ||||
|             extraConfig = '' | ||||
|                 colorscheme catppuccin_mocha_mod | ||||
|                  | ||||
|                 " Tags | ||||
|                 " pacman -S ctags | ||||
|                 command! MakeTags !ctags -R . & | ||||
|                 " Move to defintion using ^] | ||||
|                 " Move to ambigious using g^] | ||||
|                 " Move back using ^t | ||||
|                  | ||||
|                 filetype on | ||||
|                 filetype indent on | ||||
|                 filetype plugin on | ||||
| 
 | ||||
|                 " File browsing | ||||
|                 let g:netrw_browse_split=4  " open in the previous window | ||||
|                 let g:netrw_altv=1          " split new windows to the right | ||||
|                 let g:netrw_liststyle=3     " treeview | ||||
|                  | ||||
|                 set autoindent | ||||
|                 set conceallevel=2 | ||||
|                 set incsearch | ||||
|                 set linebreak | ||||
|                 set nocompatible | ||||
|                 set path+=** | ||||
|                 set scrolloff=3 | ||||
|                 set showcmd | ||||
|                 set showmatch | ||||
|                 set smartindent | ||||
|                 set smarttab | ||||
|                 set title | ||||
|                 set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx | ||||
|                 set wildmenu | ||||
|                  | ||||
|                 syntax enable | ||||
|                  | ||||
|                 if $TERM == 'alacritty' | ||||
|                     set ttymouse=sgr " Alacritty specific | ||||
|                 endif | ||||
|                 if has("autocmd") | ||||
|                     au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif | ||||
|                     " https://stackoverflow.com/a/37558470/19044747 | ||||
|                     augroup remember_folds | ||||
|                         autocmd! | ||||
|                         autocmd BufWinLeave * silent! mkview | ||||
|                         autocmd BufWinEnter * silent! loadview     | ||||
|                     augroup END | ||||
|                 endif  | ||||
|             ''; | ||||
|             plugins = with pkgs.vimPlugins; [ | ||||
|                 ale | ||||
|                 catppuccin-vim | ||||
|                 statix | ||||
|                 vifm-vim | ||||
|             ]; | ||||
|             settings = { | ||||
|                 expandtab = true; | ||||
|                 mouse = "a"; | ||||
|                 number = true; | ||||
|                 relativenumber = true; | ||||
|                 shiftwidth = 4; | ||||
|                 tabstop = 4; | ||||
|             }; | ||||
|         }; | ||||
|     }; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue