{ pkgs ? import <nixpkgs> {} }:

with pkgs;

let
  latexPackage = pkgs.texlive.combine {
    inherit (texlive)

    # base packages
    scheme-small

    acro
    amsmath
    anyfontsize
    biblatex
    chronology
    csquotes
    dejavu
    isodate
    latexmk
    siunitx
    substr
    todonotes
    units

    # code listings
    minted
    fvextra
    catchfile
    xstring
    framed

    # moderncv
    # needspace
    # fontawesome
    fontspec
    silence
    translations
    xpatch
    # wrapfig
    # enumitem
    # mathpazo
    ;
  };

in

pkgs.mkShell {
  buildInputs = [
    latexPackage

    pkgs.biber
    # language correction
    pkgs.languagetool
    # detex script
    pkgs.python3
    # make
    pkgs.gnumake
    # PDF viewer
    pkgs.zathura
    # dot
    pkgs.graphviz

    pkgs.pygmentex
    pkgs.pythonPackages.pygments
  ];
}
