.files/nix/overlays/iosevka.nix

82 lines
2 KiB
Nix

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";
serifs = "sans";
spacing = "normal";
# Otherwise kitty behaves funny with ligature
# noLigation = true;
exportGlyphNames = true;
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 = 500;
Regular.menu = 500;
Regular.css = 500;
Bold.shape = 700;
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";
};
ligations.inherits = "haskell";
};
};
}