2023-10-09 06:46:16 +02:00
|
|
|
{ lib, iosevka, fetchFromGitHub, buildNpmPackage }:
|
2022-06-06 18:26:06 +02:00
|
|
|
|
|
|
|
let
|
2022-09-03 10:04:00 +02:00
|
|
|
sets = [
|
2023-04-28 13:43:10 +02:00
|
|
|
# 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";
|
2023-10-09 06:46:16 +02:00
|
|
|
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:
|
2023-02-20 23:50:57 +01:00
|
|
|
let superBuildNpmPackage = buildNpmPackage; in
|
2023-10-09 06:48:53 +02:00
|
|
|
(iosevka.override {
|
2023-02-20 23:50:57 +01:00
|
|
|
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-02-20 23:50:57 +01:00
|
|
|
};
|
|
|
|
|
2023-10-04 21:51:42 +02:00
|
|
|
npmDepsHash = "sha256-c+ltdh5e3+idclYfqp0Xh9IUwoj7XYP1uzJG6+a5gFU=";
|
2023-02-20 23:50:57 +01:00
|
|
|
|
|
|
|
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)
|