summaryrefslogtreecommitdiffstats
path: root/usecases/desktop/development/latex.nix
blob: a04a157ff21ea06f2f791c41eba6a4ba1bf07e0d (plain)
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
inputs:

{ pkgs, config, ... }:

let
  # TODO: add latexmkrc
  texliveEnv = with pkgs; texlive.combine {
    inherit (texlive)
      scheme-small

      latexmk
      texdoc
      # Needed for texdoc but somehow not automatically added
      luatex

      collection-langenglish
      collection-langfrench
      csquotes

      glossaries
      glossaries-english
      glossaries-french
      glossaries-extra

      microtype
      fontspec
      lm-math
      cm-super
      a4wide

      biber
      biblatex
      biblatex-ieee
      biblatex-apa

      nath
      stmaryrd

      placeins
      wrapfig

      svg
      transparent

      textpos

      # For Octavo Tufte template {{{

      epigraph
      # For epigraph
      nextpage

      tcolorbox
      # For tcolorbox
      environ listingsutf8

      tufte-latex
      # For tufte-latex
      hardwrap titlesec palatino

      # }}}

      algorithms
      algorithmicx

      # For Metropolis Beamer theme
      catchfile

      minted

      asymptote

      todonotes

      standalone

      dirtree

      cleveref
      xurl
      # For varioref
      tools

      footmisc

      morewrites

      # For Metropolis Beamer theme
      pgfopts

      beamertheme-metropolis
      beamercolorthemeowl

      # Dependencies somehow missing
      logreq xstring fvextra ifplatform framed
      # For standalone
      currfile
      # For glossaries
      xindy mfirstuc xfor datatool tracklang
      # For datatool
      substr
      # For asymptote
      everypage media9 ocgx2
      ;
  };
in
{

  users.extraUsers.minijackson.packages = with pkgs; [
    texliveEnv
    biber
    #tomorrowPygments
    asymptote
    ghostscript
    xdotool
  ];

  # Fira Code is nice for code reading
  fonts.packages = with pkgs; [ fira-code cm_unicode ];
}