neovim-flake/homeManagerModule/plugins/formatters.nix

47 lines
808 B
Nix

# Code formatters
{pkgs, ...}: {
programs.nixvim = {
extraPackages = with pkgs; [
# TS/JS
nodePackages.prettier
# Rust
rustfmt
# Nix
alejandra
# Python
black
# Lua
stylua
# Haskell
haskellPackages.fourmolu
# Misc
codespell
];
plugins.conform-nvim = {
enable = true;
settings = {
format_on_save = {
timeoutMs = 500;
lspFallback = true;
};
formatters_by_ft = {
lua = ["stylua"];
python = ["black"];
nix = ["alejandra"];
svelte = ["prettier"];
rust = ["rustfmt"];
haskell = ["fourmolu"];
"*" = ["codespell"];
"_" = ["trim_whitespace"];
};
};
};
};
}