347 lines
9.9 KiB
Nix
347 lines
9.9 KiB
Nix
{ pkgs, lib, ... }:
|
|
{
|
|
# Set editor
|
|
environment.variables.EDITOR = "hx";
|
|
|
|
home-manager.users.agatha = {
|
|
# Formatters/Language Servers that Helix uses
|
|
home.packages = with pkgs; [ nixfmt-rfc-style ];
|
|
|
|
programs = {
|
|
helix = {
|
|
enable = true;
|
|
package = pkgs.helix;
|
|
languages = {
|
|
language = [
|
|
{
|
|
name = "nix";
|
|
auto-format = true;
|
|
formatter = {
|
|
command = "nixfmt";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
settings = {
|
|
theme = lib.mkDefault "paramount-dark";
|
|
editor = {
|
|
middle-click-paste = false;
|
|
scroll-lines = 4;
|
|
shell = [
|
|
"fish"
|
|
"-c"
|
|
];
|
|
bufferline = "multiple";
|
|
|
|
statusline = {
|
|
left = [
|
|
"mode"
|
|
"spinner"
|
|
"file-name"
|
|
];
|
|
right = [
|
|
"workspace-diagnostics"
|
|
"position"
|
|
"position-percentage"
|
|
"spacer"
|
|
"file-encoding"
|
|
"file-line-ending"
|
|
"file-type"
|
|
];
|
|
separator = " ";
|
|
};
|
|
|
|
cursor-shape = {
|
|
insert = "bar";
|
|
};
|
|
|
|
whitespace.render = {
|
|
tab = "all";
|
|
space = "all";
|
|
newline = "none";
|
|
};
|
|
|
|
whitespace.characters = {
|
|
tab = "·";
|
|
tabpad = "·";
|
|
};
|
|
|
|
indent-guides = {
|
|
render = true;
|
|
character = "┊";
|
|
skip-levels = 1;
|
|
};
|
|
};
|
|
|
|
keys = {
|
|
insert = {
|
|
"C-left" = [
|
|
"move_prev_word_start"
|
|
"collapse_selection"
|
|
];
|
|
"C-right" = [
|
|
"move_next_word_start"
|
|
"collapse_selection"
|
|
];
|
|
};
|
|
|
|
normal = {
|
|
"C-left" = [
|
|
"move_prev_word_start"
|
|
"collapse_selection"
|
|
];
|
|
"C-right" = [
|
|
"move_next_word_start"
|
|
"collapse_selection"
|
|
];
|
|
"A-d" = "delete_selection";
|
|
"d" = "delete_selection_noyank";
|
|
};
|
|
};
|
|
};
|
|
|
|
themes = {
|
|
paramount-dark =
|
|
let
|
|
medium_gray = "#767676";
|
|
lighter_black = "#4E4E4E";
|
|
lighter_gray = "#C6C6C6";
|
|
light_red = "#E32791";
|
|
orange = "#D75F5F";
|
|
light_green = "#5FD7A7";
|
|
dark_purple = "#af5fd7";
|
|
light_purple = "#a790d5";
|
|
dark_yellow = "#A89C14";
|
|
in
|
|
{
|
|
"ui.background" = {
|
|
bg = "black";
|
|
};
|
|
"ui.gutter" = {
|
|
bg = "black";
|
|
};
|
|
"ui.menu.selected" = {
|
|
fg = lighter_gray;
|
|
bg = light_purple;
|
|
};
|
|
"comment" = {
|
|
fg = lighter_black;
|
|
modifiers = [ "italic" ];
|
|
};
|
|
"constant" = light_purple;
|
|
"string" = light_purple;
|
|
"variable" = lighter_gray;
|
|
"function" = lighter_gray;
|
|
"keyword.function" = lighter_gray;
|
|
"keyword.control" = medium_gray;
|
|
"keyword.control.import" = medium_gray;
|
|
"operator" = {
|
|
fg = lighter_gray;
|
|
modifiers = [ "bold" ];
|
|
};
|
|
"function.special" = medium_gray;
|
|
"type" = lighter_gray;
|
|
"tag" = {
|
|
fg = medium_gray;
|
|
modifiers = [ "italic" ];
|
|
};
|
|
"punctuation" = {
|
|
fg = medium_gray;
|
|
};
|
|
"ui.linenr" = medium_gray;
|
|
"ui.linenr.selected" = {
|
|
fg = light_purple;
|
|
};
|
|
"ui.window" = medium_gray;
|
|
"ui.text" = lighter_gray;
|
|
"ui.text.focus" = light_purple;
|
|
"ui.virtual.whitespace" = lighter_black;
|
|
"string.special.url" = {
|
|
fg = lighter_gray;
|
|
underline = {
|
|
color = lighter_gray;
|
|
style = "line";
|
|
};
|
|
modifiers = [ "underlined" ];
|
|
};
|
|
"markup.link" = {
|
|
fg = lighter_gray;
|
|
underline = {
|
|
color = lighter_gray;
|
|
style = "line";
|
|
};
|
|
modifiers = [ "underlined" ];
|
|
};
|
|
"diagnostic.error" = {
|
|
underline = {
|
|
color = light_red;
|
|
style = "curl";
|
|
};
|
|
};
|
|
"error" = light_red;
|
|
"diagnostic.hint" = {
|
|
underline = {
|
|
color = lighter_gray;
|
|
style = "curl";
|
|
};
|
|
};
|
|
"hint" = lighter_gray;
|
|
"ui.selection" = {
|
|
fg = lighter_gray;
|
|
bg = light_purple;
|
|
};
|
|
"ui.selection.primary" = {
|
|
fg = lighter_gray;
|
|
bg = light_purple;
|
|
};
|
|
"warning" = orange;
|
|
"diagnostic.warning" = {
|
|
underline = {
|
|
color = orange;
|
|
style = "curl";
|
|
};
|
|
};
|
|
"diff.plus" = light_green;
|
|
"diff.minus" = light_red;
|
|
"diff.delta" = dark_yellow;
|
|
"ui.cursor" = {
|
|
bg = lighter_gray;
|
|
};
|
|
"ui.cursor.insert" = {
|
|
bg = light_purple;
|
|
};
|
|
"ui.cursor.select" = {
|
|
bg = dark_purple;
|
|
};
|
|
"ui.cursor.match" = {
|
|
fg = lighter_gray;
|
|
bg = medium_gray;
|
|
};
|
|
"namespace" = medium_gray;
|
|
};
|
|
paramount-light =
|
|
let
|
|
medium_gray = "#767676";
|
|
actual_white = "#FFFFFF";
|
|
light_black = "#262626";
|
|
dark_red = "#C30771";
|
|
orange = "#D75F5F";
|
|
dark_green = "#10A778";
|
|
dark_purple = "#af5fd7";
|
|
dark_yellow = "#A89C14";
|
|
in
|
|
{
|
|
inherits = "spacebones_light";
|
|
|
|
"ui.background" = {
|
|
bg = actual_white;
|
|
};
|
|
"ui.gutter" = {
|
|
bg = actual_white;
|
|
};
|
|
"ui.menu.selected" = {
|
|
fg = light_black;
|
|
bg = dark_purple;
|
|
};
|
|
"comment" = {
|
|
fg = "dark_gray";
|
|
modifiers = [ "italic" ];
|
|
};
|
|
"constant" = dark_purple;
|
|
"string" = dark_purple;
|
|
"variable" = light_black;
|
|
"variable.parameter" = light_black;
|
|
"function" = light_black;
|
|
"keyword" = medium_gray;
|
|
"keyword.function" = light_black;
|
|
"keyword.control" = medium_gray;
|
|
"keyword.control.import" = medium_gray;
|
|
"operator" = {
|
|
fg = light_black;
|
|
modifiers = [ "bold" ];
|
|
};
|
|
"function.special" = medium_gray;
|
|
"function.macro" = medium_gray;
|
|
"type" = light_black;
|
|
"type.builtin" = light_black;
|
|
"tag" = {
|
|
fg = medium_gray;
|
|
modifiers = [ "italic" ];
|
|
};
|
|
"punctuation" = {
|
|
fg = medium_gray;
|
|
};
|
|
"ui.linenr" = medium_gray;
|
|
"ui.linenr.selected" = {
|
|
fg = dark_purple;
|
|
};
|
|
"string.special.url" = {
|
|
fg = light_black;
|
|
underline = {
|
|
color = light_black;
|
|
style = "line";
|
|
};
|
|
modifiers = [ "underlined" ];
|
|
};
|
|
"markup.link" = {
|
|
fg = light_black;
|
|
underline = {
|
|
color = light_black;
|
|
style = "line";
|
|
};
|
|
modifiers = [ "underlined" ];
|
|
};
|
|
"diagnostic.error" = {
|
|
underline = {
|
|
color = dark_red;
|
|
style = "curl";
|
|
};
|
|
};
|
|
"error" = dark_red;
|
|
"diagnostic.hint" = {
|
|
underline = {
|
|
color = light_black;
|
|
style = "curl";
|
|
};
|
|
};
|
|
"hint" = light_black;
|
|
"ui.selection" = {
|
|
fg = light_black;
|
|
bg = dark_purple;
|
|
};
|
|
"ui.selection.primary" = {
|
|
fg = light_black;
|
|
bg = dark_purple;
|
|
};
|
|
"warning" = orange;
|
|
"diagnostic.warning" = {
|
|
underline = {
|
|
color = orange;
|
|
style = "curl";
|
|
};
|
|
};
|
|
"diff.plus" = dark_green;
|
|
"diff.minus" = dark_red;
|
|
"diff.delta" = dark_yellow;
|
|
"ui.cursor" = {
|
|
bg = light_black;
|
|
};
|
|
"ui.cursor.insert" = {
|
|
bg = dark_purple;
|
|
};
|
|
"ui.cursor.select" = {
|
|
bg = dark_purple;
|
|
};
|
|
"ui.cursor.match" = {
|
|
fg = light_black;
|
|
bg = medium_gray;
|
|
};
|
|
"namespace" = medium_gray;
|
|
"special" = medium_gray;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|