{
config,
pkgs,
lib,
theme,
...
}: let
cfg = config.niko.desktop.alacritty;
in {
options.niko.desktop.alacritty = {
enable = lib.mkEnableOption "Alacritty terminal emulator";
fontSize = with lib;
mkOption {
type = types.int;
default =
if pkgs.hostPlatform.isLinux
then 9
else 14;
description = ''
Font size for alacritty.
By default on Macs the size will be larger because HiDPI and stuff
so we want it to look pretty but still readable.
'';
};
};
config = lib.mkIf cfg.enable {
programs.alacritty = {
enable = true;
settings = {
colors = {
primary = theme.primary;
selection = theme.secondary;
normal = theme.dark;
bright = theme.bright;
indexed_colors = [
{
index = 16;
color = theme.extra.idx16;
}
{
index = 17;
color = theme.extra.idx17;
}
];
};
font = {
normal.family = theme.fontFamily;
size = cfg.fontSize;
};
cursor.style.shape = "Beam";
window = {
option_as_alt = lib.mkIf pkgs.stdenv.isDarwin "Both";
decorations =
if pkgs.stdenv.isDarwin
then "Buttonless"
else "None";
};
};
};
};
}