diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c5bf7db4281a..1c3f745e0065 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -19899,6 +19899,12 @@ github = "Noodlesalat"; githubId = 12748782; }; + nuexq = { + email = "nuexqq@gmail.com"; + github = "nuexq"; + githubId = 145666753; + name = "nuexq"; + }; nukaduka = { email = "ksgokte@gmail.com"; github = "NukaDuka"; 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 a38b42518c49..c822d5eb7c48 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3018,6 +3018,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_5;