2023-03-04 12:14:45 +00:00
|
|
|
{ lib, iosevka, fetchFromSourcehut, fetchFromGitHub, buildNpmPackage }:
|
2022-07-14 12:49:19 +00:00
|
|
|
|
|
|
|
let
|
2022-09-09 14:08:57 +00:00
|
|
|
sets = [
|
2022-09-22 12:36:57 +00:00
|
|
|
# The compact, sans-serif set:
|
2022-09-09 14:08:57 +00:00
|
|
|
"comfy"
|
|
|
|
"comfy-fixed"
|
|
|
|
"comfy-duo"
|
2022-09-22 12:36:57 +00:00
|
|
|
# The compact, serif set:
|
2022-09-09 14:08:57 +00:00
|
|
|
"comfy-motion"
|
2022-09-22 12:36:57 +00:00
|
|
|
"comfy-motion-fixed"
|
2022-09-09 14:08:57 +00:00
|
|
|
"comfy-motion-duo"
|
2022-09-22 12:36:57 +00:00
|
|
|
# The wide, sans-serif set:
|
|
|
|
"comfy-wide"
|
|
|
|
"comfy-wide-fixed"
|
|
|
|
"comfy-wide-duo"
|
2022-09-09 14:08:57 +00:00
|
|
|
];
|
2022-10-30 15:09:59 +00:00
|
|
|
version = "1.1.0";
|
2022-09-09 14:08:57 +00:00
|
|
|
src = fetchFromSourcehut {
|
|
|
|
owner = "~protesilaos";
|
2022-08-12 12:06:08 +00:00
|
|
|
repo = "iosevka-comfy";
|
|
|
|
rev = version;
|
2022-10-30 15:09:59 +00:00
|
|
|
sha256 = "1h72my1s9pvxww6yijrvhy7hj9dspnshya60i60p1wlzr6d18v3p";
|
2022-08-12 12:06:08 +00:00
|
|
|
};
|
|
|
|
privateBuildPlan = src.outPath + "/private-build-plans.toml";
|
2022-09-09 14:08:57 +00:00
|
|
|
makeIosevkaFont = set:
|
2023-03-04 12:14:45 +00:00
|
|
|
let superBuildNpmPackage = buildNpmPackage; in
|
|
|
|
(iosevka.override rec {
|
|
|
|
inherit set privateBuildPlan;
|
|
|
|
buildNpmPackage = args: superBuildNpmPackage
|
|
|
|
(args // {
|
|
|
|
inherit version;
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "be5invis";
|
|
|
|
repo = "iosevka";
|
|
|
|
rev = "ad1e247a3fb8d2e2561122e8e57dcdc86a23df77";
|
|
|
|
hash = "sha256-sfItIMl9HOUykoZPsNKRGKwgkSWvNGUe3czHE8qFG5w=";
|
|
|
|
};
|
|
|
|
|
|
|
|
npmDepsHash = "sha256-HaO2q1f+hX3LjccuVCQaqQZCdUH9r7+jiFOR+3m8Suw=";
|
|
|
|
|
|
|
|
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)
|