nixos/home/desktop/alacritty/default.nix
Evie Litherland-Smith 3e0a4bb725 Install libsecret to desktop by default, needed for mbsync
Move alacritty opacity and decoration settings to sway only. Remove
Emacs opacity by default, todo maybe add to sway only somehow...
2024-07-10 08:36:28 +01:00

64 lines
1.6 KiB
Nix

{
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;
};
};
};
}