{ lib, pkgs, config, ... }: with lib; let cfg = config.eboskma.fonts; iosevka-aile = pkgs.iosevka-bin.override { variant = "Aile"; }; in { options.eboskma.fonts = { enable = mkEnableOption "activate fonts"; iosevka-aile = mkOption { description = "Install Iosevka Aile"; type = types.bool; default = true; }; }; config = mkIf cfg.enable { fonts = { fontDir.enable = true; packages = with pkgs; [ nerd-fonts.iosevka nerd-fonts.meslo-lg nerd-fonts.monaspace nerd-fonts.noto nerd-fonts.recursive-mono corefonts dejavu_fonts google-fonts kochi-substitute material-icons monaspace noto-fonts-emoji recursive ttf_bitstream_vera twitter-color-emoji ] ++ lib.optional cfg.iosevka-aile iosevka-aile; fontconfig = { defaultFonts = { serif = [ "Recursive Sans Casual Static Medium" ]; sansSerif = [ (if cfg.iosevka-aile then "Iosevka Aile" else "DejaVu Sans") ]; monospace = [ "Iosevka Nerd Font" ]; emoji = [ "Twitter Color Emoji" ]; }; }; }; }; }