The setting defaults get overloaded on multiple levels. `build.sh` needs to use monoidal composition for the command and `eval`. Or to do scripting in Python, or Haskell. The defaults would be made once in `default.nix`. And what is on top would not overload defaults, but only provide binding rules for when custom modes are set.