nixos/pkgs/nixvim/lang/nix/formatting.nix

54 lines
1.4 KiB
Nix
Raw Normal View History

{
lib,
pkgs,
...
}: {
plugins.conform-nvim.settings = {
formatters_by_ft.nix = {
__unkeyed-1 = "alejandra";
__unkeyed-2 = "injected";
lsp_format = "fallback";
};
formatters = {
alejandra = {
__raw =
#lua
''
function()
local defaultFormatter = require("conform.formatters.alejandra")
return vim.tbl_extend("force", defaultFormatter, {
command = function()
local exe = vim.fn["exepath"]("alejandra")
if exe ~= "" then
return exe
else
return "${lib.getExe pkgs.alejandra}"
end
end
})
end
'';
};
nixfmt = {
__raw =
#lua
''
function()
local defaultFormatter = require("conform.formatters.nixfmt")
return vim.tbl_extend("force", defaultFormatter, {
command = function()
local exe = vim.fn["exepath"]("nixfmt")
if exe ~= "" then
return exe
else
return "${lib.getExe pkgs.nixfmt-rfc-style}"
end
end
})
end
'';
};
};
};
}