about summary refs log tree commit diff
path: root/pkgs/data
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-01-28 06:13:31 +0100
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-01-28 06:13:31 +0100
commitf71d67800f55e7f4f4e00fda5bba3aa4d4184534 (patch)
treeba080925f365d3d7e590b163b538d5c97fb3fe97 /pkgs/data
parent3dd3562fa08e5a7cbe58c91b7f5b4aacd92d4012 (diff)
treewide: convert 26 fonts to stdenvNoCC.mkDerivation
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/fonts/fraunces/default.nix32
-rw-r--r--pkgs/data/fonts/galatia-sil/default.nix48
-rw-r--r--pkgs/data/fonts/gentium-book-basic/default.nix36
-rw-r--r--pkgs/data/fonts/gentium/default.nix42
-rw-r--r--pkgs/data/fonts/hack/default.nix30
-rw-r--r--pkgs/data/fonts/hasklig/default.nix29
-rw-r--r--pkgs/data/fonts/hyperscrypt/default.nix35
-rw-r--r--pkgs/data/fonts/ibm-plex/default.nix27
-rw-r--r--pkgs/data/fonts/inter/default.nix31
-rw-r--r--pkgs/data/fonts/ipaexfont/default.nix28
-rw-r--r--pkgs/data/fonts/ipafont/default.nix28
-rw-r--r--pkgs/data/fonts/jost/default.nix29
-rw-r--r--pkgs/data/fonts/kawkab-mono/default.nix29
-rw-r--r--pkgs/data/fonts/lato/default.nix29
-rw-r--r--pkgs/data/fonts/lmmath/default.nix34
-rw-r--r--pkgs/data/fonts/mno16/default.nix27
-rw-r--r--pkgs/data/fonts/mononoki/default.nix30
-rw-r--r--pkgs/data/fonts/nanum-gothic-coding/default.nix33
-rw-r--r--pkgs/data/fonts/national-park/default.nix29
-rw-r--r--pkgs/data/fonts/norwester/default.nix31
-rw-r--r--pkgs/data/fonts/oldstandard/default.nix32
-rw-r--r--pkgs/data/fonts/open-dyslexic/default.nix32
-rw-r--r--pkgs/data/fonts/overpass/default.nix33
-rw-r--r--pkgs/data/fonts/paratype-pt/mono.nix37
-rw-r--r--pkgs/data/fonts/paratype-pt/sans.nix37
-rw-r--r--pkgs/data/fonts/paratype-pt/serif.nix37
26 files changed, 454 insertions, 391 deletions
diff --git a/pkgs/data/fonts/fraunces/default.nix b/pkgs/data/fonts/fraunces/default.nix
index 2d053b1ce7fcb..7e453d05173f1 100644
--- a/pkgs/data/fonts/fraunces/default.nix
+++ b/pkgs/data/fonts/fraunces/default.nix
@@ -1,14 +1,22 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
-let
+{ lib, stdenvNoCC, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "fraunces";
   version = "1.000";
-in
-(fetchzip {
-  name = "fraunces-${version}";
 
-  url = "https://github.com/undercasetype/Fraunces/releases/download/${version}/UnderCaseType_Fraunces_${version}.zip";
+  src = fetchzip {
+    url = "https://github.com/undercasetype/Fraunces/releases/download/${version}/UnderCaseType_Fraunces_${version}.zip";
+    hash = "sha256-hu2G4Fs2I3TMEy/EBFnc88Pv3c8Mpc5rm3OwVvol7gQ=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "0qgl140qkn9p87x7pk60fd3lj206y5h0fq2xkcj2qiv3sxbqxwqb";
+    install -Dm644 *Desktop/static/otf/*.otf -t $out/share/fonts/opentype
+    install -Dm644 *Desktop/static/ttf/*.ttf *Desktop/*.ttf -t $out/share/fonts/truetype
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "A display, “Old Style” soft-serif typeface inspired by early 20th century typefaces";
@@ -17,10 +25,4 @@ in
     maintainers = [ maintainers.marsam ];
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/
-    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/galatia-sil/default.nix b/pkgs/data/fonts/galatia-sil/default.nix
index 965596373c26e..70881399d593e 100644
--- a/pkgs/data/fonts/galatia-sil/default.nix
+++ b/pkgs/data/fonts/galatia-sil/default.nix
@@ -1,31 +1,31 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "galatia-sil";
   version = "2.1";
-  name = "galatia-sil-${version}";
-in
-  (fetchzip rec {
-    inherit name;
 
+  src = fetchzip {
     url = "https://software.sil.org/downloads/r/galatia/GalatiaSIL-${version}.zip";
+    hash = "sha256-7kXnTC5vpUOjcT40oNW6e32zFGejlWJq1J+p+5DiAos=";
+  };
 
-    sha256 = "sha256-zLL/7LMcJul2LilhEafpvm+tiYlgv1y1jj85VvG+wiI=";
+  installPhase = ''
+    runHook preInstall
 
-    meta = with lib; {
-      homepage = "https://software.sil.org/galatia";
-      description = "Font designed to support Biblical Polytonic Greek";
-      longDescription = ''
-        Galatia SIL, designed to support Biblical Polytonic Greek, is a Unicode 3.1 font released under the SIL Open Font License. The font supports precomposed characters rather than decomposed characters. Thus, you must use a keyboard that outputs NFC encoding (precomposed).
-      '';
-      license = licenses.ofl;
-      platforms = platforms.all;
-      maintainers = [ maintainers.kmein ];
-    };
-  }).overrideAttrs (_: {
-    postFetch = ''
-      mkdir -p $out/share/{doc,fonts}
-      unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-      unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
+    install -Dm644 $downloadedFile *.ttf -t $out/share/fonts/truetype
+    install -Dm644 $downloadedFile OFL.txt OFL-FAQ.txt FONTLOG.txt -t $out/share/doc/${pname}-${version}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://software.sil.org/galatia";
+    description = "Font designed to support Biblical Polytonic Greek";
+    longDescription = ''
+      Galatia SIL, designed to support Biblical Polytonic Greek, is a Unicode 3.1 font released under the SIL Open Font License. The font supports precomposed characters rather than decomposed characters. Thus, you must use a keyboard that outputs NFC encoding (precomposed).
     '';
-  })
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [ maintainers.kmein ];
+  };
+}
diff --git a/pkgs/data/fonts/gentium-book-basic/default.nix b/pkgs/data/fonts/gentium-book-basic/default.nix
index be2f71b5346cf..96e9789cd115d 100644
--- a/pkgs/data/fonts/gentium-book-basic/default.nix
+++ b/pkgs/data/fonts/gentium-book-basic/default.nix
@@ -1,17 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
-  major = "1";
-  minor = "102";
-  version = "${major}.${minor}";
-  name = "gentium-book-basic-${version}";
-in (fetchzip rec {
-  inherit name;
+stdenvNoCC.mkDerivation rec {
+  pname = "gentium-book-basic";
+  version = "1.102";
 
-  url = "http://software.sil.org/downloads/r/gentium/GentiumBasic_${major}${minor}.zip";
+  src = fetchzip {
+    url = "http://software.sil.org/downloads/r/gentium/GentiumBasic_${lib.versions.major version}${lib.versions.minor version}.zip";
+    hash = "sha256-oCmpl95MJRfCV25cg/4cf8AwQWnoymXasSss1ziOPoE=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "0598zr5f7d6ll48pbfbmmkrybhhdks9b2g3m2g67wm40070ffzmd";
+    mkdir -p $out/share/{doc,fonts}
+    install -Dm644 *.ttf                       -t $out/share/fonts/truetype
+    install -Dm644 FONTLOG.txt GENTIUM-FAQ.txt -t $out/share/doc/${pname}-${version}
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://software.sil.org/gentium/";
@@ -20,10 +26,4 @@ in (fetchzip rec {
     license = licenses.ofl;
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.ttf                            -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*/FONTLOG.txt \*/GENTIUM-FAQ.txt -d $out/share/doc/${name}
-  '';
-})
+}
diff --git a/pkgs/data/fonts/gentium/default.nix b/pkgs/data/fonts/gentium/default.nix
index 9494f8e62afe4..5c3f7dfab23f1 100644
--- a/pkgs/data/fonts/gentium/default.nix
+++ b/pkgs/data/fonts/gentium/default.nix
@@ -1,15 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "gentium";
   version = "6.101";
-  name = "gentium-${version}";
-in (fetchzip rec {
-  inherit name;
 
-  url = "http://software.sil.org/downloads/r/gentium/GentiumPlus-${version}.zip";
+  src = fetchzip {
+    url = "http://software.sil.org/downloads/r/gentium/GentiumPlus-${version}.zip";
+    hash = "sha256-iKD1Q7/lsbZCuJQoJqySQHwplrHv8yzmph+QwKpYgMU=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "sha256-+T5aUlqQYDWRp4/4AZzsREHgjAnOeUB6qn1GAI0A5hE=";
+    install -Dm644 *.ttf -t $out/share/fonts/truetype
+    install -Dm644 FONTLOG.txt README.txt -t $out/share/doc/${pname}-${version}
+    cp -r documentation $out/share/doc/${pname}-${version}
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://software.sil.org/gentium/";
@@ -34,20 +42,4 @@ in (fetchzip rec {
     license = licenses.ofl;
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -l $downloadedFile
-    unzip -j $downloadedFile \*.ttf \
-      -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \
-      \*/FONTLOG.txt \
-      \*/README.txt \
-      -d $out/share/doc/${name}
-    unzip -j $downloadedFile \
-      \*/documentation/\*.html \
-      \*/documentation/\*.txt \
-      -x \*/documentation/source/\* \
-      -d $out/share/doc/${name}/documentation
-  '';
-})
+}
diff --git a/pkgs/data/fonts/hack/default.nix b/pkgs/data/fonts/hack/default.nix
index 4b67da84d99ae..6c6bd1918dbf8 100644
--- a/pkgs/data/fonts/hack/default.nix
+++ b/pkgs/data/fonts/hack/default.nix
@@ -1,14 +1,21 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "hack-font";
   version = "3.003";
-in (fetchzip {
-  name = "hack-font-${version}";
 
-  url = "https://github.com/chrissimpkins/Hack/releases/download/v${version}/Hack-v${version}-ttf.zip";
+  src = fetchzip {
+    url = "https://github.com/chrissimpkins/Hack/releases/download/v${version}/Hack-v${version}-ttf.zip";
+    hash = "sha256-SxF4kYp9aL/9L9EUniquFadzWt/+PcvhUQOIOvCrFRM=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "1l6ih6v7dqali5c7zh6z2xnbf9h2wz0ag6fdgszmqd5lnhw39v6s";
+    install -Dm644 *.ttf -t $out/share/fonts/hack
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "A typeface designed for source code";
@@ -22,7 +29,7 @@ in (fetchzip {
     homepage = "https://sourcefoundry.org/hack/";
 
     /*
-     "The font binaries are released under a license that permits unlimited
+      "The font binaries are released under a license that permits unlimited
       print, desktop, and web use for commercial and non-commercial
       applications. It may be embedded and distributed in documents and
       applications. The source is released in the widely supported UFO format
@@ -33,9 +40,4 @@ in (fetchzip {
     maintainers = with maintainers; [ dywedir ];
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/hack
-  '';
-})
+}
diff --git a/pkgs/data/fonts/hasklig/default.nix b/pkgs/data/fonts/hasklig/default.nix
index 8c81bf520424e..a69f8f743cbea 100644
--- a/pkgs/data/fonts/hasklig/default.nix
+++ b/pkgs/data/fonts/hasklig/default.nix
@@ -1,14 +1,22 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "hasklig";
   version = "1.1";
-in (fetchzip {
-  name = "hasklig-${version}";
 
-  url = "https://github.com/i-tu/Hasklig/releases/download/${version}/Hasklig-${version}.zip";
+  src = fetchzip {
+    url = "https://github.com/i-tu/Hasklig/releases/download/${version}/Hasklig-${version}.zip";
+    stripRoot = false;
+    hash = "sha256-jsPQtjuegMePt4tB1dZ9mq15LSxXBYwtakbq4od/sko=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "0xxyx0nkapviqaqmf3b610nq17k20afirvc72l32pfspsbxz8ybq";
+    install -m444 -Dt $out/share/fonts/opentype *.otf
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/i-tu/Hasklig";
@@ -17,9 +25,4 @@ in (fetchzip {
     platforms = platforms.all;
     maintainers = with maintainers; [ davidrusu Profpatsch ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    unzip $downloadedFile
-    install -m444 -Dt $out/share/fonts/opentype *.otf
-  '';
-})
+}
diff --git a/pkgs/data/fonts/hyperscrypt/default.nix b/pkgs/data/fonts/hyperscrypt/default.nix
index 29abcfd607f78..c72e4b9e19a09 100644
--- a/pkgs/data/fonts/hyperscrypt/default.nix
+++ b/pkgs/data/fonts/hyperscrypt/default.nix
@@ -1,15 +1,22 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ fetchzip, lib }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "hyperscrypt";
   version = "1.1";
-  pname = "HyperScrypt";
-in
 
-(fetchzip {
-  name = "${lib.toLower pname}-font-${version}";
-  url = "https://gitlab.com/StudioTriple/Hyper-Scrypt/-/archive/${version}/Hyper-Scrypt-${version}.zip";
-  sha256 = "01pf5p2scmw02s0gxnibiwxbpzczphaaapv0v4s7svk9aw2gmc0m";
+  src = fetchzip {
+    url = "https://gitlab.com/StudioTriple/Hyper-Scrypt/-/archive/${version}/Hyper-Scrypt-${version}.zip";
+    hash = "sha256-ONlAB9C/GYK6KmOaiHCYErkS6OlQ3TUnoumNDHGZnes=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 fonts/HyperScrypt_Web/*.ttf -t $out/share/fonts/truetype/
+    install -Dm644 fonts/HyperScrypt_Web/*.otf fonts/*.otf -t $out/share/fonts/opentype/
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://velvetyne.fr/fonts/hyper-scrypt/";
@@ -28,15 +35,9 @@ in
       molted metal, Hyper Scrypt is based upon a rigorous grid,
       allowing some neat alignements between shapes in multi lines
       layouts.
-      '';
+    '';
     license = licenses.ofl;
     maintainers = with maintainers; [ leenaars ];
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/{truetype,opentype}
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/${pname}.ttf
-    unzip -j $downloadedFile \*${pname}.otf -d $out/share/fonts/opentype/${pname}.otf
-  '';
-})
+}
diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix
index c632338d59e1b..9909f8f5a3e0b 100644
--- a/pkgs/data/fonts/ibm-plex/default.nix
+++ b/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,15 +1,21 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "ibm-plex";
   version = "6.0.1";
 
-in (fetchzip {
-  name = "ibm-plex-${version}";
+  src = fetchzip {
+    url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
+    hash = "sha256-n13NuKrZUc0JGvDf2PLZkxogefDkEHaOZk4JN42/C74=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
+    install -Dm644 */*.otf IBM-Plex-Sans-JP/unhinted/* -t $out/share/fonts/opentype
 
-  sha256 = "sha256-HxO0L5Q6WJQBqtg64cczzuRcSYi4jEqbOzEWxDmqFp8=";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "IBM Plex Typeface";
@@ -19,9 +25,4 @@ in (fetchzip {
     platforms = platforms.all;
     maintainers = [ maintainers.romildo ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile "OpenType/*/*.otf" -x "OpenType/IBM-Plex-Sans-JP/unhinted/*" -d $out/share/fonts/opentype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/inter/default.nix b/pkgs/data/fonts/inter/default.nix
index 16adc93a9eec2..46ab699fd3986 100644
--- a/pkgs/data/fonts/inter/default.nix
+++ b/pkgs/data/fonts/inter/default.nix
@@ -1,14 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "inter";
   version = "3.19";
-in (fetchzip {
-  name = "inter-${version}";
 
-  url = "https://github.com/rsms/inter/releases/download/v${version}/Inter-${version}.zip";
+  src = fetchzip {
+    url = "https://github.com/rsms/inter/releases/download/v${version}/Inter-${version}.zip";
+    stripRoot = false;
+    hash = "sha256-6kUQUTFtxiJEU6sYC6HzMwm1H4wvaKIoxoY3F6GJJa8=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/fonts/opentype
+    cp */*.otf $out/share/fonts/opentype
 
-  sha256 = "sha256-8p15thg3xyvCA/8dH2jGQoc54nzESFDyv5m47FgWrSI=";
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://rsms.me/inter/";
@@ -17,10 +26,4 @@ in (fetchzip {
     platforms = platforms.all;
     maintainers = with maintainers; [ demize dtzWill ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/opentype
-    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
-  '';
-})
-
+}
diff --git a/pkgs/data/fonts/ipaexfont/default.nix b/pkgs/data/fonts/ipaexfont/default.nix
index 9f3268f8d5b76..986eab13a2577 100644
--- a/pkgs/data/fonts/ipaexfont/default.nix
+++ b/pkgs/data/fonts/ipaexfont/default.nix
@@ -1,12 +1,21 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-(fetchzip {
-  name = "ipaexfont-004.01";
+stdenvNoCC.mkDerivation {
+  pname = "ipaexfont";
+  version = "004.01";
 
-  url = "https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip";
+  src = fetchzip {
+    url = "https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip";
+    hash = "sha256-/87qJIb+v4qrtDy+ApfXxh59reOk+6RhGqFN98mc+8Q=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "0wp369kri33kb1mmiq4lpl9i4xnacw9fj63ycmkmlkq64s8qnjnx";
+    install -Dm644 *.ttf -t $out/share/fonts/opentype
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "Japanese font package with Mincho and Gothic fonts";
@@ -21,9 +30,4 @@
     license = licenses.ipa;
     maintainers = with maintainers; [ gebner ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/opentype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/ipafont/default.nix b/pkgs/data/fonts/ipafont/default.nix
index 5dca9b9faa918..8a1f91da34fb3 100644
--- a/pkgs/data/fonts/ipafont/default.nix
+++ b/pkgs/data/fonts/ipafont/default.nix
@@ -1,12 +1,21 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-(fetchzip {
-  name = "ipafont-003.03";
+stdenvNoCC.mkDerivation {
+  pname = "ipafont";
+  version = "003.03";
 
-  url = "https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont00303.zip";
+  src = fetchzip {
+    url = "https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont00303.zip";
+    hash = "sha256-EzUNKuDNHr0NIXiqX09w99wtz1r2pZurR/izdgzTcAs=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "0lrjd0bfy36f9j85m12afg5nvr5id3sig2nmzs5qifskbd7mqv9h";
+    install -Dm644 *.ttf -t $out/share/fonts/opentype
+
+    runHook postInstall
+  '';
 
   meta = {
     description = "Japanese font package with Mincho and Gothic fonts";
@@ -19,9 +28,4 @@
     license = lib.licenses.ipa;
     maintainers = [ lib.maintainers.auntie ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/opentype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/jost/default.nix b/pkgs/data/fonts/jost/default.nix
index 676ec842c8d24..f5d3a1e48b5a1 100644
--- a/pkgs/data/fonts/jost/default.nix
+++ b/pkgs/data/fonts/jost/default.nix
@@ -1,13 +1,21 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{lib, fetchzip}:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "jost";
   version = "3.5";
-in (fetchzip {
-  name = "jost-${version}";
-  url = "https://github.com/indestructible-type/Jost/releases/download/${version}/Jost.zip";
 
-  sha256="0l78vhmbsyfmrva5wc76pskhxqryyg8q5xddpj9g5wqsddy525dq";
+  src = fetchzip {
+    url = "https://github.com/indestructible-type/Jost/releases/download/${version}/Jost.zip";
+    hash = "sha256-ne81bMhmTzNZ/GGIzb7nCYh19vNLK+hJ3cP/zDxtiGM=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 fonts/otf/*.otf -t $out/share/fonts/opentype
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/indestructible-type/Jost";
@@ -15,9 +23,4 @@ in (fetchzip {
     license = licenses.ofl;
     maintainers = [ maintainers.ar1a ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/kawkab-mono/default.nix b/pkgs/data/fonts/kawkab-mono/default.nix
index 2dbe43aa6aec6..1a2f51a6d625f 100644
--- a/pkgs/data/fonts/kawkab-mono/default.nix
+++ b/pkgs/data/fonts/kawkab-mono/default.nix
@@ -1,21 +1,26 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-(fetchzip {
-  name = "kawkab-mono-20151015";
+stdenvNoCC.mkDerivation {
+  pname = "kawkab-mono";
+  version = "20151015";
 
-  url = "http://makkuk.com/kawkab-mono/downloads/kawkab-mono-0.1.zip";
+  src = fetchzip {
+    url = "http://makkuk.com/kawkab-mono/downloads/kawkab-mono-0.1.zip";
+    stripRoot = false;
+    hash = "sha256-arZTzXj7Ba5G4WF3eZVGNaONhOsYVPih9iBgsN/lg14=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "1vfrb7xs817najplncg7zl9j5yxj8qnwb7aqm2v9p9xwafa4d2yd";
+    install -Dm644 *.ttf -t $out/share/fonts/truetype
+
+    runHook postInstall
+  '';
 
   meta = {
     description = "An arab fixed-width font";
     homepage = "https://makkuk.com/kawkab-mono/";
     license = lib.licenses.ofl;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/lato/default.nix b/pkgs/data/fonts/lato/default.nix
index 7fa894c1cc8d2..ff1cc62bee0e9 100644
--- a/pkgs/data/fonts/lato/default.nix
+++ b/pkgs/data/fonts/lato/default.nix
@@ -1,12 +1,22 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-(fetchzip {
-  name = "lato-2.0";
+stdenvNoCC.mkDerivation {
+  pname = "lato";
+  version = "2.0";
 
-  url = "https://www.latofonts.com/download/Lato2OFL.zip";
+  src = fetchzip {
+    url = "https://www.latofonts.com/download/Lato2OFL.zip";
+    stripRoot = false;
+    hash = "sha256-n1TsqigCQIGqyGLGTjLtjHuBf/iCwRlnqh21IHfAuXI=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "1amwn6vcaggxrd2s4zw21s2pr47zmzdf2xfy4x9lxa2cd9bkhvg5";
+    install -Dm644 Lato2OFL/*.ttf -t $out/share/fonts/lato
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://www.latofonts.com/";
@@ -32,9 +42,4 @@
     platforms = platforms.all;
     maintainers = with maintainers; [ chris-martin ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/lato
-  '';
-})
+}
diff --git a/pkgs/data/fonts/lmmath/default.nix b/pkgs/data/fonts/lmmath/default.nix
index ebe4ceb88ca11..3881f0f0f4e76 100644
--- a/pkgs/data/fonts/lmmath/default.nix
+++ b/pkgs/data/fonts/lmmath/default.nix
@@ -1,13 +1,24 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "lmmath";
   version = "1.959";
-in (fetchzip rec {
-  name = "lmmath-${version}";
 
-  url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip";
-  sha256 = "05k145bxgxjh7i9gx1ahigxfpc2v2vwzsy2mc41jvvg51kjr8fnn";
+  src = fetchzip {
+    url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip";
+    hash = "sha256-et/WMhfZZYgP0S7ZmI6MZK5owv9bSoMBXFX6yGSng5Y=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/fonts/opentype/
+    mkdir -p $out/share/doc/latinmodern-math-${version}/
+    cp otf/*.otf $out/share/fonts/opentype/
+    cp doc/*.txt $out/share/doc/latinmodern-math-${version}/
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "The Latin Modern Math (LM Math) font completes the modernization of the Computer Modern family of typefaces designed and programmed by Donald E. Knuth";
@@ -19,11 +30,4 @@ in (fetchzip rec {
     maintainers = with maintainers; [ siddharthist ];
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/opentype/
-    mkdir -p $out/share/doc/latinmodern-math-${version}/
-    unzip -j $downloadedFile "*/otf/*.otf" -d $out/share/fonts/opentype/
-    unzip -j $downloadedFile "*/doc/*.txt" -d $out/share/doc/latinmodern-math-${version}/
-  '';
-})
+}
diff --git a/pkgs/data/fonts/mno16/default.nix b/pkgs/data/fonts/mno16/default.nix
index f0ff4c1b2052e..59597120c1003 100644
--- a/pkgs/data/fonts/mno16/default.nix
+++ b/pkgs/data/fonts/mno16/default.nix
@@ -1,22 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
   pname = "mno16";
   version = "1.0";
-in (fetchzip rec {
-  name = "${pname}-${version}";
-  url = "https://github.com/sevmeyer/${pname}/releases/download/${version}/${name}.zip";
-  sha256 = "1x06nl281fcjk6g1p4cgrgxakmwcci6vvasskaygsqlzxd8ig87w";
+
+  src = fetchzip {
+    url = "https://github.com/sevmeyer/${pname}/releases/download/${version}/${pname}-${version}.zip";
+    stripRoot = false;
+    hash = "sha256-xJQ9V7GlGUTEeYhqYFl/SemS6iqV0eW85YOn/tLgA+M=";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp fonts/*.ttf $out/share/fonts/truetype/
+  '';
 
   meta = with lib; {
     description = "minimalist monospaced font";
     homepage = "https://sev.dev/fonts/mno16";
     license = licenses.cc0;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/
-  '';
-})
+}
diff --git a/pkgs/data/fonts/mononoki/default.nix b/pkgs/data/fonts/mononoki/default.nix
index b45d130b1c284..7f7c2876694fc 100644
--- a/pkgs/data/fonts/mononoki/default.nix
+++ b/pkgs/data/fonts/mononoki/default.nix
@@ -1,14 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "mononoki";
   version = "1.3";
-in (fetchzip {
-  name = "mononoki-${version}";
 
-  url = "https://github.com/madmalik/mononoki/releases/download/${version}/mononoki.zip";
+  src = fetchzip {
+    url = "https://github.com/madmalik/mononoki/releases/download/${version}/mononoki.zip";
+    stripRoot = false;
+    hash = "sha256-bZYBRdmbQVs4i6UzMIHwJnoLWggX4CW8ZogNFYiX/9w=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "sha256-K2uOpJRmQ1NcDZfh6rorCF0MvGHFCsSW8J7Ue9OC/OY=";
+    mkdir -p $out/share/fonts/mononoki
+    cp webfont/* $out/share/fonts/mononoki
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/madmalik/mononoki";
@@ -16,9 +25,4 @@ in (fetchzip {
     license = licenses.ofl;
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/mononoki
-    unzip -j $downloadedFile -d $out/share/fonts/mononoki
-  '';
-})
+}
diff --git a/pkgs/data/fonts/nanum-gothic-coding/default.nix b/pkgs/data/fonts/nanum-gothic-coding/default.nix
index 4a0e3c975f542..3798a33b66c67 100644
--- a/pkgs/data/fonts/nanum-gothic-coding/default.nix
+++ b/pkgs/data/fonts/nanum-gothic-coding/default.nix
@@ -1,15 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
-  version = "VER2.5";
-  fullName = "NanumGothicCoding-2.5";
+stdenvNoCC.mkDerivation rec {
+  pname = "nanum-gothic-coding";
+  version = "2.5";
 
-in (fetchzip {
-  name = "nanum-gothic-coding";
-  url = "https://github.com/naver/nanumfont/releases/download/${version}/${fullName}.zip";
+  src = fetchzip {
+    url = "https://github.com/naver/nanumfont/releases/download/VER${version}/NanumGothicCoding-${version}.zip";
+    stripRoot = false;
+    hash = "sha256-jHbbCMUxn54iQMKdAWI3r8CDxi+5LLJh8ucQzq2Ukdc=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "0b3pkhd6xn6393zi0dhj3ah08w1y1ji9fl6584bi0c8lanamf2pc";
+    mkdir -p $out/share/fonts/NanumGothicCoding
+    cp *.ttf $out/share/fonts/NanumGothicCoding
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "A contemporary monospaced sans-serif typeface with a warm touch";
@@ -18,9 +26,4 @@ in (fetchzip {
     platforms = platforms.all;
     maintainers = with maintainers; [ ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/NanumGothicCoding
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/NanumGothicCoding
-  '';
-})
+}
diff --git a/pkgs/data/fonts/national-park/default.nix b/pkgs/data/fonts/national-park/default.nix
index cfa36870ed4bc..4970e0d5920fa 100644
--- a/pkgs/data/fonts/national-park/default.nix
+++ b/pkgs/data/fonts/national-park/default.nix
@@ -1,14 +1,22 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
   pname = "national-park-typeface";
   version = "206464";
-in (fetchzip {
-  name = "${pname}-${version}";
-  url = "https://files.cargocollective.com/c${version}/NationalPark.zip";
 
-  sha256 = "044gh4xcasp8i9ny6z4nmns1am2pk5krc4ann2afq35v9bnl2q5d";
+  src = fetchzip {
+    url = "https://files.cargocollective.com/c${version}/NationalPark.zip";
+    stripRoot = false;
+    hash = "sha256-VUboZZVJfKupnoHXo3RxetEEYimrr1DxghVZaaWnnw4=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm644 *.otf -t $out/share/fonts/opentype/
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = ''Typeface designed to mimic the national park service
@@ -17,9 +25,4 @@ in (fetchzip {
     license = licenses.ofl;
     maintainers = with maintainers; [ dtzWill ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile National\*.otf -d $out/share/fonts/opentype/
-  '';
-})
+}
diff --git a/pkgs/data/fonts/norwester/default.nix b/pkgs/data/fonts/norwester/default.nix
index 5d96ba5527205..f1236d5c05c10 100644
--- a/pkgs/data/fonts/norwester/default.nix
+++ b/pkgs/data/fonts/norwester/default.nix
@@ -1,15 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
-  version = "1.2";
+stdenvNoCC.mkDerivation rec {
   pname = "norwester";
-in (fetchzip {
-  name = "${pname}-${version}";
+  version = "1.2";
 
-  url = "http://jamiewilson.io/norwester/assets/norwester.zip";
+  src = fetchzip {
+    url = "http://jamiewilson.io/norwester/assets/norwester.zip";
+    stripRoot = false;
+    hash = "sha256-Ak/nobrQE/XYGWs/IhlZlTp74ff+s4adUR6Sht5Yf8g=";
+  };
 
-  sha256 = "1npsaiiz9g5z6315lnmynwcnrfl37fyxc7w1mhkw1xbzcnv74z4r";
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/fonts/opentype
+    cp ${pname}-v${version}/${pname}.otf $out/share/fonts/opentype/
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://jamiewilson.io/norwester";
@@ -18,9 +26,4 @@ in (fetchzip {
     license = licenses.ofl;
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts/opentype
-    unzip -D -j $downloadedFile ${pname}-v${version}/${pname}.otf -d $out/share/fonts/opentype/
-  '';
-})
+}
diff --git a/pkgs/data/fonts/oldstandard/default.nix b/pkgs/data/fonts/oldstandard/default.nix
index c6b7846a85fe9..33bf37c18baef 100644
--- a/pkgs/data/fonts/oldstandard/default.nix
+++ b/pkgs/data/fonts/oldstandard/default.nix
@@ -1,15 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "oldstandard";
   version = "2.2";
-  name = "oldstandard-${version}";
-in (fetchzip rec {
-  inherit name;
 
-  url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${name}.otf.zip";
+  src = fetchzip {
+    url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${pname}-${version}.otf.zip";
+    stripRoot = false;
+    hash = "sha256-cDB5KJm87DK+GczZ3Nmn4l5ejqViswVbwrJ9XbhEh8I=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "1qwfsyp51grr56jcnkkmnrnl3r20pmhp9zh9g88kp64m026cah6n";
+    install -m444 -Dt $out/share/fonts/opentype *.otf
+    install -m444 -Dt $out/share/doc/${pname}-${version}    FONTLOG.txt
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/akryukov/oldstand";
@@ -18,10 +26,4 @@ in (fetchzip rec {
     license = licenses.ofl;
     platforms = platforms.all;
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    unzip $downloadedFile
-    install -m444 -Dt $out/share/fonts/opentype *.otf
-    install -m444 -Dt $out/share/doc/${name}    FONTLOG.txt
-  '';
-})
+}
diff --git a/pkgs/data/fonts/open-dyslexic/default.nix b/pkgs/data/fonts/open-dyslexic/default.nix
index f34ff0c17b7a7..8a6b01b1d6d79 100644
--- a/pkgs/data/fonts/open-dyslexic/default.nix
+++ b/pkgs/data/fonts/open-dyslexic/default.nix
@@ -1,26 +1,28 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation {
+  pname = "open-dyslexic";
   version = "2016-06-23";
-in (fetchzip {
-  name = "open-dyslexic-${version}";
 
-  url = "https://github.com/antijingoist/open-dyslexic/archive/20160623-Stable.zip";
+  src = fetchzip {
+    url = "https://github.com/antijingoist/open-dyslexic/archive/20160623-Stable.zip";
+    hash = "sha256-f/uavR3n0qHyqumZDw7r8Zy0om2RlJAKyWuGaUXSJ1s=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "1vl8z5rknh2hpr2f0v4b2qgs5kclx5pzyk8al7243k5db82a2cyi";
+    install -Dm644 otf/*.otf -t $out/share/fonts/opentype
+    install -Dm644 README.md -t $out/share/doc/open-dyslexic
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://opendyslexic.org/";
     description = "Font created to increase readability for readers with dyslexia";
     license = "Bitstream Vera License (https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts)";
     platforms = platforms.all;
-    maintainers = [maintainers.rycee];
+    maintainers = [ maintainers.rycee ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.otf       -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*/README.md -d $out/share/doc/open-dyslexic
-  '';
-})
+}
diff --git a/pkgs/data/fonts/overpass/default.nix b/pkgs/data/fonts/overpass/default.nix
index 553b4e52efdbb..521c08c85cea1 100644
--- a/pkgs/data/fonts/overpass/default.nix
+++ b/pkgs/data/fonts/overpass/default.nix
@@ -1,15 +1,23 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "overpass";
   version = "3.0.5";
-  name = "overpass-${version}";
-in (fetchzip rec {
-  inherit name;
 
-  url = "https://github.com/RedHatOfficial/Overpass/releases/download/v${version}/overpass-${version}.zip";
+  src = fetchzip {
+    url = "https://github.com/RedHatOfficial/Overpass/releases/download/v${version}/overpass-${version}.zip";
+    hash = "sha256-8AWT0/DELfNWXtZOejC90DbUSOtyGt9tSkcSuO7HP2o=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "1fpyhd6x3i3g0xxjmyfnjsri1kkvci15fv7jp1bnza7k0hz0bnha";
+    install -Dm644 */*/*.otf -t $out/share/fonts/opentype
+    install -Dm644 */*/*.ttf -t $out/share/fonts/truetype
+    install -Dm644 *.md  -t $out/share/doc/${pname}-${version}
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://overpassfont.org/";
@@ -18,11 +26,4 @@ in (fetchzip rec {
     platforms = platforms.all;
     maintainers = [ maintainers.rycee ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/fonts $out/share/doc
-    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.md  -d $out/share/doc/${name}
-  '';
-})
+}
diff --git a/pkgs/data/fonts/paratype-pt/mono.nix b/pkgs/data/fonts/paratype-pt/mono.nix
index 292e9466b96cb..86646ae0ac5de 100644
--- a/pkgs/data/fonts/paratype-pt/mono.nix
+++ b/pkgs/data/fonts/paratype-pt/mono.nix
@@ -1,15 +1,26 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-(fetchzip {
-  name = "paratype-pt-mono";
+stdenvNoCC.mkDerivation rec {
+  pname = "paratype-pt-mono";
+  version = "2.005";
 
-  urls = [
-    "https://company.paratype.com/system/attachments/631/original/ptmono.zip"
-    "http://rus.paratype.ru/system/attachments/631/original/ptmono.zip"
-  ];
+  src = fetchzip {
+    urls = [
+      "https://company.paratype.com/system/attachments/631/original/ptmono.zip"
+      "http://rus.paratype.ru/system/attachments/631/original/ptmono.zip"
+    ];
+    stripRoot = false;
+    hash = "sha256-mfDAu/KGelC6wZpUCrUrLVZKo+XiKNBqcpMI8tH2tMw=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "07kl82ngby55khvzsvn831ddpc0q8djgz2y6gsjixkyjfdk2xjjm";
+    install -Dm644 *.ttf -t $out/share/fonts/truetype
+    install -Dm644 *.txt -t $out/share/doc/paratype
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://www.paratype.ru/public/";
@@ -23,10 +34,4 @@
     platforms = platforms.all;
     maintainers = with maintainers; [ raskin ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.txt -d $out/share/doc/paratype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/paratype-pt/sans.nix b/pkgs/data/fonts/paratype-pt/sans.nix
index 1c976ecb489ed..dffd25c23aa59 100644
--- a/pkgs/data/fonts/paratype-pt/sans.nix
+++ b/pkgs/data/fonts/paratype-pt/sans.nix
@@ -1,15 +1,26 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-(fetchzip {
-  name = "paratype-pt-sans";
+stdenvNoCC.mkDerivation rec {
+  pname = "paratype-pt-sans";
+  version = "2.005";
 
-  urls = [
-    "https://company.paratype.com/system/attachments/629/original/ptsans.zip"
-    "http://rus.paratype.ru/system/attachments/629/original/ptsans.zip"
-  ];
+  src = fetchzip {
+    urls = [
+      "https://company.paratype.com/system/attachments/629/original/ptsans.zip"
+      "http://rus.paratype.ru/system/attachments/629/original/ptsans.zip"
+    ];
+    stripRoot = false;
+    hash = "sha256-34TqYXtWzkAstaGQBhJy+/hVk5tg6ZvHZ/kvUroWVLs=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "01fkd417gv98jf3a6zyfi9w2dkqsbddy1vacga2672yf0kh1z1r0";
+    install -Dm644 *.ttf -t $out/share/fonts/truetype
+    install -Dm644 *.txt -t $out/share/doc/paratype
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://www.paratype.ru/public/";
@@ -23,10 +34,4 @@
     platforms = platforms.all;
     maintainers = with maintainers; [ raskin ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.txt -d $out/share/doc/paratype
-  '';
-})
+}
diff --git a/pkgs/data/fonts/paratype-pt/serif.nix b/pkgs/data/fonts/paratype-pt/serif.nix
index abe6c3d87f661..f346382d1f738 100644
--- a/pkgs/data/fonts/paratype-pt/serif.nix
+++ b/pkgs/data/fonts/paratype-pt/serif.nix
@@ -1,15 +1,26 @@
-# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
-{ lib, fetchzip }:
+{ lib, stdenvNoCC, fetchzip }:
 
-(fetchzip {
-  name = "paratype-pt-serif";
+stdenvNoCC.mkDerivation rec {
+  pname = "paratype-pt-serif";
+  version = "2.005";
 
-  urls = [
-    "https://company.paratype.com/system/attachments/634/original/ptserif.zip"
-    "http://rus.paratype.ru/system/attachments/634/original/ptserif.zip"
-  ];
+  src = fetchzip {
+    urls = [
+      "https://company.paratype.com/system/attachments/634/original/ptserif.zip"
+      "http://rus.paratype.ru/system/attachments/634/original/ptserif.zip"
+    ];
+    stripRoot = false;
+    hash = "sha256-4L3t5NEHmj975fn8eBAkRUO1OL0xseNp9g7k7tt/O2c=";
+  };
+
+  installPhase = ''
+    runHook preInstall
 
-  sha256 = "1iw5qi4ag3yp1lwmi91lb18gr768bqwl46xskaqnkhr9i9qp0v6d";
+    install -Dm644 *.ttf -t $out/share/fonts/truetype
+    install -Dm644 *.txt -t $out/share/doc/paratype
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "http://www.paratype.ru/public/";
@@ -23,10 +34,4 @@
     platforms = platforms.all;
     maintainers = with maintainers; [ raskin ];
   };
-}).overrideAttrs (_: {
-  postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.txt -d $out/share/doc/paratype
-  '';
-})
+}