nixpkgs/pkgs/data/fonts/victor-mono/default.nix
Will Dietz 0cd0869462 victor-mono: improvements from previous PR
Fixes #64465.

Resolves conflicts with earlier merged PR,
notable differences in the result
(by our powers combined!):

* provide both ttf and otf versions
* quote URL, since folks seem to like those
* don't put fonts in ${pname} subdirs
  fontconfig's hashing/cache is mostly geared
  for the many-fonts-in-one-place situation,
  although this may be fixed in more recent versions.
  Anyway minor change and mostly went with not modifying
  what I had ;) so happy to adjust back if that
  better matches your senses/style/use.
* Drop leading 'A' from description,
  I think this is per policy written.. somewhere O:).
* alpha-sort the meta attributes, which is easy to rem
  and generally matches what most expressions do anyway :)

Reviewer feedback:

* use subdirs with fontname, seems preferred
* fix indent, whoops
2019-07-18 18:46:40 -04:00

40 lines
1.2 KiB
Nix

{ lib, fetchFromGitHub }:
let
pname = "victor-mono";
version = "1.2.1";
in fetchFromGitHub rec {
name = "${pname}-${version}";
owner = "rubjo";
repo = pname;
rev = "v${version}";
# Upstream prefers we download from the website,
# but we really insist on a more versioned resource.
# Happily, tagged releases on github contain the same
# file `VictorMonoAll.zip` as from the website,
# so we extract it from the tagged release.
# Both methods produce the same file, but this way
# we can safely reason about what version it is.
postFetch = ''
tar xvf $downloadedFile --strip-components=2 ${name}/public/VictorMonoAll.zip
mkdir -p $out/share/fonts/{true,open}type/${pname}
unzip -j VictorMonoAll.zip \*.ttf -d $out/share/fonts/truetype/${pname}
unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname}
'';
sha256 = "0347n3kdyrbg42rxcgnyghi21qz5iz6w30v7ms2vjal7pfm6h2vn";
meta = with lib; {
description = "Free programming font with cursive italics and ligatures";
homepage = "https://rubjo.github.io/victor-mono";
license = with licenses; [ mit ];
maintainers = with maintainers; [ jpotier dtzWill ];
platforms = platforms.all;
};
}