diff --git a/configuration.nix b/configuration.nix index 2159edc8..5bd69fa0 100644 --- a/configuration.nix +++ b/configuration.nix @@ -59,7 +59,11 @@ isMaximal: { go.enable = isMaximal; lua.enable = isMaximal; zig.enable = isMaximal; - python.enable = isMaximal; + python = { + enable = true; + format.type = "ruff"; + lsp.server = "ruff"; + }; typst.enable = isMaximal; rust = { enable = isMaximal; diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 0a3c6c8a..56c5dc3a 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -46,6 +46,21 @@ ''; }; + ruff = { + package = pkgs.ruff; + lspConfig = '' + lspconfig.ruff.setup{ + capabilities = capabilities; + on_attach = default_on_attach; + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else ''{"${cfg.lsp.package}/bin/ruff", "server"}'' + } + } + ''; + }; + python-lsp-server = { package = pkgs.python-lsp-server; lspConfig = ''