This allows having a dir for which loadNixDir generates a "default" attr
without making the dir importable, by naming the file `+default.nix`
instead of `default.nix`.
Using lib.getExe makes mkApp not work for derivations that are files.
Thus, this makes it so that the derivation is used as is. If an
executable in the derivation's directory is needed, a string path can be
used.
This allows attrs that previously did not take args to receive args
including the flakelite lib attrs and module parameters.
`withOverlay` and `withPackage` are excluded as it would be ambiguous
since those are already functions. They are also short forms; if args
are needed, the regular plural attr can be used.
These args are also added to the flakelite pkgs attr for per-system
attrs to take advantage of.