this packages the inputs as part of the build and exposes the directory
to find them via a generated module. this way, inputs are a resource of
the library rather than an input.
this means that `dune exec aoc` and `dune utop` will always find the
file regardless of where they are invoked, which makes developing in
emacs simpler :)