Before reading the below, note that nix is version control system aware; if you embark on the below and migrate to source control you will be bitten by this at-least once. tldr is that when VCS exists, nix will use the current state of it to filter during evaluation.
Given the following structure
.