68 lines
2 KiB
Nix
68 lines
2 KiB
Nix
{
|
|
description = "My customised build of Iosevka font";
|
|
|
|
nixConfig = {
|
|
extra-substituters = ["https://nix.xenia.me.uk"];
|
|
extra-trusted-public-keys = ["nix.xenia.me.uk:VaQu+8hshk7aSbW3z91pgkKbYeAcO3Q0AomqP8RaaLc="];
|
|
};
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
}: let
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs {inherit system;};
|
|
customBuildPlan = import ./custom-build-plan.nix;
|
|
in {
|
|
names = {
|
|
iosevka-custom-aile = "Iosevka Custom Aile";
|
|
iosevka-custom-etoile = "Iosevka Custom Etoile";
|
|
iosevka-custom-nerdfont = "IosevkaCustomNerdFont";
|
|
};
|
|
packages.${system} = {
|
|
iosevka-custom-aile = pkgs.iosevka.override {
|
|
set = "aile";
|
|
privateBuildPlan = {
|
|
inherit (customBuildPlan) noCvSs exportGlyphNames variants weights;
|
|
family = "Iosevka Custom Aile";
|
|
spacing = "quasi-proportional";
|
|
serifs = "sans";
|
|
};
|
|
};
|
|
iosevka-custom-etoile = pkgs.iosevka.override {
|
|
set = "etoile";
|
|
privateBuildPlan = {
|
|
inherit (customBuildPlan) noCvSs exportGlyphNames variants weights;
|
|
family = "Iosevka Custom Etoile";
|
|
spacing = "quasi-proportional";
|
|
serifs = "slab";
|
|
};
|
|
};
|
|
iosevka-custom-nerdfont = let
|
|
monospace = pkgs.iosevka.override {
|
|
set = "custom";
|
|
privateBuildPlan = {
|
|
inherit (customBuildPlan) noCvSs exportGlyphNames variants weights;
|
|
family = "Iosevka Custom";
|
|
spacing = "normal";
|
|
serifs = "sans";
|
|
};
|
|
};
|
|
in
|
|
pkgs.stdenv.mkDerivation {
|
|
name = "${monospace.name}-nerd-font-patched";
|
|
src = monospace;
|
|
nativeBuildInputs = [pkgs.nerd-font-patcher];
|
|
buildPhase = ''
|
|
find \( -name \*.ttf -o -name \*.otf \) -execdir nerd-font-patcher -c {} \;
|
|
'';
|
|
installPhase = "cp -a . $out";
|
|
};
|
|
};
|
|
};
|
|
}
|