Submodule derivations which have their output overriden now auto-compute a (meaningful) version string from version control (git)
String formatting derived from https://github.com/NixOS/nixpkgs/blob/9d7bfc20680d8d3fa5a16e9f39b924fc60d0a35f/flake.nix#L26 (MIT Licensed)
Since nix relies on the input of a derivation to determine if it should be rebuilt, the previous code always triggered a rebuild. Now only submodules that have changed should be rebuilt