nixos-configs/homeManagerModules/neovim/langs/python/default.nix

50 lines
1.1 KiB
Nix
Raw Permalink Normal View History

{
config,
lib,
2024-05-25 20:28:35 -04:00
pkgs,
...
}: let
2024-12-16 17:44:17 -05:00
inherit (lib) attrValues mkIf;
cfg = config.programs.neovim;
# We keep the packages here because python is a bit complicated and common
pythonPkgs = py:
(attrValues {
inherit (py) python-lsp-server;
})
++ py.python-lsp-server.optional-dependencies.all;
2024-12-16 17:44:17 -05:00
in {
config = mkIf cfg.enable {
programs = {
neovim = {
withPython3 = true;
extraPython3Packages = pythonPkgs;
extraPackages = pythonPkgs pkgs.python3Packages;
2024-05-11 20:10:45 -04:00
extraLuaConfig =
2024-06-09 22:49:30 -04:00
# lua
2024-05-11 20:10:45 -04:00
''
2024-11-26 23:36:33 -05:00
require('lspconfig').pylsp.setup({
capabilities = require('cmp_nvim_lsp').default_capabilities(),
2024-12-16 17:44:17 -05:00
2024-11-26 23:36:33 -05:00
settings = {
pylsp = {
plugins = {
pycodestyle = {
maxLineLength = 100,
},
},
},
},
});
2024-05-11 20:10:45 -04:00
'';
};
};
2024-12-16 17:44:17 -05:00
};
# For accurate stack trace
_file = ./default.nix;
2024-12-16 17:44:17 -05:00
}