{ pkgs, ... }: { programs.alacritty = { enable = true; package = pkgs.alacritty; settings = { # use the fish shell # shell.program = "${pkgs.fish}/bin/fish"; # some programs can't handle alacritty env.TERM = "xterm-256color"; window = { # using a window manager, no decorations needed decorations = "none"; # semi-transparent opacity = 0.90; # padding between the content of the terminal and the edge padding = { x = 10; y = 10; }; dimensions = { columns = 80; lines = 40; }; }; scrolling = { history = 1000; multiplier = 3; }; font = let baseFont = { family = "JetBrains Mono Nerd Font"; style = "Regular"; }; in { size = 12; normal = baseFont; bold = baseFont // { style = "Bold"; }; italic = baseFont // { style = "Italic"; }; offset.y = 0; glyph_offset.y = 0; }; # color scheme colors = let normal = { black = "0x1b1e28"; red = "0xd0679d"; green = "0x5de4c7"; yellow = "0xfffac2"; blue = "#435c89"; magenta = "0xfcc5e9"; cyan = "0xadd7ff"; white = "0xffffff"; }; bright = { black = "0xa6accd"; red = normal.red; green = normal.green; yellow = normal.yellow; blue = normal.cyan; magenta = "0xfae4fc"; cyan = "0x89ddff"; white = normal.white; }; in { inherit normal bright; primary = { background = "0x131621"; foreground = bright.black; }; cursor = { text = "CellBackground"; cursor = "CellForeground"; }; search = let foreground = normal.black; background = normal.cyan; in { matches = { inherit foreground background; }; focused_match = { inherit foreground background; }; }; selection = { text = "CellForeground"; background = "0x303340"; }; vi_mode_cursor = { text = "CellBackground"; cursor = "CellForeground"; }; }; cursor = { style = "Underline"; vi_mode_style = "Underline"; }; }; }; }