···228228 '';
229229 };
230230 protocol = mkOption {
231231- type = types.enum [ "ssh" "ssh-ng" ];
231231+ type = types.enum [ null "ssh" "ssh-ng" ];
232232 default = "ssh";
233233 example = "ssh-ng";
234234 description = lib.mdDoc ''
235235 The protocol used for communicating with the build machine.
236236 Use `ssh-ng` if your remote builder and your
237237 local Nix version support that improved protocol.
238238+239239+ Use `null` when trying to change the special localhost builder
240240+ without a protocol which is for example used by hydra.
238241 '';
239242 };
240243 system = mkOption {
···680683 concatMapStrings
681684 (machine:
682685 (concatStringsSep " " ([
683683- "${machine.protocol}://${optionalString (machine.sshUser != null) "${machine.sshUser}@"}${machine.hostName}"
686686+ "${optionalString (machine.protocol != null) "${machine.protocol}://"}${optionalString (machine.sshUser != null) "${machine.sshUser}@"}${machine.hostName}"
684687 (if machine.system != null then machine.system else if machine.systems != [ ] then concatStringsSep "," machine.systems else "-")
685688 (if machine.sshKey != null then machine.sshKey else "-")
686689 (toString machine.maxJobs)