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