dotfiles/NixOS/modules/alacritty/default.nix

128 lines
2.7 KiB
Nix

{ config, pkgs, ... }:
{
programs.alacritty = {
enable = true;
settings = {
scrolling.history = 10000;
window = {
dynamic_padding = true;
dynamic_title = true;
opacity = 0.3;
};
colors = {
bright = {
black = "#555556";
blue = "#00afff";
cyan = "#50cdfe";
green = "#b0e05e";
magenta = "#af87ff";
red = "#f5669c";
white = "#ffffff";
yellow = "#fef26c";
};
normal = {
black = "#121213";
blue = "#0f7fcf";
cyan = "#42a7cf";
green = "#97e123";
magenta = "#8700ff";
red = "#fa2573";
white = "#bbbbbb";
yellow = "#dfd460";
};
primary = {
background = "#000011";
foreground = "#F8F8F2";
};
};
font = {
size = 15;
bold = {
family = "Iosevka Term Extended";
style = "Bold";
};
bold_italic = {
family = "Iosevka Term Extended";
style = "Bold Italic";
};
italic = {
family = "Iosevka Term Extended";
style = "Italic";
};
normal = {
family = "Iosevka Term Extended";
style = "Regular";
};
};
keyboard.bindings = [
{
action = "ToggleFullscreen";
key = "F11";
}
{
action = "ToggleViMode";
key = "Escape";
mode = "Vi";
}
{
action = "ScrollHalfPageUp";
key = "E";
mode = "Vi";
mods = "Control";
}
{
key = "F";
mods = "Control|Shift";
action = "ReceiveChar";
}
{
chars = "\u001B[72;6u";
key = "H";
mods = "Control|Shift";
}
{
chars = "\u001B[74;6u";
key = "J";
mods = "Control|Shift";
}
{
chars = "\u001B[75;6u";
key = "K";
mods = "Control|Shift";
}
{
chars = "\u001B[76;6u";
key = "L";
mods = "Control|Shift";
}
{
chars = "\u001B[105;5u";
key = "I";
mods = "Control";
}
{
chars = "\u001B[46;5u";
key = "Period";
mods = "Control";
}
{
chars = "\u001B[44;5u";
key = "Comma";
mods = "Control";
}
{
chars = "\u001B[59;5u";
key = "Semicolon";
mods = "Control";
}
{
chars = "\u001B[13;2u";
key = "Return";
mods = "Shift";
}
]
};
};
}