nix/common/editor.nix

68 lines
1.2 KiB
Nix

{
inputs,
pkgs,
scope,
...
}:
scope "user.programs.helix" {
enable = true;
package = inputs.helix.packages.${pkgs.system}.helix;
settings = {
theme = "nix-rice";
editor = {
bufferline = "multiple";
cursorline = true;
true-color = true;
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
statusline.left = [
"mode"
"spinner"
"version-control"
"file-name"
"file-modification-indicator"
];
lsp.display-messages = true;
};
};
languages = {
language = [
{
name = "rust";
language-servers = [ "rust-analyzer" ];
}
{
name = "nix";
language-servers = [ "nil" ];
file-types = [ "nix" ];
auto-format = true;
formatter = {
command = "nixfmt";
};
}
];
language-server = {
qmlls = {
command = "qmlls";
args = [ "-E" ];
};
nil = {
command = "nil";
};
rust-analyzer = {
config = {
cargo.buildScripts.enable = true;
procMacro.enable = true;
check.command = "clippy";
};
};
};
};
}