-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdefault.nix
105 lines (102 loc) · 1.68 KB
/
default.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{ pkgs ? import <nixpkgs> { } }:
let
fs = pkgs.lib.fileset;
fontsConf = pkgs.makeFontsConf {
fontDirectories = [ ./tex/latex/fonts ];
};
texlive = pkgs.texlive.combine {
inherit (pkgs.texlive)
amsmath
appendix
bera
biblatex
booktabs
caption
catchfile
ccaption
cleveref
csquotes
enumitem
etoolbox
euenc
everysel
fancyvrb
filehook
float
fontspec
framed
fvextra
graphics
latexmk
lazylist
libertine
lineno
listings
microtype
minted
multirow
newtxsf
pgf
pgfopts
polytable
quotchap
ragged2e
scheme-basic
setspace
siunitx
stmaryrd
subfig
tabulary
tcolorbox
titlesec
titling
tocloft
todonotes
unicode-math
upquote
wrapfig
xcolor
xetex
xstring
;
};
py = pkgs.python3.withPackages (ps: [
ps.ipython
ps.scipy
ps.matplotlib
ps.pygments
]);
in
pkgs.stdenv.mkDerivation {
name = "main";
src = fs.toSource {
root = ./.;
fileset = fs.union ./design ./tex;
};
env.FONTCONFIG_FILE = "${fontsConf}";
buildInputs = [
pkgs.haskellPackages.lhs2tex
pkgs.fontconfig
texlive
pkgs.biber
py
pkgs.ripgrep
pkgs.which
];
shellHook = ''
export TEXMFHOME=$(pwd):$TEXMFHOME
'';
buildPhase = ''
runHook preBuild
export TEXMFHOME=$PWD
cd ./design
latexmk peras-design.tex
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp peras-design.pdf $out/
runHook postInstall
'';
}