158 lines
4.4 KiB
Nix
158 lines
4.4 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
system,
|
|
...
|
|
}: let
|
|
alejandra = lib.getExe inputs.alejandra.packages.${system}.default;
|
|
nil = lib.getExe inputs.nil.packages.${system}.default;
|
|
in {
|
|
programs.helix = {
|
|
enable = true;
|
|
package = inputs.helix.packages."${system}".helix;
|
|
settings = {
|
|
theme = "solarized_peninsula";
|
|
editor = {
|
|
auto-pairs = false;
|
|
file-picker.hidden = false;
|
|
lsp.display-messages = true;
|
|
line-number = "relative";
|
|
};
|
|
keys = {
|
|
normal = {
|
|
";" = "command_mode";
|
|
C-p = "file_picker";
|
|
C-b = "buffer_picker";
|
|
"{" = ["goto_prev_paragraph" "collapse_selection"];
|
|
"}" = ["goto_next_paragraph" "collapse_selection"];
|
|
"0" = "goto_line_start";
|
|
"$" = "goto_line_end";
|
|
"^" = "goto_first_nonwhitespace";
|
|
G = "goto_file_end";
|
|
V = ["select_mode" "extend_to_line_bounds"];
|
|
};
|
|
select = {
|
|
"{" = ["extend_to_line_bounds" "goto_prev_paragraph"];
|
|
"}" = ["extend_to_line_bounds" "goto_next_paragraph"];
|
|
"0" = "goto_line_start";
|
|
"$" = "goto_line_end";
|
|
"^" = "goto_first_nonwhitespace";
|
|
G = "goto_file_end";
|
|
D = ["extend_to_line_bounds" "delete_selection" "normal_mode"];
|
|
C = ["goto_line_start" "extend_to_line_bounds" "change_selection"];
|
|
"%" = "match_brackets";
|
|
V = ["extend_to_line_bounds"];
|
|
|
|
i = "select_textobject_inner";
|
|
a = "select_textobject_around";
|
|
|
|
k = ["extend_line_up" "extend_to_line_bounds"];
|
|
j = ["extend_line_down" "extend_to_line_bounds"];
|
|
};
|
|
};
|
|
};
|
|
themes = {
|
|
solarized_peninsula = {
|
|
palette = {
|
|
base03 = "#002b36";
|
|
base025 = "#03303b";
|
|
base02 = "#073642";
|
|
base0175 = "#16404b";
|
|
base015 = "#2c4f59";
|
|
base01 = "#586e75";
|
|
base00 = "#657b83";
|
|
base0 = "#839496";
|
|
base1 = "#93a1a1";
|
|
base2 = "#eee8d5";
|
|
base3 = "#fdf6e3";
|
|
yellow = "#b58900";
|
|
orange = "#cb4b16";
|
|
red = "#dc322f";
|
|
magenta = "#d33682";
|
|
violet = "#6c71c4";
|
|
blue = "#268bd2";
|
|
cyan = "#2aa198";
|
|
green = "#859900";
|
|
transparent = "none";
|
|
gray = "#665c54";
|
|
dark-gray = "#3c3836";
|
|
white = "#fbf1c7";
|
|
black = "#282828";
|
|
};
|
|
"ui.menu" = "transparent";
|
|
"ui.menu.selected" = {modifiers = ["reversed"];};
|
|
"ui.linenr" = {
|
|
fg = "gray";
|
|
bg = "dark-gray";
|
|
};
|
|
"ui.popup" = {modifiers = ["reversed"];};
|
|
"ui.linenr.selected" = {
|
|
fg = "white";
|
|
bg = "black";
|
|
modifiers = ["bold"];
|
|
};
|
|
"ui.selection" = {
|
|
fg = "black";
|
|
bg = "blue";
|
|
};
|
|
"ui.selection.primary" = {modifiers = ["reversed"];};
|
|
"comment" = {fg = "gray";};
|
|
"ui.statusline" = {
|
|
fg = "white";
|
|
bg = "dark-gray";
|
|
};
|
|
"ui.statusline.inactive" = {
|
|
fg = "dark-gray";
|
|
bg = "white";
|
|
};
|
|
"ui.help" = {
|
|
fg = "dark-gray";
|
|
bg = "white";
|
|
};
|
|
"ui.cursor" = {modifiers = ["reversed"];};
|
|
"variable" = "red";
|
|
"variable.builtin" = "orange";
|
|
"constant.numeric" = "orange";
|
|
"constant" = "orange";
|
|
"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" = "dark-gray";
|
|
"debug" = "dark-gray";
|
|
"warning" = "yellow";
|
|
"error" = "red";
|
|
};
|
|
};
|
|
languages = [
|
|
{
|
|
name = "nix";
|
|
auto-format = true;
|
|
language-server = {command = nil;};
|
|
formatter = {
|
|
command = alejandra;
|
|
args = ["-q"];
|
|
};
|
|
}
|
|
];
|
|
};
|
|
}
|