1

Modules/Neovim: Configure perl lsp/formatter + R lsp/formatter

This commit is contained in:
2026-04-19 22:51:07 +02:00
parent 00e3713682
commit ac1b8c9f07

View File

@ -30,28 +30,29 @@ in {
(lib.optionals (!headless) [ (lib.optionals (!headless) [
# Language servers # Language servers
autotools-language-server
basedpyright
clang-tools clang-tools
clojure-lsp clojure-lsp
cmake-language-server cmake-language-server
haskell-language-server haskell-language-server
jdt-language-server jdt-language-server
just-lsp
ltex-ls # TODO: Only enable on-demand ltex-ls # TODO: Only enable on-demand
lua-language-server lua-language-server
# nil # nil
basedpyright # perl5Packages.PLS
perl5Packages.PLS
pyrefly pyrefly
ty rPackages.languageserver
rust-analyzer rust-analyzer
svelte-language-server svelte-language-server
tailwindcss-language-server tailwindcss-language-server
tex-fmt tex-fmt
texlab texlab
tinymist tinymist
ty
typescript typescript
vscode-langservers-extracted # includes nodejs vscode-langservers-extracted # includes nodejs
autotools-language-server
just-lsp
# Linters # Linters
checkstyle # java checkstyle # java
@ -66,20 +67,21 @@ in {
# statix # nix (doesn't recognize pipe operator) # statix # nix (doesn't recognize pipe operator)
# Formatters # Formatters
air-formatter
cljfmt cljfmt
python313Packages.black
google-java-format google-java-format
html-tidy html-tidy
jq # json jq # json
perl5Packages.PerlTidy just-formatter
# prettierd # Use prettier instead because of plugins mbake
# nodePackages_latest.prettier # Use local install as plugins change per project # nodePackages_latest.prettier # Use local install as plugins change per project
# perl5Packages.PerlTidy
# prettierd # Use prettier instead because of plugins
python313Packages.black
rustfmt rustfmt
stylua stylua
typstyle
mbake
just-formatter
tombi tombi
typstyle
]) ])
[ [
@ -89,6 +91,19 @@ in {
lua54Packages.jsregexp # For tree-sitter lua54Packages.jsregexp # For tree-sitter
# nodejs_latest # nodejs_latest
# TODO: Create a perl module where I can add packages to, so I don't end up with multiple perl installations
# TODO: The same is required for python
(perl.withPackages (p:
with p; [
PLS
PerlTidy
NetOpenSSH
DateTime
DBI
DBDMariaDB
CursesUI
]))
nixd nixd
alejandra # nix alejandra # nix
] ]
@ -528,6 +543,7 @@ in {
perl = ["perltidy"]; perl = ["perltidy"];
python = ["black"]; python = ["black"];
qml = ["qmlformat"]; qml = ["qmlformat"];
r = ["air"];
rust = ["rustfmt"]; rust = ["rustfmt"];
svelte = ["prettierd" "prettier"]; svelte = ["prettierd" "prettier"];
toml = ["tombi"]; toml = ["tombi"];
@ -863,9 +879,8 @@ in {
dependencies = [_lazydev]; dependencies = [_lazydev];
config = let config = let
servers = mylib.generators.toLuaObject [ servers = mylib.generators.toLuaObject [
{name = "autotools-language-server";}
{name = "basedpyright";} {name = "basedpyright";}
# {name = "pyrefly";} # TODO: Config
# {name = "ty";} # TODO: Config
{ {
name = "clangd"; name = "clangd";
extraOptions = { extraOptions = {
@ -917,7 +932,6 @@ in {
}; };
}; };
} }
{name = "autotools-language-server";}
# {name = "nil_ls";} # {name = "nil_ls";}
{ {
name = "nixd"; name = "nixd";
@ -967,6 +981,8 @@ in {
"-E" # Use QML_IMPORT_PATH env variable "-E" # Use QML_IMPORT_PATH env variable
]; ];
} }
# {name = "pyrefly";} # TODO: Config
{name = "r_language_server";}
{name = "svelte";} {name = "svelte";}
{name = "tailwindcss";} {name = "tailwindcss";}
{name = "texlab";} {name = "texlab";}
@ -978,6 +994,7 @@ in {
semanticTokens = "disable"; semanticTokens = "disable";
}; };
} }
# {name = "ty";} # TODO: Config
# {name = "jdtls";} # Don't set up when using nvim-jdtls # {name = "jdtls";} # Don't set up when using nvim-jdtls
# {name = "rust_analyzer";} # Don't set up when using rustaceanvim # {name = "rust_analyzer";} # Don't set up when using rustaceanvim