# SPDX-FileCopyrightText: 2020-2023 Simon Bruder # # SPDX-License-Identifier: AGPL-3.0-or-later { config, lib, pkgs, ... }: let iosevka-sbruder = pkgs.iosevka.override { privateBuildPlan = { family = "Iosevka sbruder"; spacing = "term"; serifs = "sans"; no-cv-ss = false; export-glyph-names = true; variants = { inherits = "ss20"; design = { capital-g = "toothless-rounded-serifless-hooked"; four = "closed"; six = "closed-contour"; nine = "closed-contour"; number-sign = "upright-tall"; at = "compact"; cent = "open"; percent = "dots"; lig-ltgteq = "slanted"; }; }; weights = { regular = { shape = 400; menu = 400; css = 400; }; bold = { shape = 700; menu = 700; css = 700; }; }; slopes = { upright = { angle = 0; shape = "upright"; menu = "upright"; css = "normal"; }; italic = { angle = 9.4; shape = "italic"; menu = "italic"; css = "italic"; }; }; widths = { # ensures that extended won’t get built normal = { shape = 500; menu = 5; css = "normal"; }; }; }; set = "sbruder"; }; iosevka-sbruder-nerd-font = pkgs.runCommand "iosevka-sbruder-nerd-font" { } '' ${pkgs.parallel}/bin/parallel \ ${pkgs.nerd-font-patcher}/bin/nerd-font-patcher \ --adjust-line-height \ --complete \ --careful \ --outputdir $out \ ::: ${iosevka-sbruder}/share/fonts/truetype/*.ttf ''; in lib.mkIf config.sbruder.gui.enable { fonts = { packages = with pkgs; [ iosevka-sbruder-nerd-font ] ++ lib.optionals config.sbruder.full [ google-fonts # google font collection (free) lmodern # Latin Modern for non-latex applications noto-fonts-emoji-blob-bin # The most owo emojis (thanks google for killing them) source-han-sans source-han-serif # CJK fonts ] ++ lib.optionals (!config.sbruder.full) [ roboto # default sans-serif font (normally included in google-fonts) ] ++ lib.optionals config.sbruder.unfree.allowAssets [ corefonts # good ol’ microsoft fonts vistafonts # newer microsoft fonts ]; enableDefaultPackages = true; fontconfig = { defaultFonts = { emoji = [ "Blobmoji" ]; monospace = [ "IosevkaSbruder Nerd Font" "Source Han Sans" ]; sansSerif = [ "Roboto" "Source Han Sans" ]; serif = [ "Georgia" "Source Han Serif" ]; }; localConf = /* xml */ '' system-ui sans-serif ''; }; }; }