config/modules/home/apps/term/alacritty/default.nix

120 lines
3.2 KiB
Nix
Raw Normal View History

{
lib,
config,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.apps.term.alacritty;
in {
options.apps.term.alacritty = with types; {
enable = mkBoolOpt false "Enable Alacritty Term";
fonts = {
2025-04-07 13:07:15 -04:00
# normal = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "ExtraBold" "The Style of the font";
# };
# bold = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "Heavy" "The Style of the font";
# };
# italic = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "ExtraBold Italic" "The Style of the font";
# };
# bold_italic = {
# family = mkStringOpt "Cozette" "The Family of the font";
# # style = mkStringOpt "Heavy Italic" "The Style of the font";
# };
normal = {
2025-04-07 13:07:15 -04:00
family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
2025-04-07 22:56:59 -04:00
style = mkStringOpt "SemiBold" "The Style of the font";
};
bold = {
2025-04-07 13:07:15 -04:00
family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
2025-04-07 22:56:59 -04:00
style = mkStringOpt "Bold" "The Style of the font";
};
italic = {
2025-04-07 13:07:15 -04:00
family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
2025-04-07 22:56:59 -04:00
style = mkStringOpt "SemiBold Italic" "The Style of the font";
};
bold_italic = {
2025-04-07 13:07:15 -04:00
family = mkStringOpt "Iosevka Nerd Font Mono" "The Family of the font";
2025-04-07 22:56:59 -04:00
style = mkStringOpt "Bold Italic" "The Style of the font";
};
2025-04-07 13:07:15 -04:00
# normal = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# # style = mkStringOpt "" "The Style of the font";
# };
# bold = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# style = mkStringOpt "Bold" "The Style of the font";
# };
# italic = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# style = mkStringOpt "Italic" "The Style of the font";
# };
# bold_italic = {
# family = mkStringOpt "PragmataPro" "The Family of the font";
# style = mkStringOpt "Bold Italic" "The Style of the font";
# };
};
};
config = mkIf cfg.enable {
programs.alacritty = {
enable = true;
catppuccin.enable = true;
settings = {
2025-04-07 13:07:15 -04:00
colors = {
2025-04-27 11:11:51 -04:00
primary.background = colors.crust.hex;
2025-04-07 13:07:15 -04:00
};
env = {
term = "xterm-256color";
};
cursor = {
style = {
shape = "Beam";
};
vi_mode_style = {
shape = "Beam";
};
};
2024-10-12 19:45:59 -04:00
window = {
2025-04-07 13:07:15 -04:00
# opacity = 0.95;
2024-10-12 19:45:59 -04:00
padding = {
x = 20;
y = 20;
};
};
font = {
2025-04-07 13:07:15 -04:00
size = 16.0;
2025-05-06 20:02:36 -04:00
normal = fonts.mono;
2025-06-15 18:15:28 -04:00
bold = {
family = fonts.mono;
style = "Bold";
};
italic = {
family = fonts.mono;
style = "Italic";
};
bold_italic = {
family = fonts.mono;
style = "Bold Italic";
};
2025-04-07 22:56:59 -04:00
offset = {
x = 0;
y = 0;
};
};
};
};
};
}