This repository has been archived on 2024-04-14. You can view files and clone it, but cannot push or open issues or pull requests.
nixos-dotfiles/user/configs/helix/default.nix

103 lines
2.0 KiB
Nix

{
config,
inputs,
pkgs,
flakeDir,
...
}: {
programs.helix = {
enable = true;
package = inputs.helix.packages.${pkgs.system}.helix;
defaultEditor = true;
themes = {
custom-gruvbox = {
inherits = "gruvbox";
"ui.background" = {bg = "none";};
"ui.statusline.normal" = {
bg = "#AA9A85";
fg = "#232323";
modifiers = ["bold"];
};
"ui.statusline.insert" = {
bg = "#84A799";
fg = "#232323";
modifiers = ["bold"];
};
"ui.statusline.select" = {
bg = "#FE8112";
fg = "#232323";
modifiers = ["bold"];
};
};
};
settings = {
theme = "custom-gruvbox";
editor = {
cursorline = true;
line-number = "relative";
color-modes = true;
bufferline = "multiple";
mouse = false;
indent-guides.render = true;
cursor-shape = {
"insert" = "bar";
"normal" = "block";
"select" = "underline";
};
statusline = {
separator = "|";
left = ["mode" "file-name"];
right = ["selections" "file-type" "position"];
mode.normal = "NORMAL";
mode.insert = "INSERT";
mode.select = "SELECT";
};
lsp = {
display-messages = true;
display-inlay-hints = true;
};
};
keys.normal = {
"esc" = ["collapse_selection" "keep_primary_selection"];
space."e" = ":open ${flakeDir}";
};
};
languages = {
language = [
{
name = "nix";
auto-format = true;
formatter = ["alejandra"];
language-servers = ["nixd"];
}
];
language-server.nixd = {
command = "nixd";
};
formatter.alejandra = {
command = "alejandra";
args = ["-qq"];
};
};
extraPackages = with pkgs; [
alejandra
nixd
lua-language-server
vscode-langservers-extracted
];
};
}