{ pkgs, lib, config, ... }: {
  options.mods.terminal.emulator.enable = lib.mkEnableOption "enables terminal emulator";

  config = lib.mkIf config.mods.terminal.emulator.enable {
    programs.alacritty = {
      enable = true;
      settings = {
        cursor = {
          style.shape = "Beam";
          vi_mode_style = "Block";
          unfocused_hollow = true;
        };
        window = {
          padding.x = 6;
          padding.y = 6;
        };
        keyboard.bindings = [
          {
            key = "U";
            mods = "Control";
            mode = "Vi|~Search";
            action = "ScrollHalfPageUp";
          }
          {
            key = "D";
            mods = "Control";
            mode = "Vi|~Search";
            action = "ScrollHalfPageDown";
          }
          {
            key = "U";
            mods = "Control";
            mode = "~Alt";
            action = "ScrollHalfPageUp";
          }
          {
            key = "D";
            mods = "Control";
            mode = "~Alt";
            action = "ScrollHalfPageDown";
          }
        ];
      };
    };
  };
}
