{ pkgs, lib, config, inputs, ... }: let inherit (lib) mkIf mkOption types; cfg = config.nixos.system.fonts; in { options = { nixos.system.fonts = { enable = mkOption { type = types.bool; default = true; description = "Enable various font packages"; }; }; }; config = mkIf cfg.enable { fonts = { packages = with pkgs; [ inputs.fonts.packages.${pkgs.stdenv.hostPlatform.system}.vcr-mono noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji liberation_ttf fira-code-symbols font-awesome recursive input-fonts source-code-pro ibm-plex nerd-fonts.jetbrains-mono nerd-fonts.departure-mono nerd-fonts.fira-code nerd-fonts.fira-mono nerd-fonts.iosevka nerd-fonts._3270 nerd-fonts.droid-sans-mono nerd-fonts.ubuntu-mono nerd-fonts.overpass nerd-fonts.monoid nerd-fonts.mononoki nerd-fonts.hack nerd-fonts.tinos inter ]; fontconfig.defaultFonts = { serif = [ "Tinos" ]; sansSerif = [ "Inter" ]; monospace = [ "Input Mono Narrow Light" ]; emoji = [ "Noto Color Emoji" ]; }; }; }; }