we were using this before, but it broke when refactoring the flake out into separate files
makeScope
This makes the Nix code a lot easier to reason about.