{ plugins = { conform-nvim = { settings = { formatters_by_ft.javascript = ["prettier"]; formatters_by_ft.typescript = ["prettier"]; formatters_by_ft.javascriptreact = ["prettier"]; formatters_by_ft.typescriptreact = ["prettier"]; }; }; lsp.servers.ts-ls = { enable = true; filetypes = [ "javascript" "javascriptreact" "typescript" "typescriptreact" ]; extraOptions = { settings = { javascript = { inlayHints = { includeInlayEnumMemberValueHints = true; includeInlayFunctionLikeReturnTypeHints = true; includeInlayFunctionParameterTypeHints = true; includeInlayParameterNameHints = "all"; includeInlayParameterNameHintsWhenArgumentMatchesName = true; includeInlayPropertyDeclarationTypeHints = true; includeInlayVariableTypeHints = true; }; }; typescript = { inlayHints = { includeInlayEnumMemberValueHints = true; includeInlayFunctionLikeReturnTypeHints = true; includeInlayFunctionParameterTypeHints = true; includeInlayParameterNameHints = "all"; includeInlayParameterNameHintsWhenArgumentMatchesName = true; includeInlayPropertyDeclarationTypeHints = true; includeInlayVariableTypeHints = true; }; }; }; }; }; lsp.servers.eslint.enable = true; none-ls.sources.formatting.prettier = { enable = true; disableTsServerFormatter = false; }; }; }