This allows the flake to work without passing in `?submodules=1`, which
makes it easy to include in other flakes.
This commit also makes it possible to override the path to the
`known-folders` package like so:
```
zig build -Dknown-folders=/path/to/known-folders.zig
```
This allows `flake.nix` to pass in the nix store path.
Have to use it with `nix run '.?submodules=1'`, unfortunately.
Might be able to remove that requirement by using the following, but I
don't know how it interacts with `gitignoreSource`:
```
fetchGit {
url = ./.;
submodules = true;
}
```