Skip to content

Nix Extra

lang.nix adds Nix support through the nil language server with nixfmt formatting.

Enable it

-- ~/.config/blak/lua/blak/user.lua
return {
extras = {
enabled = {
"lang.nix",
},
},
}

Or enable it interactively:

:BlakExtras enable lang.nix

What it adds

SurfaceContribution
Treesitternix
Masonnixfmt
LSPnil_ls
Formattingnixfmt for nix

nil_ls installs automatically through Mason (package nil).

Format with alejandra instead

To format with alejandra instead of nixfmt, override the formatter:

return {
extras = { enabled = { "lang.nix" } },
mason = { ensure_installed = { "alejandra" } },
format = {
formatters_by_ft = {
nix = { "alejandra" },
},
},
}

Install and verify

:BlakToolsInstall
:BlakTreesitterInstall
:BlakDoctor

Open a .nix file and check :LspInfo for nil.