diff --git a/home-manager/common/default.nix b/home-manager/common/default.nix index 6d72853..281a6ff 100644 --- a/home-manager/common/default.nix +++ b/home-manager/common/default.nix @@ -80,9 +80,15 @@ # stable gopls lua-language-server - rust-analyzer nixd prettierd + (python3.withPackages (ps: [ + ps.pylsp-rope + ps.python-lsp-server + ps.rope + ps.yapf + ])) + rust-analyzer stylua taplo vscode-langservers-extracted diff --git a/home-manager/common/neovim/init.lua b/home-manager/common/neovim/init.lua index 118fabc..8ec1205 100644 --- a/home-manager/common/neovim/init.lua +++ b/home-manager/common/neovim/init.lua @@ -1,3 +1,11 @@ +local LANGUAGE_SERVERS = { + "eslint", + "gopls", + "lua_ls", + "nixd", + "taplo", +} + -- Clone 'mini.nvim' manually in a way that it gets managed by 'mini.deps' local path_package = vim.fn.stdpath("data") .. "/site/" local mini_path = path_package .. "pack/deps/start/mini.nvim" @@ -347,16 +355,20 @@ later(function() local lspconfig = require("lspconfig") local capabilities = require("cmp_nvim_lsp").default_capabilities() - local servers = { - "eslint", - "gopls", - "lua_ls", - "nixd", - "taplo", - } - for _, lsp in ipairs(servers) do + for _, lsp in ipairs(LANGUAGE_SERVERS) do lspconfig[lsp].setup({ capabilities = capabilities, on_attach = on_attach }) end + lspconfig.pylsp.setup({ + capabilities = capabilities, + on_attach = on_attach, + settings = { + pylsp = { + plugins = { + rope_autoimport = { enabled = true }, + }, + }, + }, + }) lspconfig.rust_analyzer.setup({ capabilities = capabilities, on_attach = on_attach, @@ -393,6 +405,7 @@ later( lua = { "stylua" }, markdown = { "prettierd" }, nix = { "nixfmt" }, + python = { "yapf" }, typescript = { "prettierd" }, vue = { "prettierd" }, }, @@ -448,7 +461,6 @@ later(function() require("toggleterm").setup({ direction = "float", open_mapping = [[]], - float_opts = { border = "none" }, }) -- terminal mappings vim.keymap.set("t", "", [[]], { desc = "Enter Normal Mode" })