final: prev: rec { nerd-fonts = let mkNerdFont = final.callPackage ../lib/mkNerdFont.nix {}; in prev.nerd-fonts // { iosevka = mkNerdFont { font = iosevka; extraArgs = [ "--name {/.}-NFM" "--use-single-width-glyphs" ]; }; }; iosevka = prev.iosevka.override { set = ""; # Guide: https://github.com/be5invis/Iosevka/blob/main/doc/custom-build.md privateBuildPlan = { family = "Iosevka"; noLigation = true; serifs = "sans"; spacing = "normal"; variants.design = { ampersand = "et-tailed"; capital-q = "crossing"; capital-z = "straight-serifless-with-crossbar"; cent = "open"; dollar = "open"; lig-double-arrow-bar = "with-notch"; lig-equal-chain = "with-notch"; lig-hyphen-chain = "with-notch"; lig-plus-chain = "with-notch"; lig-single-arrow-bar = "with-notch"; lower-lambda = "tailed-turn"; number-sign = "slanted"; percent = "rings-continuous-slash-also-connected"; seven = "straight-serifless-crossbar"; }; variants.italic = { v = "cursive-serifless"; w = "cursive-serifless"; }; weights = { Regular.shape = 440; Regular.menu = 400; Regular.css = 400; Bold.shape = 680; Bold.menu = 700; Bold.css = 700; }; widths = { Normal.shape = 500; Normal.menu = 5; Normal.css = "normal"; Extended.shape = 600; Extended.menu = 7; Extended.css = "expanded"; }; slopes = { Upright.angle = 0; Upright.css = "normal"; Upright.menu = "upright"; Upright.shape = "upright"; Italic.angle = 9.4; Italic.shape = "italic"; Italic.menu = "italic"; Italic.css = "italic"; }; }; }; }