Marp Deck Directory

A zero-config, fully reproducible presentation environment.

Powered by Marp 🚀 and Nix ❄️.

Marp Deck Directory - Introduction

The Tooling Problem

Presentations often suffer from toolchain drift. Have you ever experienced:

  • "It looked perfectly fine on my Macbook..."
  • Missing custom fonts on the conference computer.
  • Broken npm dependencies just before a talk.
  • Blank PDF exports in CI pipelines due to Chromium sandbox restrictions.

 

Marp Deck Directory - Introduction

The Tooling Problem

Presentations often suffer from toolchain drift. Have you ever experienced:

  • "It looked perfectly fine on my Macbook..."
  • Missing custom fonts on the conference computer.
  • Broken npm dependencies just before a talk.
  • Blank PDF exports in CI pipelines due to Chromium sandbox restrictions.

We need a way to make decks outlive the laptop they were written on.

Marp Deck Directory - Introduction

The Solution: Nix + Marp

By combining Marp's elegant Markdown rendering with Nix flake inputs, this template provides:

  • Pinned Toolchain: Marp CLI, Brave browser, and Twemoji are locked by hash.
  • Guaranteed Reproducibility: Byte-for-byte identical builds across Linux and macOS.
  • Zero Host Dependencies: No need to install Node, global npm packages, or maintain local Chrome binaries.
Marp Deck Directory - Introduction

Build Everywhere

Write your slides in simple Markdown, and let the Nix derivation do the heavy lifting automatically.

# Build the entire deck directory into multiple formats
nix build '.#slides'

# Or build a specific format for a specific deck
nix build '.#slides.showcase.pdf'

This generates:

  1. A standalone HTML presentation.
  2. A crisp PDF export (via a headless, unsandboxed Brave engine).
  3. A custom PNG Cover image for thumbnails.
Marp Deck Directory - Introduction

Smart Asset Management

Organize your slides elegantly with transparent path rewriting. The Nix build automatically fixes paths for you:

Asset Type Location Usage
Global Assets ./assets/ Shared fonts, CSS themes, and company logos.
Local Assets slides/my-talk./assets/ Deck-specific diagrams, photos, and screenshots.

"Whether you are previewing locally on the --server or deploying the final HTML artifact, your images and fonts will perfectly resolve."

Marp Deck Directory - Introduction

Beautiful Defaults included

Focus on content, not CSS. This directory ships with batteries included:

  • 💅 Styled using gorgeous Catppuccin themes.
  • 🔤 Ubuntu Sans & Mono fonts embedded automatically.
  • 💻 Pre-configured syntax highlighting and element typography.
  • 🌍 Fully vendored Twemoji support out-of-the-box! 🎉

 

Marp Deck Directory - Introduction

Beautiful Defaults included

Focus on content, not CSS. This directory ships with batteries included:

  • 💅 Styled using gorgeous Catppuccin themes.
  • 🔤 Ubuntu Sans & Mono fonts embedded automatically.
  • 💻 Pre-configured syntax highlighting and element typography.
  • 🌍 Fully vendored Twemoji support out-of-the-box! 🎉

To customize, drop your own CSS or fonts in assets/ and update your theme.

Ready to present?

Clone the repository, drop into the shell, and start writing.

git clone https://github.com/nicolas-goudry/marp-deck-directory.git
nix develop
serve

Happy presenting! 🎤