lewa/book/default.nix

47 lines
1.1 KiB
Nix

let
sources = import ../nix/sources.nix;
pkgs = import sources.nixpkgs { };
nur = import (builtins.fetchTarball
"https://github.com/nix-community/NUR/archive/master.tar.gz") {
inherit pkgs;
};
tex = pkgs.callPackage ../nix/texlive.nix { };
version = "devel";
words = import ../words;
book = pkgs.stdenv.mkDerivation {
pname = "lewa-book";
inherit version;
src = ./.;
phases = "buildPhase installPhase";
buildInputs = with pkgs; [
kindlegen
mdbook
nur.repos.mic92.pandoc-bin
tex
words
];
buildPhase = ''
cp -rf $src/src .
chmod a+w ./src
cp -rf $src/book.toml .
mkdir book
rm ./src/dictionary.md ||:
cp ${words}/dictionary.md ./src/dictionary.md
mdbook build
cd ./src && ./build.sh && cd ..
cd ./book && kindlegen lewa.epub ||: && cd ..
'';
installPhase = ''
mkdir -p $out
cp -rf book $out/book
'';
};
in pkgs.dockerTools.buildLayeredImage {
name = "within/lewa-book";
tag = version;
contents = [ nur.repos.xe.quickserv book ];
config.Cmd = [ "/bin/quickserv" "--port=9001" "--dir=/book" ];
}