56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
{
|
|
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 = {
|
|
normal = {
|
|
family = mkStringOpt "Iosevka" "The Family of the font";
|
|
style = mkStringOpt "ExtraBold" "The Style of the font";
|
|
};
|
|
bold = {
|
|
family = mkStringOpt "Iosevka" "The Family of the font";
|
|
style = mkStringOpt "Heavy" "The Style of the font";
|
|
};
|
|
italic = {
|
|
family = mkStringOpt "Iosevka" "The Family of the font";
|
|
style = mkStringOpt "ExtraBold Italic" "The Style of the font";
|
|
};
|
|
bold_italic = {
|
|
family = mkStringOpt "Iosevka" "The Family of the font";
|
|
style = mkStringOpt "Heavy Italic" "The Style of the font";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs.alacritty = {
|
|
enable = true;
|
|
catppuccin.enable = true;
|
|
|
|
settings = {
|
|
window = {
|
|
opacity = 0.95;
|
|
padding = {
|
|
x = 20;
|
|
y = 20;
|
|
};
|
|
};
|
|
font = {
|
|
normal = cfg.fonts.normal;
|
|
bold = cfg.fonts.bold;
|
|
italic = cfg.fonts.italic;
|
|
bold_italic = cfg.fonts.bold_italic;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|