aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/bin.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/bin.nix49
1 files changed, 30 insertions, 19 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/bin.nix b/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
index 0f88aa05e4cf..90b64c5f159e 100644
--- a/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
+++ b/infra/libkookie/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
@@ -1,28 +1,39 @@
-{ stdenv, fetchzip }:
+{ stdenv, lib, fetchurl, iosevka, unzip
+, variant ? ""
+}:
let
- version = "3.4.6";
-in fetchzip {
- name = "iosevka-bin-${version}";
+ name = "iosevka" + lib.optionalString (variant != "") "-" + variant;
- url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-iosevka-${version}.zip";
+ variantHashes = import ./variants.nix;
+ validVariants = map (lib.removePrefix "iosevka-")
+ (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
+in stdenv.mkDerivation rec {
+ pname = "${name}-bin";
+ version = "4.0.0";
- postFetch = ''
+ src = fetchurl {
+ url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
+ sha256 = variantHashes.${name} or (throw ''
+ No such variant "${variant}" for package iosevka-bin.
+ Valid variants are: ${lib.concatStringsSep ", " validVariants}.
+ '');
+ };
+
+ nativeBuildInputs = [ unzip ];
+
+ phases = [ "unpackPhase" ];
+
+ unpackPhase = ''
mkdir -p $out/share/fonts
- unzip -j $downloadedFile \*.ttc -d $out/share/fonts/truetype
+ unzip -d $out/share/fonts/truetype $src
'';
- sha256 = "1nab49gkpxahwvvw39xcc32q425qkccr7ffmz87jbcdv71qy7pp9";
-
- meta = with stdenv.lib; {
- homepage = "https://be5invis.github.io/Iosevka/";
- downloadPage = "https://github.com/be5invis/Iosevka/releases";
- description = ''
- Slender monospace sans-serif and slab-serif typeface inspired by Pragmata
- Pro, M+ and PF DIN Mono, designed to be the ideal font for programming.
- '';
- license = licenses.ofl;
- platforms = platforms.all;
- maintainers = [ maintainers.cstrahan ];
+ meta = iosevka.meta // {
+ maintainers = with lib.maintainers; [
+ cstrahan
+ ];
};
+
+ passthru.updateScript = ./update-bin.sh;
}