You mean like builder = ./builder.sh? Why is that better? Then I'd have to write the builder.sh file instead of having the build description inside the .nix file. From reading the documentation I got the impression that changing phases was a perfectly OK thing to do.