diff --git a/hosts/build03/builders.nix b/hosts/build03/builders.nix
index 017a917..1715358 100644
--- a/hosts/build03/builders.nix
+++ b/hosts/build03/builders.nix
@@ -22,5 +22,14 @@
       systems = [ "aarch64-darwin" "x86_64-darwin" ];
       supportedFeatures = inputs.self.outputs.darwinConfigurations.darwin02.config.nix.settings.system-features;
     }
+    {
+      hostName = "darwin03.nix-community.org";
+      maxJobs = 8;
+      protocol = "ssh-ng";
+      sshKey = config.sops.secrets.id_buildfarm.path;
+      sshUser = "nix";
+      systems = [ "aarch64-darwin" "x86_64-darwin" ];
+      supportedFeatures = inputs.self.outputs.darwinConfigurations.darwin03.config.nix.settings.system-features;
+    }
   ];
 }
diff --git a/hosts/darwin03/configuration.nix b/hosts/darwin03/configuration.nix
index d6463cc..3f12a8a 100644
--- a/hosts/darwin03/configuration.nix
+++ b/hosts/darwin03/configuration.nix
@@ -4,8 +4,13 @@
   imports = [
     inputs.self.darwinModules.common
     inputs.self.darwinModules.builder
+    inputs.self.darwinModules.hercules-ci
+    inputs.self.darwinModules.remote-builder
   ];
 
+  # on nix-darwin if user is removed the keys need to be removed manually from /etc/ssh/authorized_keys.d
+  nixCommunity.remote-builder.key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEmdo1x1QkRepZf7nSe+OdEWX+wOjkBLF70vX9F+xf68 builder";
+
   nix.settings.sandbox = "relaxed";
   nix.settings.extra-platforms = [ "x86_64-darwin" ];