From 46c1e9560b3e19f9e2797f0538f04a0f8e4e37e4 Mon Sep 17 00:00:00 2001 From: nuexq Date: Wed, 11 Mar 2026 23:01:12 +0000 Subject: [PATCH] ioskeley-mono: init at v2.0.0-beta.1 --- pkgs/data/fonts/ioskeley-mono/default.nix | 95 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 97 insertions(+) create mode 100644 pkgs/data/fonts/ioskeley-mono/default.nix diff --git a/pkgs/data/fonts/ioskeley-mono/default.nix b/pkgs/data/fonts/ioskeley-mono/default.nix new file mode 100644 index 000000000000..f2b43e69e84c --- /dev/null +++ b/pkgs/data/fonts/ioskeley-mono/default.nix @@ -0,0 +1,95 @@ +{ + lib, + stdenvNoCC, + fetchzip, + installFonts, +}: + +let + version = "v2.0.0-beta.1"; + + mkFont = + { + width, + hash, + isNF ? false, + variant ? "Hinted", + }: + let + variantName = lib.toLower width; + pkgSuffix = if isNF then "${variantName}-NF" else variantName; + fileName = "IoskeleyMono-${if isNF then "NerdFont-" else ""}${width}.zip"; + in + stdenvNoCC.mkDerivation { + pname = "ioskeley-mono-${pkgSuffix}"; + inherit version; + + src = fetchzip { + url = "https://github.com/ahatem/IoskeleyMono/releases/download/${version}/${fileName}"; + stripRoot = false; + inherit hash; + }; + sourceRoot = if isNF then "." else "source/${variant}"; + + nativeBuildInputs = [ installFonts ]; + + fontDirectories = [ + "." + "Hinted" + ]; + + meta = { + homepage = "https://github.com/ahatem/IoskeleyMono"; + description = "Iosevka configuration mimicking Berkeley Mono (${width}${ + if isNF then ", Nerd Font" else "" + })"; + license = lib.licenses.ofl; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ nuexq ]; + }; + }; +in +{ + normal = mkFont { + width = "Normal"; + hash = "sha256-ZuV4yg6H0SayGo3LB2Naqn4axR0Lnmw95u/jiRk5B/U="; + }; + normal-unhinted = mkFont { + width = "Normal"; + hash = "sha256-ZuV4yg6H0SayGo3LB2Naqn4axR0Lnmw95u/jiRk5B/U="; + variant = "Unhinted"; + }; + semiCondensed = mkFont { + width = "SemiCondensed"; + hash = "sha256-fOuQmf+ANuKy3kaLRbAu9RIsL3rORGJUlR/BerDg60U="; + }; + semiCondensed-unhinted = mkFont { + width = "SemiCondensed"; + hash = "sha256-fOuQmf+ANuKy3kaLRbAu9RIsL3rORGJUlR/BerDg60U="; + variant = "Unhinted"; + }; + condensed = mkFont { + width = "Condensed"; + hash = "sha256-bzEh9YvbERZrIvXZPopHwhkSe87y3MdHhLaRGWLvTQU="; + }; + condensed-unhinted = mkFont { + width = "Condensed"; + hash = "sha256-bzEh9YvbERZrIvXZPopHwhkSe87y3MdHhLaRGWLvTQU="; + variant = "Unhinted"; + }; + normal-NF = mkFont { + width = "Normal"; + hash = "sha256-rhSU4Md6D7hLT6EeH3TMetPgQGuiYowpYVaZqewGgh8="; + isNF = true; + }; + semiCondensed-NF = mkFont { + width = "SemiCondensed"; + hash = "sha256-W1ykPzdsoXfRBJ5YuxrjOc/J7uzwLQRjZTc9G2cj06Y="; + isNF = true; + }; + condensed-NF = mkFont { + width = "Condensed"; + hash = "sha256-TAneNRImlRNsvTr6xDCG+VKFycttbTxkP6hfh9Kr+X4="; + isNF = true; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 258346a41025..2717e9dea625 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3002,6 +3002,8 @@ with pkgs; hdf5 = hdf5-mpi.override { usev110Api = true; }; }; + ioskeley-mono = recurseIntoAttrs (callPackage ../data/fonts/ioskeley-mono { }); + # Not in aliases because it wouldn't get picked up by callPackage netbox = netbox_4_4;