let
  sources = import ./nix/sources.nix;
  pkgs = import sources.nixpkgs {};

  inherit (import sources.gitignore { inherit (pkgs) lib; }) gitignoreSource;

  python = (pkgs.python38.withPackages (ps: with ps; [
    CommonMark
    jinja2
    pyyaml
  ]));

  texlive = pkgs.texlive.combine {
    inherit (pkgs.texlive) scheme-medium
      appendixnumberbeamer
      beamertheme-focus
      beamertheme-metropolis
      biber
      biblatex
      csquotes
      datetime
      datetime2
      datetime2-german
      enumitem
      fmtcount
      multirow
      pgfopts;
  };
in
pkgs.stdenv.mkDerivation {
  name = "presis";

  nativeBuildInputs = [
    python
    texlive
  ];

  src = gitignoreSource ./.;

  FONTCONFIG_FILE = pkgs.makeFontsConf {
    fontDirectories = with pkgs; [
      fira
      iosevka
    ];
  };

  enableParallelBuilding = true;

  dontFixup = true;

  installPhase = ''
    cp -r . $out;
  '';
}
