This commit is contained in:
Dunya Kirkali
2026-08-09 17:13:02 +02:00
parent bedaa8e5a2
commit 9fe58b248d

View File

@@ -44,16 +44,25 @@
epubcheck epubcheck
]; ];
# Nixpkgs' mermaid-cli only bundles Chromium on Linux.
mermaidBrowserExecutable = pkgs.lib.optionalString (system == "aarch64-darwin")
"${pkgs.playwright-driver.components.chromium-headless-shell}/chrome-headless-shell-mac-arm64/chrome-headless-shell";
# Chromium's sandbox cannot nest inside the Nix build sandbox.
mermaidPuppeteerConfig = pkgs.writeText "puppeteer.json" ''
{ "args": ["--no-sandbox"] }
'';
book = pkgs.stdenv.mkDerivation { book = pkgs.stdenv.mkDerivation {
pname = "letterpress-book"; pname = "letterpress-book";
version = "0.1.0"; version = "0.1.0";
src = ./.; src = ./.;
nativeBuildInputs = runtimeInputs; nativeBuildInputs = runtimeInputs;
DIAGRAM_PLANTUML_CLASSPATH = "${pkgs.plantuml}/lib/plantuml.jar"; DIAGRAM_PLANTUML_CLASSPATH = "${pkgs.plantuml}/lib/plantuml.jar";
PUPPETEER_EXECUTABLE_PATH = mermaidBrowserExecutable;
# asciidoctor-diagram caches into $HOME # asciidoctor-diagram caches into $HOME
buildPhase = '' buildPhase = ''
export HOME=$TMPDIR export HOME=$TMPDIR
make all make all ASCIIDOC_FLAGS="--doctype book --failure-level ERROR -a mermaid-puppeteer-config=${mermaidPuppeteerConfig}"
''; '';
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
@@ -71,6 +80,7 @@
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
packages = runtimeInputs ++ (with pkgs; [ bundix ]); packages = runtimeInputs ++ (with pkgs; [ bundix ]);
DIAGRAM_PLANTUML_CLASSPATH = "${pkgs.plantuml}/lib/plantuml.jar"; DIAGRAM_PLANTUML_CLASSPATH = "${pkgs.plantuml}/lib/plantuml.jar";
PUPPETEER_EXECUTABLE_PATH = mermaidBrowserExecutable;
shellHook = '' shellHook = ''
echo "letterpress dev shell" echo "letterpress dev shell"
echo " make build PDF + EPUB" echo " make build PDF + EPUB"