103 lines
2.4 KiB
Nix
103 lines
2.4 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
programs.helix = {
|
|
enable = true;
|
|
settings = {
|
|
editor = {
|
|
line-number = "relative";
|
|
mouse = false;
|
|
cursorline = true;
|
|
cursor-shape = {
|
|
insert = "bar";
|
|
normal = "block";
|
|
select = "underline";
|
|
};
|
|
file-picker = {hidden = false;};
|
|
statusline = {
|
|
left = ["mode" "spinner"];
|
|
center = ["file-name" "read-only-indicator" "file-modification-indicator"];
|
|
right = [
|
|
"version-control"
|
|
"diagnostics"
|
|
"selections"
|
|
"register"
|
|
"position"
|
|
"position-percentage"
|
|
"file-encoding"
|
|
"file-line-ending"
|
|
"file-type"
|
|
];
|
|
separator = "|";
|
|
};
|
|
inline-diagnostics = {
|
|
cursor-line = "hint";
|
|
other-lines = "warning";
|
|
};
|
|
lsp = {
|
|
display-messages = true;
|
|
display-inlay-hints = true;
|
|
};
|
|
indent-guides = {render = true;};
|
|
idle-timeout = 0;
|
|
bufferline = "always";
|
|
soft-wrap = {
|
|
enable = true;
|
|
};
|
|
};
|
|
keys = {
|
|
insert = {
|
|
"C-space" = "completion";
|
|
};
|
|
};
|
|
};
|
|
|
|
languages = {
|
|
language-server = {
|
|
rust-analyzer = {
|
|
config = {
|
|
checkOnSave.command = "clippy";
|
|
cargo.features = "all";
|
|
cargo.unsetTest = [];
|
|
};
|
|
};
|
|
pyright = {
|
|
command = "${pkgs.pyright}/bin/pyright-langserver";
|
|
args = ["--stdio"];
|
|
config = {};
|
|
};
|
|
nil.command = "${pkgs.nil}/bin/nil";
|
|
bash-language-server = {
|
|
command = "${pkgs.bash-language-server}/bin/bash-language-server";
|
|
args = ["start"];
|
|
};
|
|
};
|
|
|
|
language = [
|
|
{
|
|
name = "python";
|
|
auto-format = true;
|
|
language-servers = [{name = "pyright";}];
|
|
formatter = {
|
|
command = "/bin/sh";
|
|
args = [
|
|
"-c"
|
|
"${pkgs.isort}/bin/isort - | ${pkgs.black}/bin/black -q -l 120 -C -"
|
|
];
|
|
};
|
|
}
|
|
{
|
|
name = "nix";
|
|
auto-format = true;
|
|
language-servers = [{name = "nil";}];
|
|
formatter = {
|
|
command = lib.getExe pkgs.nixfmt-rfc-style;
|
|
args = ["-s"];
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|