anchor.diff:    stdenv, lib,
     fetchFromGitHub, fetchurl,
     runCommand, writeText,
  -  nodejs, ttfautohint, otfcc
  +  nodejs, ttfautohint, otfcc,
  +
  +  # Custom font set options.
  +  # See https://github.com/be5invis/Iosevka#build-your-own-style
  +  design ? [], upright ? [], italic ? [], oblique ? [],
  +  # Custom font set name. Required if any custom settings above.
  +  set ? null
   }:
   
  -with lib;
  +assert (design != []) -> set != null;
  +assert (upright != []) -> set != null;
  +assert (italic != []) -> set != null;
  +assert (oblique != []) -> set != null;
   
   let
     installPackageLock = import ./package-lock.nix { inherit fetchurl lib; };
   in
   
  +let pname = if set != null then "iosevka-${set}" else "iosevka"; in
  +
   let
     version = "1.13.3";
  -  name = "iosevka-${version}";
  +  name = "${pname}-${version}";
     src = fetchFromGitHub {
       owner = "be5invis";
       repo ="Iosevka";
  
positive.code:   };
  in
  
  stdenv.mkDerivation {
    inherit name version src;
  
    nativeBuildInputs = [ nodejs ttfautohint otfcc ];
  
  
negative.code:     npm --offline rebuild
    '';
  
    configurePhase = ''
      runHook preConfigure
  
      ${optionalString custom ''make custom-config set=${set} ${config}''}
  
      runHook postConfigure
    '';
  
    buildPhase = ''
      runHook preBuild
  
      ${if custom then ''make custom set=${set}'' else ''make''}
  
      runHook postBuild
    '';
  
    installPhase = ''
      runHook preInstall
  
      fontdir="$out/share/fonts/$pname"
      install -d "$fontdir"
      install "dist/$pname/ttf"/* "$fontdir"
  
      runHook postInstall
    '';
  
    meta = with stdenv.lib; {
  