From 9b20a9b67ca1bf4bfda04f018c13f30e20f8bd75 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 4 Mar 2026 20:10:22 -0800 Subject: [PATCH 1/6] fira-math: use installFonts --- pkgs/by-name/fi/fira-math/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/fi/fira-math/package.nix b/pkgs/by-name/fi/fira-math/package.nix index 7e74d3fd0ca7..984c90e2033b 100644 --- a/pkgs/by-name/fi/fira-math/package.nix +++ b/pkgs/by-name/fi/fira-math/package.nix @@ -2,6 +2,7 @@ lib, fetchFromGitHub, python3, + installFonts, stdenvNoCC, }: @@ -21,6 +22,7 @@ stdenvNoCC.mkDerivation { }; nativeBuildInputs = [ + installFonts (python3.withPackages ( ps: with ps; [ fontmake @@ -39,14 +41,6 @@ stdenvNoCC.mkDerivation { runHook postBuild ''; - installPhase = '' - runHook preInstall - - install -D "build/"*.otf -t "$out/share/fonts/opentype/" - - runHook postInstall - ''; - meta = { description = "Math font with Unicode math support based on FiraSans and FiraGO"; homepage = "https://github.com/firamath/firamath"; From 878a461b0c44c1bbbb91f43d6b77e91bbcf63ae4 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 4 Mar 2026 20:12:12 -0800 Subject: [PATCH 2/6] fira-mono: use installFonts --- pkgs/by-name/fi/fira-mono/package.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/fi/fira-mono/package.nix b/pkgs/by-name/fi/fira-mono/package.nix index e6588d8e0e81..e1b26b110885 100644 --- a/pkgs/by-name/fi/fira-mono/package.nix +++ b/pkgs/by-name/fi/fira-mono/package.nix @@ -2,26 +2,26 @@ lib, stdenvNoCC, fetchzip, + installFonts, }: -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "fira-mono"; version = "3.2"; + outputs = [ + "out" + "webfont" + ]; + src = fetchzip { url = "https://carrois.com/downloads/Fira/Fira_Mono_${ - lib.replaceStrings [ "." ] [ "_" ] version + lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version }.zip"; hash = "sha256-Ukc+K2sdSz+vUQFD8mmwJHZQ3N68oM4fk6YzGLwzAfQ="; }; - installPhase = '' - runHook preInstall - - install -Dm644 Fonts/FiraMono_OTF*/*.otf -t $out/share/fonts/opentype - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { homepage = "https://carrois.com/fira/"; @@ -36,4 +36,4 @@ stdenvNoCC.mkDerivation rec { maintainers = [ lib.maintainers.rycee ]; platforms = lib.platforms.all; }; -} +}) From 2cbdcc0dc4cc9295a4b63c76853e387261e6685c Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 4 Mar 2026 20:14:10 -0800 Subject: [PATCH 3/6] fira-go: use installFonts --- pkgs/by-name/fi/fira-go/package.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/fi/fira-go/package.nix b/pkgs/by-name/fi/fira-go/package.nix index 669601ea3206..5c6e9e3957d3 100644 --- a/pkgs/by-name/fi/fira-go/package.nix +++ b/pkgs/by-name/fi/fira-go/package.nix @@ -2,27 +2,27 @@ lib, stdenvNoCC, fetchzip, + installFonts, }: -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "fira-go"; version = "1.001"; + outputs = [ + "out" + "webfont" + ]; + src = fetchzip { url = "https://carrois.com/downloads/FiraGO/Download_Folder_FiraGO_${ - lib.replaceStrings [ "." ] [ "" ] version + lib.replaceStrings [ "." ] [ "" ] finalAttrs.version }.zip"; hash = "sha256-+lw4dh7G/Xv3pzGXdMUl9xNc2Nk7wUOAh+lq3K1LrXs="; stripRoot = false; }; - installPhase = '' - runHook preInstall - - install --mode=644 -Dt $out/share/fonts/opentype Download_Folder_FiraGO*/Fonts/FiraGO_OTF*/*/*.otf - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { homepage = "https://carrois.com/fira/"; @@ -34,4 +34,4 @@ stdenvNoCC.mkDerivation rec { maintainers = [ lib.maintainers.loicreynier ]; platforms = lib.platforms.all; }; -} +}) From 69e70dcb52d1f99ff735330101f03c2ab9dd24a9 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 4 Mar 2026 20:16:10 -0800 Subject: [PATCH 4/6] fira-sans: use installFonts --- pkgs/by-name/fi/fira-sans/package.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/fi/fira-sans/package.nix b/pkgs/by-name/fi/fira-sans/package.nix index 4dd3a09ccb74..c7ef979a1716 100644 --- a/pkgs/by-name/fi/fira-sans/package.nix +++ b/pkgs/by-name/fi/fira-sans/package.nix @@ -2,27 +2,26 @@ lib, stdenvNoCC, fetchzip, + installFonts, }: -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "fira-sans"; version = "4.301"; + outputs = [ + "out" + "webfont" + ]; src = fetchzip { url = "https://carrois.com/downloads/Fira/Download_Folder_FiraSans_${ - lib.replaceStrings [ "." ] [ "" ] version + lib.replaceStrings [ "." ] [ "" ] finalAttrs.version }.zip"; hash = "sha256-WBt3oqPK7ACqMhilYkyFx9Ek2ugwdCDFZN+8HLRnGRs"; stripRoot = false; }; - installPhase = '' - runHook preInstall - - install --mode=644 -Dt $out/share/fonts/opentype Download_Folder_FiraSans*/Fonts/Fira_Sans_OTF*/*/*/*.otf - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { homepage = "https://carrois.com/fira/"; @@ -36,7 +35,8 @@ stdenvNoCC.mkDerivation rec { Medium, Semi Bold, Bold, Extra Bold, Heavy weights with corresponding italic versions. ''; + maintainers = with lib.maintainers; [ pancaek ]; license = lib.licenses.ofl; platforms = lib.platforms.all; }; -} +}) From 2d2a986c1d68e812ec3654b4310fe7943a6591b4 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 4 Mar 2026 20:17:35 -0800 Subject: [PATCH 5/6] fira-code-symbols: use installFonts --- pkgs/by-name/fi/fira-code-symbols/package.nix | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/fi/fira-code-symbols/package.nix b/pkgs/by-name/fi/fira-code-symbols/package.nix index a2d0c568ef32..fa64ca4ed95a 100644 --- a/pkgs/by-name/fi/fira-code-symbols/package.nix +++ b/pkgs/by-name/fi/fira-code-symbols/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchzip, + installFonts, }: stdenvNoCC.mkDerivation { @@ -13,13 +14,7 @@ stdenvNoCC.mkDerivation { hash = "sha256-7y51blEn0Osf8azytK08zJgtfVX/CIWQkiOoRzYKIa4="; }; - installPhase = '' - runHook preInstall - - install -Dm644 *.otf -t $out/share/fonts/opentype - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { description = "FiraCode unicode ligature glyphs in private use area"; @@ -29,7 +24,7 @@ stdenvNoCC.mkDerivation { See https://github.com/tonsky/FiraCode/issues/211. ''; license = lib.licenses.ofl; - maintainers = [ ]; + maintainers = with lib.maintainers; [ pancaek ]; homepage = "https://github.com/tonsky/FiraCode/issues/211#issuecomment-239058632"; }; } From de800ded1dac39ee845dff643368be1702c0cfcc Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Wed, 4 Mar 2026 20:22:35 -0800 Subject: [PATCH 6/6] fira-code: use installFonts --- pkgs/by-name/fi/fira-code/package.nix | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/fi/fira-code/package.nix b/pkgs/by-name/fi/fira-code/package.nix index f1f42f07d3ff..dd072ea72bc6 100644 --- a/pkgs/by-name/fi/fira-code/package.nix +++ b/pkgs/by-name/fi/fira-code/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchzip, + installFonts, useVariableFont ? true, }: @@ -16,15 +17,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { }; # only extract the variable font because everything else is a duplicate - installPhase = '' - runHook preInstall + preInstall = "cd ${lib.optionalString useVariableFont "variable_"}ttf"; - install -Dm644 -t $out/share/fonts/truetype ${ - if useVariableFont then "variable_ttf/*-VF.ttf" else "ttf/*.ttf" - } - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { homepage = "https://github.com/tonsky/FiraCode";