Files
nixos/home/alacritty.nix

96 lines
2.7 KiB
Nix

{ config, pkgs, ... }:
{
programs.alacritty = {
enable = true;
settings = {
general.import = [ "${config.home.homeDirectory}/.config/alacritty/colors.toml" ];
env = {
TERM = "xterm-256color";
WINIT_X11_SCALE_FACTOR = "1";
};
window = {
dynamic_padding = true;
decorations = "full";
title = "Alacritty@nixos";
opacity = 0.8;
decorations_theme_variant = "Dark";
dimensions = {
columns = 100;
lines = 30;
};
class = {
instance = "Alacritty";
general = "Alacritty";
};
};
scrolling = {
history = 10000;
multiplier = 3;
};
font = {
size = 12;
normal = { family = "monospace"; style = "Regular"; };
bold = { family = "monospace"; style = "Bold"; };
italic = { family = "monospace"; style = "Italic"; };
bold_italic = { family = "monospace"; style = "Bold Italic"; };
};
selection = {
semantic_escape_chars = ",`|:\"' ()[]{}<>\t";
save_to_clipboard = true;
};
cursor = {
style = {
shape = "Beam";
blinking = "Always";
};
vi_mode_style = {
shape = "Block";
};
unfocused_hollow = true;
thickness = 0.15;
};
mouse = {
hide_when_typing = true;
bindings = [
{ mouse = "Middle"; action = "PasteSelection"; }
];
};
keyboard.bindings = [
{ key = "Paste"; action = "Paste"; }
{ key = "Copy"; action = "Copy"; }
{ key = "L"; mods = "Control"; action = "ClearLogNotice"; }
{ key = "L"; mods = "Control"; mode = "~Vi"; chars = "\f"; }
{ key = "PageUp"; mods = "Shift"; mode = "~Alt"; action = "ScrollPageUp"; }
{ key = "PageDown"; mods = "Shift"; mode = "~Alt"; action = "ScrollPageDown"; }
{ key = "Home"; mods = "Shift"; mode = "~Alt"; action = "ScrollToTop"; }
{ key = "End"; mods = "Shift"; mode = "~Alt"; action = "ScrollToBottom"; }
{ key = "V"; mods = "Control|Shift"; action = "Paste"; }
{ key = "C"; mods = "Control|Shift"; action = "Copy"; }
{ key = "F"; mods = "Control|Shift"; action = "SearchForward"; }
{ key = "B"; mods = "Control|Shift"; action = "SearchBackward"; }
{ key = "C"; mods = "Control|Shift"; mode = "Vi"; action = "ClearSelection"; }
{ key = "Key0"; mods = "Control"; action = "ResetFontSize"; }
];
general = {
live_config_reload = true;
working_directory = "None";
# terminal.shell = {
# program = "${pkgs.zellij}/bin/zellij";
# };
};
};
};
}