Also, replace `builtins.toFile` with `pkgs.writeText` because the former
blocks the evaluation loop just like an import from derivation (IFD).
Although it is _technically_ not an IFD, it has very similar effects,
and thus we should prefer the nixpkgs `pkgs.writeText` instead.