set default branch from KNOT_REPO_MAIN_BRANCH
also setup nixos module
my vision...
The previous cache key was just the path, so files that are often common across git repos like '.gitignore' etc. show a cached "last commit" time from another repository. Pretty funny.
This uses the current plumbing.Hash.String():path as the key which should theoretically be unique to each repository.