digraph stack
{
  compound=true;
  rankdir="LR";
  node [
    shape="box";
  ]

  subgraph cluster_2 {
	  label="Kernel";
	  event0 [label="/dev/input/event0"]
  }

  subgraph cluster_1 {
	  label="libinput";
    subgraph cluster_0 {
	    label="Plugin pipeline";
	    p1 [label="00-foo.lua"];
	    p2 [label="10-bar.lua"];
    }
	  libinput [label="libinput core"];
  }


  compositor [label="Compositor"];

  event0 -> p1;
  p1 -> p2;
  p2 -> libinput;
  libinput -> compositor [ltail=cluster_1 label="libinput API"];
}
