0xda157's nixvim config
at main 84 lines 2.0 kB view raw
1# Copyright (c) 2024-2025 0xda157 <da157@voidq.com> 2{ 3 plugins = { 4 # lsp-signature.enable = true; 5 trouble = { 6 enable = true; 7 settings.auto_close = true; 8 }; 9 lsp = { 10 enable = true; 11 keymaps = { 12 diagnostic = { 13 "<leader>j" = "goto_next"; 14 "<leader>k" = "goto_prev"; 15 }; 16 lspBuf = { 17 K = "hover"; 18 gi = "implementation"; 19 gd = "definition"; 20 gD = "declaration"; 21 gt = "type_definition"; 22 gr = "references"; 23 rn = "rename"; 24 "<leader>la" = "code_action"; 25 }; 26 extra = [ 27 { 28 action = "<CMD>LspStop<Enter>"; 29 key = "<leader>lx"; 30 } 31 { 32 action = "<CMD>LspStart<Enter>"; 33 key = "<leader>ls"; 34 } 35 { 36 action = "<CMD>LspRestart<Enter>"; 37 key = "<leader>lr"; 38 } 39 ]; 40 }; 41 servers = { 42 # - system - 43 rust_analyzer = { 44 enable = true; 45 installCargo = true; 46 installRustc = true; 47 }; 48 zls.enable = true; 49 clangd.enable = true; # c/cpp 50 # - web dev - 51 tailwindcss.enable = true; 52 cssls.enable = true; 53 html.enable = true; 54 emmet_ls = { 55 enable = true; 56 filetypes = [ 57 "jsx" 58 "tsx" 59 "svelte" 60 ]; 61 }; 62 gleam.enable = true; 63 # - config - 64 yamlls.enable = true; 65 jsonls.enable = true; 66 nixd.enable = true; 67 dockerls.enable = true; 68 qmlls.enable = true; 69 # - general - 70 ruff.enable = true; # python 71 # java_language_server.enable = true; 72 # bashls.enable = true; 73 gopls = { 74 enable = true; 75 autostart = true; 76 }; 77 lua_ls = { 78 enable = true; 79 settings.telemetry.enable = false; 80 }; 81 }; 82 }; 83 }; 84}