{ config, lib, pkgs, ... }: with lib; let cfg = config.custom.settings.fonts; in { options.custom.settings.fonts.enable = mkOption {default = false;}; config = mkIf cfg.enable { # https://wiki.nixos.org/wiki/Fonts fonts = { enableDefaultPackages = true; # Fallback fonts packages = with pkgs.nerd-fonts; [ ### Monospace # https://www.nerdfonts.com/#home #?? kitten choose-fonts departure-mono gohufont iosevka-term iosevka-term-slab jetbrains-mono space-mono zed-mono ] ++ (with pkgs; [ ### Sans Serif (google-fonts.override { fonts = [ # Text "Jost" "Lexend" "Outfit" # Condensed "Oswald" # Pixel "Silkscreen" ]; }) ### Other # Microsoft corefonts vistafonts ]); #?? fc-list --brief | grep family: | sort fontconfig.defaultFonts = { emoji = [config.custom.font.emoji]; monospace = [config.custom.font.monospace]; sansSerif = [config.custom.font.sans-serif]; serif = [config.custom.font.serif]; }; }; home-manager.users.${config.custom.username}.fonts.fontconfig.defaultFonts = config.fonts.fontconfig.defaultFonts; }; }