{ pkgs, lib, ... }: let name = { type = lib.types.str; example = "Terminess Nerd Font"; }; size = { type = with lib.types; nullOr int; default = null; }; packages = { type = with lib.types; listOf path; example = "[ pkgs.terminus-nerdfont ]"; }; in { options.global.font = { sans = { size = lib.mkOption size; name = lib.mkOption (name // { default = "DeepMind Sans"; }); packages = lib.mkOption (packages // { default = [ pkgs.dm-sans ]; }); }; monospace = { size = lib.mkOption size; name = lib.mkOption (name // { default = "Terminess Nerd Font"; }); packages = lib.mkOption (packages // { default = [ pkgs.terminus-nerdfont ]; }); }; }; }