{ options , config , pkgs , lib , ... }: with lib; with lib.metacfg; let cfg = config.metacfg.system.fonts; in { options.metacfg.system.fonts = with types; { enable = mkBoolOpt false "Whether or not to manage fonts."; fonts = mkOpt (listOf package) [ ] "Custom font packages to install."; }; config = mkIf cfg.enable { environment.variables = { # Enable icons in tooling since we have nerdfonts. LOG_ICONS = "true"; }; fonts = { packages = [ pkgs.nerd-fonts.hack pkgs.nerd-fonts.fira-code pkgs.nerd-fonts.droid-sans-mono pkgs.nerd-fonts.jetbrains-mono ] ++ cfg.fonts; }; }; }