149 lines
9.1 KiB
Nix
149 lines
9.1 KiB
Nix
# vim: set noet sw=2 ts=2 sts=2:
|
|
{lib, pkgs, fetchfont, ...}:
|
|
with pkgs;
|
|
let
|
|
github = path: "https://github.com/${path}";
|
|
googlefonts = path: github "googlefonts/${path}";
|
|
fonts = {
|
|
alegreya =
|
|
fetchfont rec {
|
|
pname = "Alegreya"; version = "2.008";
|
|
src = fetchurl { name = "${pname}-${version}.tar.gz"; hash = "sha256-RNrL48S2DCA7HWDwpV6/bBOYI/g/0jT5sHjs58sVZ24="; url = github "huertatipografica/${pname}/archive/refs/tags/v${version}.tar.gz"; };
|
|
};
|
|
alegreya_sans =
|
|
fetchfont rec {
|
|
pname = "Alegreya-Sans"; version = "2.008";
|
|
src = fetchurl { name = "${pname}-${version}.tar.gz"; hash = "sha256-6lRVctSeGOZ11rcqZ1TaNE4kucrMPSt2wesr+a5zpAI="; url = github "huertatipografica/${pname}/archive/refs/tags/v${version}.tar.gz"; };
|
|
};
|
|
fira_code =
|
|
fetchfont rec {
|
|
pname = "Fira-Code"; version = "6.2";
|
|
src = fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-CUmRW6jrJNif2T0Qp/9iP0KDDXxf/D7L+WDk7K0+Pnk="; url = github "tonsky/FiraCode/releases/download/${version}/Fira_Code_v${version}.zip"; };
|
|
};
|
|
fira_mono =
|
|
fetchfont rec {
|
|
pname = "Fira-Mono"; version = "4.202";
|
|
src = fetchurl { name = "${pname}-${version}.tar.gz"; hash = "sha256-2GJpZXOH8UTXe6EgERJPMPQj9wZy4VdtwW+Ri7Ft3+Q="; url = github "mozilla/Fira/archive/refs/tags/${version}.tar.gz"; };
|
|
};
|
|
inconsolata =
|
|
fetchfont rec {
|
|
pname = "Inconsolata"; version = "3.000";
|
|
src = fetchurl { name = "${pname}-${version}.tar.gz"; hash = "sha256-8tjYumyqeFqWbvF5loIqsUupHsQjQxop4bbEsUvEzaU="; url = googlefonts "${pname}/archive/refs/tags/v${version}.tar.gz"; };
|
|
};
|
|
lato =
|
|
fetchfont rec {
|
|
pname = "Lato"; version = "2.015";
|
|
src = fetchurl { name = "${pname}-${version}.tar.gz"; hash = "sha256-aefWlxXVMcea7HgtbrP6PdgmM+/bZC7bXGZUdJVAE0Y="; url = googlefonts "LatoGFVersion/archive/080cb69711ca050d91e9c866e58df7a73095c69a.tar.gz"; };
|
|
#src = fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-QrVOlsB+KZ2Wf8MifHvWOiDWz7Hcj9ba6DYoCR4gpbg="; url = "https://www.latofonts.com/download/lato2ofl-zip/"; };
|
|
#srcs =
|
|
# let baseurl = "https://raw.githubusercontent.com/google/fonts/658d6674d14c20ddb6ccc70288f902f04c2bbdc4/ofl/lato/";
|
|
# # Black BlackItalic ExtraBold ExtraBoldItalic ExtraLight ExtraLightItalic Italic Light LightItalic Medium MediumItalic Regular SemiBold SemiBoldItalic Thin ThinItalic
|
|
# list = {
|
|
# Black = "0ds31mc8fb11lpc3gx8d3swgiivgcq1pdbw9wrywxnv2kj1n5340";
|
|
# BlackItalic = "1gkcdrnpcqvvibqjg8h8gig7r7k6gj38qcr5pmqsb0v7z5dzf51j";
|
|
# ExtraBold = "15xgd5cbvj9zfz9a7bhrja76qx9hq72m678br150vyfs5gk8s0b1";
|
|
# ExtraBoldItalic = "0x4k109y8vy9l3kckfr7c5vnxlpagz04ffiy09hkm49pki5khax4";
|
|
# ExtraLight = "0vckhw23n3aab3i4cw1n9syffkq2ip81zichgn1g0pfvh6s8k6cq";
|
|
# ExtraLightItalic = "0cfvmf8ppr8j9a1x53xhxjpq86z90c5kallcj3h4rdmra1i54mpw";
|
|
# Italic = "11hprdwwdiwq6156bmlhp18j5lf50147wv6j642i11qkzr7c96g3";
|
|
# Light = "024gg33lw0i85xh2afy1hzq067hf2syng6glhkaiix5s0d2pfang";
|
|
# LightItalic = "0d8nh7kwwp0b1v3n3fkkldjc7m46qha6nyil8rv0x88lzli6f3kh";
|
|
# Medium = "0f5365x82mzdv0xfkx2xac90n708mpxpjmnpbms0bq1kd0m1ib6k";
|
|
# MediumItalic = "01c40i43m0wyk37cxcnlh4afh5fmhmp9symjzrxadn22zb7ydg7c";
|
|
# Regular = "0ldjhpqw0qg4pqlgj0mspp9vz0nh8klqim92lbnk3y9i69lf8dnn";
|
|
# SemiBold = "0g40mzain3afvam5i5kr1d1fkl9b82fm7gk7s8g8hnp7rggbgf3i";
|
|
# SemiBoldItalic = "0p1pa6yyh31cl5lddqg02m1m8gbpaawm5h1v0pprkyyq6jrvdpjs";
|
|
# Thin = "1rymqn0ask06qdi1y871wz1sybkr9nzp78jdykzp10m3x6zmag36";
|
|
# ThinItalic = "1srvlccqs3m64xixlddnc0c7sf1sfmblvnbhahbpp676khhnxs75";
|
|
# };
|
|
# in lib.attrsets.mapAttrsToList (n: h: fetchurl { name = "${pname}-${n}-${version}.ttf"; sha256 = h; url = "${baseurl}${pname}-${n}.ttf"; }) list;
|
|
};
|
|
libre_barcode =
|
|
fetchfont rec {
|
|
pname = "Libre-Barcode"; version = "1.008";
|
|
src = fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-47ntjMcZR4j5ybGU2UAA5t4FTPvyAvTiDSKYGEdRDQU="; url = github "graphicore/librebarcode/releases/download/v${version}/LibreBarcode_v${version}.zip"; };
|
|
};
|
|
oswald =
|
|
fetchfont rec {
|
|
pname = "Oswald"; version = "4.004";
|
|
src = fetchurl { name = "${pname}-${version}.tar.gz"; hash = "sha256-XWiMR+0KU76RE7bP4q2urQGYpryqLJayXAEzrT1Gk2Y="; url = googlefonts "OswaldFont/archive/65c0044bd1e113993d193529361f02fa4fd7ad94.tar.gz"; };
|
|
};
|
|
source-code-pro =
|
|
fetchfont rec {
|
|
pname = "Source-Code-Pro"; version = "2.042";
|
|
srcs =
|
|
let baseurl = github "adobe-fonts/source-code-pro/releases/download/2.042R-u%2F1.062R-i%2F1.026R-vf";
|
|
in [
|
|
(fetchurl { name = "${pname}-${version}-otf.zip"; hash = "sha256-dUouPruUWukF1yCsWJazs0rMlUbdZVHvlTaGl4hina4="; url = "${baseurl}/OTF-source-code-pro-2.042R-u_1.062R-i.zip"; })
|
|
# Totaly useless .woff/.woff2 files, because they convert .otf to .otf.woff and .ttf to .ttf.woff. So better to generate them self.
|
|
#(fetchurl { name = "${pname}-${version}-woff.zip"; hash = "sha256-6pXBFpB7OgLb6QPbWsMuTbrNGD3Vj/S1oXUxLG3a8oo="; url = "${baseurl}/WOFF-source-code-pro-2.042R-u_1.062R-i_1.026Rvf.zip"; })
|
|
#(fetchurl { name = "${pname}-${version}-woff2.zip"; hash = "sha256-IYTB8rrEj099lSsBR9wOSAaf0ftKjDG4abcI78l402U="; url = "${baseurl}/WOFF2-source-code-pro-2.042R-u_1.062R-i_1.026Rvf.zip"; })
|
|
(fetchurl { name = "${pname}-${version}-vf.zip"; hash = "sha256-BmC6DNFHj5LPzyrXkLeqKfitstrxVZj0UqZa5hycn7E="; url = "${baseurl}/VF-source-code-VF-1.026R.zip"; })
|
|
];
|
|
};
|
|
source-sans =
|
|
fetchfont rec {
|
|
pname = "Source-Sans"; version = "3.052";
|
|
srcs =
|
|
let baseurl = github "adobe-fonts/source-sans/releases/download/${version}R/";
|
|
in [
|
|
(fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-pOu96iCwjMvXvzZlqUYkVO790B2aYwcSnTs9RnKYEHQ="; url = "${baseurl}/OTF-source-sans-3.052R.zip"; })
|
|
(fetchurl { name = "${pname}-${version}-vf.zip"; hash = "sha256-2OKsNV4G5qDw4KCxrAwkUa+nB1hNe7nWsR755LdJkEw="; url = "${baseurl}/VF-source-sans-3.052R.zip"; })
|
|
];
|
|
};
|
|
source-serif =
|
|
fetchfont rec {
|
|
pname = "Source-Serif"; version = "4.005";
|
|
src = stdenv.mkDerivation {
|
|
pname = "Source-Serif"; version = "4.005";
|
|
nativeBuildInputs = [ coreutils ];
|
|
src = fetchzip { stripRoot=false; name = "${pname}-${version}.zip"; hash = "sha256-JVt+uJED/M2S2RBOXZ1th+aPLOuCNTl9jx6dC5cyMlQ="; url = github "adobe-fonts/source-serif/releases/download/${version}R/source-serif-${version}_Desktop.zip"; };
|
|
installPhase = ''
|
|
mkdir -p "$out/"
|
|
echo "================ src=$src"
|
|
find $src -name \*.otf -print -exec cp -a \{\} "$out/" \;
|
|
'';
|
|
};
|
|
#srcs =
|
|
# let baseurl = github "adobe-fonts/source-serif/releases/download/${version}R/";
|
|
# in [
|
|
# (fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-VJ/bj5poK9BpRCmGIUBJafbed8LkIv87gkSh3NagxCU="; url = "${baseurl}/source-serif-${version}_Desktop.zip"; })
|
|
# # Totaly useless .woff/.woff2 files, because they convert .otf to .otf.woff and .ttf to .ttf.woff. So better to generate them self.
|
|
# #(fetchurl { name = "${pname}-${version}-woff.zip"; hash = "sha256-aHJU28beIClQaphvN7l+oxGUnf+pHIlAXPDueL8XqOA="; url = "${baseurl}/source-serif-${version}_WOFF.zip"; })
|
|
# #(fetchurl { name = "${pname}-${version}-woff2.zip"; hash = "sha256-rxDoDc0ilnSLBMuZF9ufe6CuZRARZf0vDBa5gS2avSg="; url = "${baseurl}/source-serif-${version}_WOFF2.zip"; })
|
|
# ];
|
|
};
|
|
rubik_dirt =
|
|
fetchfont rec {
|
|
pname = "Rubik-Dirt"; version = "2";
|
|
srcs =
|
|
let baseurl = github "NaN-xyz/Rubik-Filtered/raw/7f47b7f79f903e1d6af9883da43a84928e02b816/dirt/fonts";
|
|
in [
|
|
(fetchurl { name = "${pname}-Regular.ttf"; hash = "sha256-nePZKOQ0pH7IXXWQEsig6/6rCGAHbupOOYmkfF4hMSM="; url = "${baseurl}/ttf/RubikDirt-Regular.ttf"; })
|
|
(fetchurl { name = "${pname}-Regular.woff2"; hash = "sha256-xh1jUaN5FRaU/omXT7U9T9Qhu+Cl/YddAJnSpgCOqYk="; url = "${baseurl}/webfonts/RubikDirt-Regular.woff2"; })
|
|
];
|
|
};
|
|
unifraktur-cook =
|
|
fetchfont rec {
|
|
pname = "Unifraktur-Cook"; version = "2013.08.25";
|
|
src = fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-RerEn/6cc45SAVYBSfZmJSpU+z8ExpmCJeXcOdBGeAc="; url = "mirror://sourceforge/unifraktur/UnifrakturCook.2013-08-25.zip"; };
|
|
};
|
|
unifraktur-maguntia =
|
|
fetchfont rec {
|
|
pname = "Unifraktur-Maguntia"; version = "2017.03.19";
|
|
src = fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-+j0JOeGYwP/FkhizdagYog7Kra9fw9OaIyKglavwz5o="; url = "mirror://sourceforge/unifraktur/UnifrakturMaguntia.2017-03-19.zip"; };
|
|
};
|
|
vollkorn =
|
|
fetchfont rec {
|
|
pname = "Vollkorn"; version = "4.105";
|
|
src = fetchurl { name = "${pname}-${version}.zip"; hash = "sha256-5lDqnZZ8KvHpuNNOERhyFyi81zzP0yINpCZGYTAeivU="; url = "http://vollkorn-typeface.com/download/vollkorn-4-105.zip"; };
|
|
};
|
|
wiener-norm =
|
|
fetchfont rec {
|
|
pname = "Wiener-Norm"; version = "1";
|
|
src = fetchurl { name = "wiener-norm.zip"; hash = "sha256-dvHTRIYGURNx+1NMX4ts0xlb/GgRguWFIC0NMiESjvc="; url = "http://www.horaczek.net/download/wiener_norm.zip"; };
|
|
};
|
|
};
|
|
in {
|
|
all = fonts;
|
|
} // fonts
|