nixpkgs-suyu/pkgs/data/fonts/iosevka/comfy.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

68 lines
2.7 KiB
Nix
Raw Normal View History

{ lib, iosevka, fetchFromGitHub, buildNpmPackage }:
2022-06-06 18:26:06 +02:00
let
2022-09-03 10:04:00 +02:00
sets = [
# Family | Shapes | Spacing | Style | Ligatures |
# ------------------------+--------+---------+------------+-----------|
"comfy" # Sans | Compact | Monospaced | Yes |
"comfy-fixed" # Sans | Compact | Monospaced | No |
"comfy-duo" # Sans | Compact | Duospaced | Yes |
# ------------------------+--------+---------+------------+-----------|
"comfy-motion" # Slab | Compact | Monospaced | Yes |
"comfy-motion-fixed" # Slab | Compact | Monospaced | No |
"comfy-motion-duo" # Slab | Compact | Duospaced | Yes |
# ------------------------+--------+---------+------------+-----------|
"comfy-wide" # Sans | Wide | Monospaced | Yes |
"comfy-wide-fixed" # Sans | Wide | Monospaced | No |
"comfy-wide-duo" # Sans | Wide | Duospaced | Yes |
2023-04-28 13:43:58 +02:00
# ------------------------+--------+---------+------------+-----------|
"comfy-wide-motion" # Slab | Wide | Monospaced | Yes |
"comfy-wide-motion-fixed" # Slab | Wide | Monospaced | No |
"comfy-wide-motion-duo" # Slab | Wide | Duospaced | Yes |
2022-09-03 10:04:00 +02:00
];
2023-10-04 21:51:42 +02:00
version = "1.4.0";
src = fetchFromGitHub {
owner = "protesilaos";
2022-07-15 13:17:27 +02:00
repo = "iosevka-comfy";
rev = version;
2023-10-04 21:51:42 +02:00
sha256 = "sha256-kfEEJ6F1/dsG9CSLWcr0QOOnQxHPgPgb4QhgFrHTklE=";
2022-07-15 13:17:27 +02:00
};
privateBuildPlan = src.outPath + "/private-build-plans.toml";
2022-09-03 10:04:00 +02:00
makeIosevkaFont = set:
let superBuildNpmPackage = buildNpmPackage; in
(iosevka.override {
inherit set privateBuildPlan;
buildNpmPackage = args: superBuildNpmPackage
(args // {
inherit version;
src = fetchFromGitHub {
owner = "be5invis";
repo = "iosevka";
2023-10-04 21:51:42 +02:00
rev = "f6e57fbf0b1242ad3069d45c815d79b9d68871a2";
hash = "sha256-cS3SCKzUjVXF+n0Rt5eBLzieATB7W+hwEbzh6OQrMo4=";
};
2023-10-04 21:51:42 +02:00
npmDepsHash = "sha256-c+ltdh5e3+idclYfqp0Xh9IUwoj7XYP1uzJG6+a5gFU=";
meta = with lib; {
inherit (src.meta) homepage;
description = ''
Customised build of the Iosevka typeface, with a consistent
rounded style and overrides for almost all individual glyphs
in both roman (upright) and italic (slanted) variants.
'';
license = licenses.ofl;
platforms = iosevka.meta.platforms;
maintainers = [ maintainers.DamienCassou ];
};
});
});
in
builtins.listToAttrs (builtins.map
(set: {
name = set;
value = makeIosevkaFont set;
})
sets)