Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Graft

Graft banner

TOML-driven Podman Quadlet containers, built from the Nix store.

Graft turns small TOML files into rootfs-based Podman Quadlet services for NixOS and Home Manager. You describe container intent; Graft resolves the runtime details; Nix materialises the rootfs and Quadlet output; systemd runs the result like any other service.

Use the GitHub README as the repository landing page, then use this manual for deeper design, reference, and contributor details.

Start here

  • Overview explains the current architecture and data flow.
  • Design documents the boundaries between TOML, CLI, Nix modules, and Quadlet output.
  • Quadlet output describes the generated .container files.
  • Roadmap describes the longer-term direction.
  • Non-goals and deferred scope lists deliberate exclusions.
  • Reference links to the annotated TOML reference and current module options.
  • Development captures contributor workflow and renderer checklists.

Current scope

The current MVP focuses on rootfs-store containers:

  • TOML to resolved JSON stdout
  • NixOS system/rootful Quadlet output
  • Home Manager user/rootless Quadlet output
  • manual start/stop through systemd
  • packages and commands resolved from TOML
  • useful Quadlet rendering for identity, working directory, environment, environment files, published ports, volumes, and service timing
  • clean shutdown through graft-pause