nixos/home/desktop/alacritty/default.nix

64 lines
1.6 KiB
Nix
Raw Normal View History

{
config,
fonts,
...
}: {
programs.alacritty = {
enable = true;
settings = {
font = {
size = fonts.sizes.applications;
normal = {
family = fonts.monospace.name;
style = "Regular";
};
};
window.dynamic_title = true;
live_config_reload = true;
selection.save_to_clipboard = true;
mouse.hide_when_typing = true;
colors = let
mapColours = isBright: (builtins.listToAttrs (builtins.map (col: {
# Alacritty uses Yellow instead of Orange for BASE09
name =
if col == "orange"
then "yellow"
else col;
value = "0x${config
.scheme
.${
if isBright
then "bright-${col}"
else col
}}";
})
["red" "orange" "green" "cyan" "blue" "magenta"]));
mapNamedColours = mapColours false;
mapNamedBrightColours = mapColours true;
in {
draw_bold_text_with_bright_colors = false;
primary = with config.scheme; {
background = "0x${base00}";
foreground = "0x${base05}";
};
cursor = with config.scheme; {
cursor = "0x${base05}";
text = "0x${base00}";
};
normal = with config.scheme;
{
black = "0x${base00-hex}";
white = "0x${base05-hex}";
}
// mapNamedColours;
bright = with config.scheme;
{
black = "0x${base03-hex}";
white = "0x${base07-hex}";
}
// mapNamedBrightColours;
};
};
};
}