Sometmmes a new binary is added to an output, like in the `dhall-yaml`
case, where yaml-to-dhall was added.
This uses `lr` because I can’t be bothered to figure out how to use
`find` to the same effect.
Uses the new optparse-applicative support for fish and zsh,
and the nixpkgs `installShellCompletion` hook to automatically put the
completions in the right directories.
The files are very self-similar, and provided upstream doesn’t do
something completely crazy, they should stay that way.
dhall-json is more complicated, and it wasn’t worth it implemented
something more complicated in build.nix, so for now it stays the same.