{ pkgs ? import <nixpkgs> { } }:

let
  nur = import (builtins.fetchTarball
    "https://github.com/nix-community/NUR/archive/master.tar.gz") {
      inherit pkgs;
    };
  tex = with pkgs;
    texlive.combine { inherit (texlive) scheme-medium bitter titlesec; };
  version = "devel";
in pkgs.stdenv.mkDerivation {
  pname = "tulpanomicon";
  inherit version;
  src = ./.;
  phases = "buildPhase installPhase";
  buildInputs = with pkgs; [
    calibre
    mdbook
    nur.repos.mic92.pandoc-bin
    tex
  ];

  buildPhase = ''
    cp -rf $src/src .
    cp -rf $src/book.toml .
    mkdir book
    chmod -R a+w .
    mdbook build
    cd ./src && ./build.sh && cd ..
  '';

  installPhase = ''
    mkdir -p $out
    cp -vrf book/* $out
  '';
}
