-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
56 lines (48 loc) · 1.5 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
cache = pkgs.makeFontsCache {
fontDirectories = pkgs.texlive.stix2-otf.pkgs;
};
config = pkgs.writeText "fonts.conf" ''
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>${builtins.elemAt pkgs.texlive.stix2-otf.pkgs 0}</dir>
<cachedir>${cache}</cachedir>
</fontconfig>
'';
hasCurrentTime = builtins.hasAttr "currentTime" builtins;
in
{
packages = {
default = self.packages.${system}.paper;
paper = with pkgs; stdenv.mkDerivation {
pname = "paper";
version = "0.0.0";
src = ./src;
TEXMFVAR = "/tmp/texmf";
SOURCE_DATE_EPOCH = builtins.currentTime or 0;
preBuild = ''
mkdir -p $TEXMFVAR
'';
installPhase = ''
mkdir -p $out
cp paper.pdf $out
'';
FONTCONFIG_FILE = config;
buildInputs = [
(texlive.combine {
inherit (texlive) scheme-small luatex biblatex latexmk biber lualatex-math stix2-otf;
})
];
};
};
});
}