Files
dotfiles/home-modules/helix.nix
Lennart J. Kurzweg (Nx2) 2db49fe4c6 helix ++ + llm.nx2.site trying
2024-05-08 02:13:08 +02:00

90 lines
2.5 KiB
Nix

{ config, pkgs, rice, ... }:
{
home = {
packages = with pkgs; [
helix
nixfmt # nix formater
nil # nix language server
python311Packages.python-lsp-server
];
sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
};
};
programs.helix = {
enable = true;
settings = {
theme = "base16";
editor = {
cursor-shape = {
normal = "block";
insert = "bar";
select = "underline";
};
line-number = "relative";
color-modes = true;
bufferline = "always";
file-picker.hidden = false;
middle-click-paste = false;
cursorline = true;
indent-guides.render = true;
lsp.display-inlay-hints = true;
statusline.center = ["position-percentage"];
true-color = true;
whitespace.characters = {
newline = "";
tab = "";
};
};
};
languages.language = [{
name = "nix";
}];
themes = {
base16 = with rice.color; {
"ui.menu" = "none";
"ui.menu.selected" = { modifiers = [ "reversed" ]; };
"ui.linenr" = { fg = white; bg = black; };
"ui.popup" = { modifiers = [ "reversed" ]; };
"ui.linenr.selected" = { fg = white; bg = bright-black; modifiers = [ "bold" ]; };
"ui.selection" = { fg = black; bg = blue; };
"ui.selection.primary" = { modifiers = [ "reversed" ]; };
"comment" = { fg = green; };
"ui.statusline" = { fg = white; bg = red; };
"ui.statusline.inactive" = { fg = black; bg = white; };
"ui.help" = { fg = blue; bg = white; };
"ui.cursor" = { modifiers = [ "reversed" ]; };
"ui.virtual.indent-guide" = black;
"variable" = red;
"variable.builtin" = magenta;
"constant.numeric" = magenta;
"constant" = magenta;
"attributes" = yellow;
"type" = yellow;
"ui.cursor.match" = { fg = yellow; modifiers = [ "underlined" ]; };
"string" = green;
"variable.other.member" = red;
"constant.character.escape" = cyan;
"function" = blue;
"constructor" = blue;
"special" = blue;
"keyword" = magenta;
"label" = magenta;
"namespace" = blue;
"diff.plus" = green;
"diff.delta" = yellow;
"diff.minus" = red;
"diagnostic" = { modifiers = [ "underlined" ]; };
"ui.gutter" = { bg = black; };
"info" = blue;
"hint" = blue;
"debug" = blue;
"warning" = yellow;
"error" = red;
};
};
};
}