aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/default.nix46
1 files changed, 29 insertions, 17 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/default.nix b/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/default.nix
index 5167c494fa07..989c2d39c19e 100644
--- a/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/default.nix
@@ -1,5 +1,5 @@
{ stdenv, lib, pkgs, fetchFromGitHub, nodejs, nodePackages, remarshal
-, ttfautohint-nox, otfcc
+, ttfautohint-nox
# Custom font set options.
# See https://github.com/be5invis/Iosevka#build-your-own-style
@@ -27,23 +27,30 @@
assert (privateBuildPlan != null) -> set != null;
+let
+ # We don't know the attribute name for the Iosevka package as it
+ # changes not when our update script is run (which in turn updates
+ # node-packages.json, but when node-packages/generate.sh is run
+ # (which updates node-packages.nix).
+ #
+ # Doing it this way ensures that the package can always be built,
+ # although possibly an older version than ioseva-bin.
+ nodeIosevka = (
+ lib.findSingle
+ (drv: drv ? packageName && drv.packageName == "iosevka")
+ (throw "no 'iosevka' package found in nodePackages")
+ (throw "multiple 'iosevka' packages found in nodePackages")
+ (lib.attrValues nodePackages)
+ ).override (drv: { dontNpmInstall = true; });
+in
stdenv.mkDerivation rec {
pname = if set != null then "iosevka-${set}" else "iosevka";
-
- version = "3.2.2";
-
- src = fetchFromGitHub {
- owner = "be5invis";
- repo = "Iosevka";
- rev = "v${version}";
- sha256 = "1wbnp6gr3ywvspwk6i0jn68zwjmsd38arn4n2dkh7mdkrmvah81k";
- };
+ inherit (nodeIosevka) version src;
nativeBuildInputs = [
nodejs
- nodePackages."iosevka-build-deps-../../data/fonts/iosevka"
+ nodeIosevka
remarshal
- otfcc
ttfautohint-nox
];
@@ -58,12 +65,10 @@ stdenv.mkDerivation rec {
remarshal -i "$privateBuildPlanJSONPath" -o private-build-plans.toml -if json -of toml
''}
${lib.optionalString (extraParameters != null) ''
- echo -e "\n" >> parameters.toml
- cat "$extraParametersPath" >> parameters.toml
+ echo -e "\n" >> params/parameters.toml
+ cat "$extraParametersPath" >> params/parameters.toml
''}
- ln -s ${
- nodePackages."iosevka-build-deps-../../data/fonts/iosevka"
- }/lib/node_modules/iosevka-build-deps/node_modules .
+ ln -s ${nodeIosevka}/lib/node_modules/iosevka/node_modules .
runHook postConfigure
'';
@@ -74,13 +79,19 @@ stdenv.mkDerivation rec {
'';
installPhase = ''
+ runHook preInstall
fontdir="$out/share/fonts/truetype"
install -d "$fontdir"
install "dist/$pname/ttf"/* "$fontdir"
+ runHook postInstall
'';
enableParallelBuilding = true;
+ passthru = {
+ updateScript = ./update-default.sh;
+ };
+
meta = with stdenv.lib; {
homepage = "https://be5invis.github.io/Iosevka";
downloadPage = "https://github.com/be5invis/Iosevka/releases";
@@ -96,6 +107,7 @@ stdenv.mkDerivation rec {
ttuegel
babariviere
rileyinman
+ AluisioASG
];
};
}