summaryrefslogtreecommitdiff
path: root/modules/nixos/traits
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/traits')
-rw-r--r--modules/nixos/traits/arm-builder.nix42
-rw-r--r--modules/nixos/traits/default.nix1
2 files changed, 43 insertions, 0 deletions
diff --git a/modules/nixos/traits/arm-builder.nix b/modules/nixos/traits/arm-builder.nix
new file mode 100644
index 0000000..3f655b8
--- /dev/null
+++ b/modules/nixos/traits/arm-builder.nix
@@ -0,0 +1,42 @@
+{
+ config,
+ lib,
+ ...
+}:
+let
+ cfg = config.traits.arm-builder;
+in
+{
+ options.traits.arm-builder = {
+ enable = lib.mkEnableOption "ARM remote builders";
+ };
+
+ config = lib.mkIf cfg.enable {
+ nix = {
+ buildMachines = [
+ {
+ hostName = "atlas";
+ maxJobs = 4;
+ publicHostKey = "IyBhdGxhczoyMiBTU0gtMi4wLVRhaWxzY2FsZQphdGxhcyBzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJQzdZaVNZWXgvK3ptVk9QU0NFUkh6U3NNZVVRdEErVnQxVzBzTFV3NFloSwo=";
+ sshUser = "atlas";
+ supportedFeatures = [
+ "benchmark"
+ "big-parallel"
+ "gccarch-armv8-a"
+ "kvm"
+ "nixos-test"
+ ];
+ systems = [
+ "aarch64-linux"
+ ];
+ }
+ ];
+
+ distributedBuilds = true;
+
+ settings = {
+ builders-use-substitutes = true;
+ };
+ };
+ };
+}
diff --git a/modules/nixos/traits/default.nix b/modules/nixos/traits/default.nix
index b6febf3..119b527 100644
--- a/modules/nixos/traits/default.nix
+++ b/modules/nixos/traits/default.nix
@@ -2,6 +2,7 @@
imports = [
./24.05-compat.nix # TODO: remove when 24.11 is stable
+ ./arm-builder.nix
./auto-upgrade.nix
./containers.nix
./home-manager.nix