working on improving nixvim config, just need to learn how to seperate out files now
This commit is contained in:
		
							parent
							
								
									5b8f7e03e0
								
							
						
					
					
						commit
						cf55ba3d70
					
				
					 1 changed files with 197 additions and 43 deletions
				
			
		|  | @ -24,9 +24,17 @@ in { | |||
|       options = { | ||||
|         number = true; | ||||
|         relativenumber = true; | ||||
|         shiftwidth = 2; | ||||
|         shiftwidth = 4; | ||||
|       }; | ||||
| 
 | ||||
|       autoCmd = [ | ||||
|         { | ||||
|           event = "FileType"; | ||||
|           pattern = "nix"; | ||||
|           command = "setlocal tabstop=2 shiftwidth=2"; | ||||
|         } | ||||
|       ]; | ||||
| 
 | ||||
|       keymaps = [ | ||||
|         { | ||||
|           action = "<cmd>Ex<CR>"; | ||||
|  | @ -97,64 +105,210 @@ in { | |||
| 
 | ||||
|         treesitter = { | ||||
|           enable = true; | ||||
|           nixGrammars = true; | ||||
|           indent = true; | ||||
|         }; | ||||
| 
 | ||||
|         luasnip.enable = true; | ||||
|         treesitter-context.enable = true; | ||||
| 
 | ||||
|         lualine.enable = true; | ||||
| 
 | ||||
|         lsp = { | ||||
|           enable = true; | ||||
| 
 | ||||
|           servers = { | ||||
|             nixd.enable = true; | ||||
|           }; | ||||
|           keymaps = { | ||||
|             lspBuf = { | ||||
|               "<leader>K" = "hover"; | ||||
|               "<leader>gf" = "references"; | ||||
|               "<leader>gd" = "definition"; | ||||
|               "<leader>gi" = "implementation"; | ||||
|               "<leader>gt" = "type_definition"; | ||||
|             }; | ||||
|           }; | ||||
|         copilot-lua = { | ||||
|           panel.enabled = false; | ||||
|           suggestion.enabled = false; | ||||
|         }; | ||||
| 
 | ||||
|         lsp-format = { | ||||
|           enable = true; | ||||
|           setup = { | ||||
|             nix = { | ||||
|             }; | ||||
|           }; | ||||
|         }; | ||||
|         nix.enable = true; | ||||
|         nix-develop.enable = true; | ||||
| 
 | ||||
|         cmp = { | ||||
|           enable = true; | ||||
| 	  settings = { | ||||
|           	  }; | ||||
|         }; | ||||
|         nvim-autopairs.enable = true; | ||||
| 
 | ||||
|         rainbow-delimiters = { | ||||
|           enable = true; | ||||
|         }; | ||||
|         rainbow-delimiters = {enable = true;}; | ||||
|         nvim-colorizer.enable = true; | ||||
| 
 | ||||
|         undotree.enable = true; | ||||
| 
 | ||||
|         which-key = { | ||||
|           enable = true; | ||||
|           registrations = { | ||||
|             "<leader>K" = "Code hover"; | ||||
|             "<leader>gf" = "Code references"; | ||||
|             "<leader>gd" = "Code definitions"; | ||||
|             "<leader>gi" = "Implementations"; | ||||
|             "<leader>gt" = "Type definition"; | ||||
|           }; | ||||
|         }; | ||||
|         which-key = {enable = true;}; | ||||
| 
 | ||||
|         trouble.enable = true; | ||||
| 
 | ||||
|         markdown-preview.enable = true; | ||||
| 
 | ||||
|         dashboard = {enable = true;}; | ||||
| 
 | ||||
|         auto-save = { | ||||
|           enable = true; | ||||
|           enableAutoSave = true; | ||||
|         }; | ||||
| 
 | ||||
|         ## cmp extract into file | ||||
|         luasnip.enable = true; | ||||
|         cmp-buffer = {enable = true;}; | ||||
| 
 | ||||
|         cmp-emoji = {enable = true;}; | ||||
| 
 | ||||
|         cmp-nvim-lsp = {enable = true;}; | ||||
| 
 | ||||
|         cmp-path = {enable = true;}; | ||||
| 
 | ||||
|         cmp_luasnip = {enable = true;}; | ||||
| 
 | ||||
|         cmp = { | ||||
|           enable = true; | ||||
| 
 | ||||
|           settings = { | ||||
|             snippet.expand = "luasnip"; | ||||
|             sources = [ | ||||
|               {name = "nvim_lsp";} | ||||
|               {name = "luasnip";} | ||||
|               {name = "copilot";} | ||||
|               { | ||||
|                 name = "buffer"; | ||||
|                 option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; | ||||
|               } | ||||
|               {name = "nvim_lua";} | ||||
|               {name = "path";} | ||||
|             ]; | ||||
| 
 | ||||
|             formatting = { | ||||
|               fields = ["abbr" "kind" "menu"]; | ||||
|               format = | ||||
|                 # lua | ||||
|                 '' | ||||
|                   function(_, item) | ||||
|                     local icons = { | ||||
|                       Namespace = "", | ||||
|                       Text = "", | ||||
|                       Method = "", | ||||
|                       Function = "", | ||||
|                       Constructor = "", | ||||
|                       Field = "", | ||||
|                       Variable = "", | ||||
|                       Class = "", | ||||
|                       Interface = "", | ||||
|                       Module = "", | ||||
|                       Property = "", | ||||
|                       Unit = "", | ||||
|                       Value = "", | ||||
|                       Enum = "", | ||||
|                       Keyword = "", | ||||
|                       Snippet = "", | ||||
|                       Color = "", | ||||
|                       File = "", | ||||
|                       Reference = "", | ||||
|                       Folder = "", | ||||
|                       EnumMember = "", | ||||
|                       Constant = "", | ||||
|                       Struct = "", | ||||
|                       Event = "", | ||||
|                       Operator = "", | ||||
|                       TypeParameter = "", | ||||
|                       Table = "", | ||||
|                       Object = "", | ||||
|                       Tag = "", | ||||
|                       Array = "[]", | ||||
|                       Boolean = "", | ||||
|                       Number = "", | ||||
|                       Null = "", | ||||
|                       String = "", | ||||
|                       Calendar = "", | ||||
|                       Watch = "", | ||||
|                       Package = "", | ||||
|                       Copilot = "", | ||||
|                       Codeium = "", | ||||
|                       TabNine = "", | ||||
|                     } | ||||
| 
 | ||||
|                     local icon = icons[item.kind] or "" | ||||
|                     item.kind = string.format("%s %s", icon, item.kind or "") | ||||
|                     return item | ||||
|                   end | ||||
|                 ''; | ||||
|             }; | ||||
| 
 | ||||
|             window = { | ||||
|               completion = { | ||||
|                 winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel"; | ||||
|                 scrollbar = false; | ||||
|                 sidePadding = 0; | ||||
|                 border = ["╭" "─" "╮" "│" "╯" "─" "╰" "│"]; | ||||
|               }; | ||||
| 
 | ||||
|               settings.documentation = { | ||||
|                 border = ["╭" "─" "╮" "│" "╯" "─" "╰" "│"]; | ||||
|                 winhighlight = "FloatBorder:CmpBorder,Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel"; | ||||
|               }; | ||||
|             }; | ||||
| 
 | ||||
|             mapping = { | ||||
|               "<C-n>" = "cmp.mapping.select_next_item()"; | ||||
|               "<C-p>" = "cmp.mapping.select_prev_item()"; | ||||
|               "<C-j>" = "cmp.mapping.select_next_item()"; | ||||
|               "<C-k>" = "cmp.mapping.select_prev_item()"; | ||||
|               "<C-d>" = "cmp.mapping.scroll_docs(-4)"; | ||||
|               "<C-f>" = "cmp.mapping.scroll_docs(4)"; | ||||
|               "<C-Space>" = "cmp.mapping.complete()"; | ||||
|               "<C-e>" = "cmp.mapping.close()"; | ||||
|               "<CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })"; | ||||
|               "<Tab>" = | ||||
|                 # lua | ||||
|                 '' | ||||
|                   function(fallback) | ||||
|                     if cmp.visible() then | ||||
|                       cmp.select_next_item() | ||||
|                     elseif require("luasnip").expand_or_jumpable() then | ||||
|                       vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "") | ||||
|                     else | ||||
|                       fallback() | ||||
|                     end | ||||
|                   end | ||||
|                 ''; | ||||
|               "<S-Tab>" = | ||||
|                 # lua | ||||
|                 '' | ||||
|                   function(fallback) | ||||
|                     if cmp.visible() then | ||||
|                       cmp.select_prev_item() | ||||
|                     elseif require("luasnip").jumpable(-1) then | ||||
|                       vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "") | ||||
|                     else | ||||
|                       fallback() | ||||
|                     end | ||||
|                   end | ||||
|                 ''; | ||||
|             }; | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|         ## lsp | ||||
|         lsp = { | ||||
|           enable = true; | ||||
|           servers = { | ||||
|             fsautocomplete.enable = true; | ||||
|             nixd.enable = true; | ||||
|           }; | ||||
|           keymaps.lspBuf = { | ||||
|             "<leader>gd" = "definition"; | ||||
|             "<leader>gD" = "references"; | ||||
|             "<leader>gt" = "type_definition"; | ||||
|             "<leader>gi" = "implementation"; | ||||
|             "<leader>K" = "hover"; | ||||
|           }; | ||||
|         }; | ||||
|         rust-tools.enable = true; | ||||
| 
 | ||||
|         ## none-ls | ||||
|         none-ls = { | ||||
|           enable = true; | ||||
|           sources = { | ||||
|             diagnostics = {statix.enable = true;}; | ||||
|             formatting = { | ||||
|               nixfmt.enable = true; | ||||
|               markdownlint.enable = true; | ||||
|               shellharden.enable = true; | ||||
|               shfmt.enable = true; | ||||
|             }; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue