{ 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; phpactor.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; blade_formatter = { enable = true; package = pkgs.blade-formatter; }; }; }; }; ts-autotag = { enable = true; }; }; }