{ pkgs, ... }: { programs.nixvim.plugins = { lsp-format.enable = true; lsp = { enable = true; servers = { bashls.enable = true; clangd.enable = false; gopls.enable = false; nixd = { enable = true; extraOptions = { expr = "import {}"; }; }; tailwindcss.enable = true; html.enable = true; svelte.enable = false; marksman.enable = true; intelephense = { enable = true; package = pkgs.nodePackages.intelephense; settings = { init_options = { globalStoragePath = "~/.local/share/intelephense"; }; }; }; dockerls.enable = true; elmls.enable = true; }; keymaps.lspBuf = { "gd" = "definition"; "gD" = "references"; "gt" = "type_definition"; "gi" = "implementation"; "K" = "hover"; }; }; none-ls = { enable = true; sources = { diagnostics = { golangci_lint.enable = true; statix.enable = true; }; formatting = { # gofmt.enable = true; # goimports.enable = true; nixfmt.enable = true; markdownlint.enable = true; tidy.enable = true; shellharden.enable = true; shfmt.enable = true; # golines.enable = true; # gofumpt.enable = true; phpcsfixer.enable = true; elm_format.enable = true; }; }; }; }; }