From bca421cab4f5848cb7a2e63e1d3cdee1133f747c Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Sun, 1 Mar 2026 21:40:34 -0800 Subject: [PATCH 01/14] shabnam-fonts: use installFonts hook --- pkgs/by-name/sh/shabnam-fonts/package.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/sh/shabnam-fonts/package.nix b/pkgs/by-name/sh/shabnam-fonts/package.nix index 2e85acf12fbe..2f6ac36a6c34 100644 --- a/pkgs/by-name/sh/shabnam-fonts/package.nix +++ b/pkgs/by-name/sh/shabnam-fonts/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchFromGitHub, + installFonts, }: stdenvNoCC.mkDerivation rec { @@ -15,13 +16,9 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-H03GTKRVPiwU4edkr4x5upW4JCy6320Lo+cKK9FRMQs="; }; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ installFonts ]; - find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/shabnam-fonts {} \; - - runHook postInstall - ''; + dontInstallWebfonts = true; meta = { homepage = "https://github.com/rastikerdar/shabnam-font"; From 3781ffef0ab0dfc7aaba4c61f4cf1cca3f80b6ef Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Tue, 3 Mar 2026 12:55:40 -0800 Subject: [PATCH 02/14] amiri: use installFonts hook --- pkgs/by-name/am/amiri/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/am/amiri/package.nix b/pkgs/by-name/am/amiri/package.nix index d6dccaa14eee..763a7ee5fb2f 100644 --- a/pkgs/by-name/am/amiri/package.nix +++ b/pkgs/by-name/am/amiri/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchzip, + installFonts, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -13,11 +14,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-BsYPMBlRdzlkvyleZIxGDuGjmqhDlEJ4udj8zoKUSzA="; }; + nativeBuildInputs = [ installFonts ]; + installPhase = '' runHook preInstall - mkdir -p $out/share/fonts/truetype - mv *.ttf $out/share/fonts/truetype/ mkdir -p $out/share/doc/amiri-${finalAttrs.version} mv {*.html,*.txt,*.md} $out/share/doc/amiri-${finalAttrs.version}/ From d8121ee6babf4528cee12c2a4499d1c75479cec0 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Sun, 1 Mar 2026 22:09:02 -0800 Subject: [PATCH 03/14] league-spartan: use installFonts hook --- pkgs/by-name/le/league-spartan/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/le/league-spartan/package.nix b/pkgs/by-name/le/league-spartan/package.nix index 35704c997a40..f534a66646a6 100644 --- a/pkgs/by-name/le/league-spartan/package.nix +++ b/pkgs/by-name/le/league-spartan/package.nix @@ -2,6 +2,7 @@ lib, fetchzip, stdenvNoCC, + installFonts, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -13,13 +14,12 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-dkvWRYli8vk+E0DkZ2NWCJKfSfdo4jEcGo0puQpFVVc="; }; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ installFonts ]; - install -D -m444 -t $out/share/fonts/truetype $src/static/TTF/*.ttf - install -D -m444 -t $out/share/fonts/opentype $src/static/OTF/*.otf + dontInstallWebfonts = true; - runHook postInstall + preInstall = '' + rm -r variable ''; meta = { From dd65af51bfb42a787c35455b715f19d1a69617a7 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Sun, 1 Mar 2026 22:16:26 -0800 Subject: [PATCH 04/14] league-gothic: use installFonts hook --- pkgs/by-name/le/league-gothic/package.nix | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/le/league-gothic/package.nix b/pkgs/by-name/le/league-gothic/package.nix index ca72373b1b80..68fc958499ef 100644 --- a/pkgs/by-name/le/league-gothic/package.nix +++ b/pkgs/by-name/le/league-gothic/package.nix @@ -2,6 +2,7 @@ lib, fetchzip, stdenvNoCC, + installFonts, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -13,14 +14,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-emkXKyQw4R0Zgg02oJsvBkqV0jmczP0tF0K2IKqJHMA="; }; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ installFonts ]; - install -D -m444 -t $out/share/fonts/truetype $src/static/TTF/*.ttf - install -D -m444 -t $out/share/fonts/opentype $src/static/OTF/*.otf - - runHook postInstall - ''; + dontInstallWebfonts = true; meta = { description = "Revival of an old classic, Alternate Gothic #1"; From 59d3456d27e0a9254206e8fb9385138f35725910 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Sun, 1 Mar 2026 22:30:31 -0800 Subject: [PATCH 05/14] libre-franklin: use installFonts hook --- pkgs/by-name/li/libre-franklin/package.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libre-franklin/package.nix b/pkgs/by-name/li/libre-franklin/package.nix index 876d8e67b36a..f7994fa6ff9b 100644 --- a/pkgs/by-name/li/libre-franklin/package.nix +++ b/pkgs/by-name/li/libre-franklin/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchFromGitHub, + installFonts, }: stdenvNoCC.mkDerivation rec { @@ -15,10 +16,16 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-GR1KHiQ1lTOmU8eAPR2pxUlMpWiW2EDMG78VDjELxDU="; }; + nativeBuildInputs = [ installFonts ]; + + # Same fonts as fonts/OTF, so install only the OTF versions + preInstall = '' + rm -r fonts/TTF + ''; + installPhase = '' runHook preInstall - install -m444 -Dt $out/share/fonts/opentype */OTF/*.otf install -m444 -Dt $out/share/doc/${pname}-${version} README.md FONTLOG.txt runHook postInstall From 73cf49e5be0eac1b7bfbcc02246daae2e05c398b Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Sun, 1 Mar 2026 22:54:24 -0800 Subject: [PATCH 06/14] liberation-sans-narrow: use installFonts hook --- pkgs/by-name/li/liberation-sans-narrow/package.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/liberation-sans-narrow/package.nix b/pkgs/by-name/li/liberation-sans-narrow/package.nix index df0a8e8f080c..cf0272ffe0c0 100644 --- a/pkgs/by-name/li/liberation-sans-narrow/package.nix +++ b/pkgs/by-name/li/liberation-sans-narrow/package.nix @@ -4,6 +4,7 @@ fetchFromGitHub, fontforge, python3, + installFonts, }: stdenv.mkDerivation rec { @@ -19,12 +20,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ fontforge + installFonts python3 ]; installPhase = '' runHook preInstall - find . -name '*Narrow*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \; install -m444 -Dt $out/doc/${pname}-${version} AUTHORS ChangeLog COPYING License.txt README.rst runHook postInstall ''; From f0a0e348772fd4c8d127d43f962cd0b0d5a9172f Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Sun, 1 Mar 2026 23:05:43 -0800 Subject: [PATCH 07/14] liberastika: use installFonts hook --- pkgs/by-name/li/liberastika/package.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/li/liberastika/package.nix b/pkgs/by-name/li/liberastika/package.nix index b8f77be79b15..e4a0cddbeab5 100644 --- a/pkgs/by-name/li/liberastika/package.nix +++ b/pkgs/by-name/li/liberastika/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchzip, + installFonts, }: stdenvNoCC.mkDerivation rec { @@ -14,13 +15,7 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-woUpOmxhj6eEw7PKJ8EyRcs3ORj0gCZhxHP5a5dy5z0="; }; - installPhase = '' - runHook preInstall - - install -Dm644 *.ttf -t $out/share/fonts/truetype - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { description = "Liberation Sans fork with improved cyrillic support"; From 8e3dce14145ccfd01cb6455c2267a6d26de2c9ca Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Mon, 2 Mar 2026 16:01:36 -0800 Subject: [PATCH 08/14] ubuntu-classic: use installFonts hook --- pkgs/by-name/ph/phira-free/package.nix | 2 +- pkgs/by-name/ub/ubuntu-classic/package.nix | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ph/phira-free/package.nix b/pkgs/by-name/ph/phira-free/package.nix index 3cc205396a2e..f0fa9687cbcd 100644 --- a/pkgs/by-name/ph/phira-free/package.nix +++ b/pkgs/by-name/ph/phira-free/package.nix @@ -24,7 +24,7 @@ phira.override { chmod -R +w $out/assets magick -size 4000x2000 canvas:'rgb(128,162,206)' $out/assets/background.jpg - cp ${ubuntu-classic}/share/fonts/truetype/ubuntu/Ubuntu-R.ttf $out/assets/font.ttf + cp ${ubuntu-classic}/share/fonts/truetype/Ubuntu-R.ttf $out/assets/font.ttf runHook postInstall ''; diff --git a/pkgs/by-name/ub/ubuntu-classic/package.nix b/pkgs/by-name/ub/ubuntu-classic/package.nix index 7752660ac3b7..4dda1ad60215 100644 --- a/pkgs/by-name/ub/ubuntu-classic/package.nix +++ b/pkgs/by-name/ub/ubuntu-classic/package.nix @@ -3,6 +3,7 @@ stdenvNoCC, fetchgit, gitUpdater, + installFonts, }: stdenvNoCC.mkDerivation (finalAttrs: { @@ -15,12 +16,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-GrpBVgisVu7NklFYqkEqYi0hui/pCHlsM3Ky4mEUq90="; }; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ installFonts ]; - install -m444 -Dt $out/share/fonts/truetype/ubuntu *.ttf - - runHook postInstall + # Hinting sources such as sources/VTT/Ubuntu-B-hinting.ttf are not fonts to install + preInstall = '' + rm -r sources ''; passthru.updateScript = gitUpdater { rev-prefix = "import/"; }; From 889796f81478af796ba169d219d79e553bea4f17 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Mon, 2 Mar 2026 16:32:38 -0800 Subject: [PATCH 09/14] helvetica-neue-lt-std: use installFonts hook --- pkgs/by-name/he/helvetica-neue-lt-std/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/he/helvetica-neue-lt-std/package.nix b/pkgs/by-name/he/helvetica-neue-lt-std/package.nix index 8a8d8a083523..c1b6fb5684b2 100644 --- a/pkgs/by-name/he/helvetica-neue-lt-std/package.nix +++ b/pkgs/by-name/he/helvetica-neue-lt-std/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchzip, + installFonts, }: stdenvNoCC.mkDerivation { @@ -14,12 +15,11 @@ stdenvNoCC.mkDerivation { hash = "sha256-ytoTTrnwN1lMw/gTxS4DRAq+tV5WzB2xHP4vVxLZ1ZI="; }; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ installFonts ]; - install -Dm644 'Helvetica Neue LT Std'/*.otf -t $out/share/fonts/opentype - - runHook postInstall + # AppleDouble metadata files named ._*.otf would be installed as fonts + preInstall = '' + rm -r __MACOSX ''; meta = { From 6bc760717c87d32050eeff8bfd2ffd94addfe4f6 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Mon, 2 Mar 2026 15:46:00 -0800 Subject: [PATCH 10/14] khmeros: use installFonts hook --- pkgs/by-name/kh/khmeros/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/kh/khmeros/package.nix b/pkgs/by-name/kh/khmeros/package.nix index 07ba50b5680d..4a78cf57649a 100644 --- a/pkgs/by-name/kh/khmeros/package.nix +++ b/pkgs/by-name/kh/khmeros/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchurl, + installFonts, }: stdenvNoCC.mkDerivation rec { @@ -13,14 +14,7 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-gBcM9YHSuhbxvwfQTvywH/5kN921GOyvGtkROcmcBiw="; }; - installPhase = '' - runHook preInstall - - mkdir -p $out/share/fonts - cp *.ttf $out/share/fonts - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { description = "Unicode fonts for the Khmer language"; From 1c642edd5628c30c10181f780c629e546ffb54ee Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Wed, 4 Mar 2026 00:01:34 -0800 Subject: [PATCH 11/14] linja-pi-pu-lukin: add `0-` prefix to `unstable-` version --- pkgs/by-name/li/linja-pi-pu-lukin/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/linja-pi-pu-lukin/package.nix b/pkgs/by-name/li/linja-pi-pu-lukin/package.nix index 98d0ff97a165..26d518987fef 100644 --- a/pkgs/by-name/li/linja-pi-pu-lukin/package.nix +++ b/pkgs/by-name/li/linja-pi-pu-lukin/package.nix @@ -6,7 +6,7 @@ stdenvNoCC.mkDerivation { pname = "linja-pi-pu-lukin"; - version = "unstable-2021-10-29"; + version = "0-unstable-2021-10-29"; src = fetchurl { url = "https://web.archive.org/web/20211029000000/https://jansa-tp.github.io/linja-pi-pu-lukin/PuLukin.otf"; From 4c5ed2cb103c0fe9c90f56568284b1225b3cf837 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Wed, 14 Oct 2026 23:07:52 -0700 Subject: [PATCH 12/14] linja-pi-pu-lukin: use installFonts hook --- pkgs/by-name/li/linja-pi-pu-lukin/package.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/li/linja-pi-pu-lukin/package.nix b/pkgs/by-name/li/linja-pi-pu-lukin/package.nix index 26d518987fef..b4b94e2253eb 100644 --- a/pkgs/by-name/li/linja-pi-pu-lukin/package.nix +++ b/pkgs/by-name/li/linja-pi-pu-lukin/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchurl, + installFonts, }: stdenvNoCC.mkDerivation { @@ -15,12 +16,10 @@ stdenvNoCC.mkDerivation { dontUnpack = true; - installPhase = '' - runHook preInstall + nativeBuildInputs = [ installFonts ]; - install -D $src $out/share/fonts/opentype/linja-pi-pu-lukin.otf - - runHook postInstall + preInstall = '' + cp $src linja-pi-pu-lukin.otf ''; meta = { From a30f38070ee62799db43aef7a7a2725d2515e860 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Fri, 16 Oct 2026 19:03:43 -0700 Subject: [PATCH 13/14] amiri: add doc output --- pkgs/by-name/am/amiri/package.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/am/amiri/package.nix b/pkgs/by-name/am/amiri/package.nix index 763a7ee5fb2f..2e42acdacdaa 100644 --- a/pkgs/by-name/am/amiri/package.nix +++ b/pkgs/by-name/am/amiri/package.nix @@ -14,13 +14,18 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-BsYPMBlRdzlkvyleZIxGDuGjmqhDlEJ4udj8zoKUSzA="; }; + outputs = [ + "out" + "doc" + ]; + nativeBuildInputs = [ installFonts ]; installPhase = '' runHook preInstall - mkdir -p $out/share/doc/amiri-${finalAttrs.version} - mv {*.html,*.txt,*.md} $out/share/doc/amiri-${finalAttrs.version}/ + mkdir -p $doc/share/doc/amiri-${finalAttrs.version} + mv {*.html,*.txt,*.md} $doc/share/doc/amiri-${finalAttrs.version}/ runHook postInstall ''; From 6766871eaa521158ca05a46e2fbf01ac34e0eca3 Mon Sep 17 00:00:00 2001 From: Yiyu Zhou Date: Fri, 16 Oct 2026 19:03:43 -0700 Subject: [PATCH 14/14] libre-franklin: add doc output --- pkgs/by-name/li/libre-franklin/package.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libre-franklin/package.nix b/pkgs/by-name/li/libre-franklin/package.nix index f7994fa6ff9b..48820b374746 100644 --- a/pkgs/by-name/li/libre-franklin/package.nix +++ b/pkgs/by-name/li/libre-franklin/package.nix @@ -16,6 +16,11 @@ stdenvNoCC.mkDerivation rec { hash = "sha256-GR1KHiQ1lTOmU8eAPR2pxUlMpWiW2EDMG78VDjELxDU="; }; + outputs = [ + "out" + "doc" + ]; + nativeBuildInputs = [ installFonts ]; # Same fonts as fonts/OTF, so install only the OTF versions @@ -26,7 +31,7 @@ stdenvNoCC.mkDerivation rec { installPhase = '' runHook preInstall - install -m444 -Dt $out/share/doc/${pname}-${version} README.md FONTLOG.txt + install -m444 -Dt $doc/share/doc/${pname}-${version} README.md FONTLOG.txt runHook postInstall '';