This is required for more hermetic evals.
A simple thing to try is, before this change, replace `default.nix` with
`throw "No thanks..."`. It would throw. It was also possible to observe
`local.nix` was being included by the warnings.
Wioth this change, `release.nix` does not include `local.nix` through
`default.nix`.
I think this was the last piece of Mobile NixOS that actually relied on
`default.nix` being a thing. We have finally completely inverted the
control, where `default.nix` uses the helpers, rather than the helpers
evaluating a specialized `default.nix`.
From now on, it should be entirely safe to experiment with
`default.nix`. We should be able to **fail noisily** when a user builds
the default empty configuration!
Recent changes in Nixpkgs makes it more strict.
This is a change that wasn't caught as needed from the migration to
structured options for device infos.
Instead of the following error message:
```
error: The option `mobile.device.info' defined in `<unknown-file>' does not exist.
(use '--show-trace' to show detailed location information)
```
We now get:
```
error: The option `mobile.device.info' defined in `.../mobile-nixos/devices/asus-z00t' does not exist.
(use '--show-trace' to show detailed location information)
```
We are now splitting the concerns more clearly, by making `baseModules`
the reason we are evaluating NixOS, rather than wholesale always
including it into the modules.