2023-09-15 07:10:02 +00:00
|
|
|
{ nixpkgs, system, buildbot-nix, ... }:
|
2023-09-10 09:16:51 +00:00
|
|
|
let
|
|
|
|
# some example configuration to make it eval
|
2023-09-17 03:43:46 +00:00
|
|
|
dummy = { config, ... }: {
|
2023-09-10 11:16:33 +00:00
|
|
|
config = {
|
|
|
|
networking.hostName = "example-common";
|
|
|
|
system.stateVersion = config.system.nixos.version;
|
|
|
|
users.users.root.initialPassword = "fnord23";
|
2023-09-13 21:31:20 +00:00
|
|
|
boot.loader.grub.devices = lib.mkForce [ "/dev/sda" ];
|
|
|
|
fileSystems."/".device = lib.mkDefault "/dev/sda";
|
2023-09-10 11:16:33 +00:00
|
|
|
};
|
2023-09-10 09:16:51 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
inherit (nixpkgs) lib;
|
|
|
|
inherit (lib) nixosSystem;
|
|
|
|
in
|
|
|
|
{
|
2023-09-15 07:10:02 +00:00
|
|
|
"example-master-${system}" = nixosSystem {
|
2023-09-10 09:16:51 +00:00
|
|
|
inherit system;
|
|
|
|
modules = [
|
|
|
|
dummy
|
2023-10-27 07:58:10 +00:00
|
|
|
({ pkgs, ... }: {
|
2023-09-10 10:11:50 +00:00
|
|
|
services.buildbot-nix.master = {
|
2023-09-10 11:16:33 +00:00
|
|
|
enable = true;
|
2023-09-10 11:29:56 +00:00
|
|
|
domain = "buildbot2.thalheim.io";
|
2023-10-27 07:58:10 +00:00
|
|
|
workersFile = pkgs.writeText "workers.json" ''
|
|
|
|
[
|
|
|
|
{ "name": "eve", "pass": "XXXXXXXXXXXXXXXXXXXX", "cores": 16 }
|
|
|
|
]
|
|
|
|
'';
|
2023-09-10 10:11:50 +00:00
|
|
|
github = {
|
2023-10-27 07:58:10 +00:00
|
|
|
tokenFile = pkgs.writeText "github-token" "ghp_000000000000000000000000000000000000";
|
|
|
|
webhookSecretFile = pkgs.writeText "webhookSecret" "00000000000000000000";
|
|
|
|
oauthSecretFile = pkgs.writeText "oauthSecret" "ffffffffffffffffffffffffffffffffffffffff";
|
2023-09-17 03:43:46 +00:00
|
|
|
oauthId = "aaaaaaaaaaaaaaaaaaaa";
|
2023-10-12 13:20:50 +00:00
|
|
|
user = "mic92-buildbot";
|
|
|
|
admins = [ "Mic92" ];
|
2023-09-10 10:11:50 +00:00
|
|
|
};
|
2023-12-23 18:54:42 +00:00
|
|
|
# optional expose latest store path as text file
|
2023-11-05 05:44:28 +00:00
|
|
|
# outputsPath = "/var/www/buildbot/nix-outputs";
|
2023-11-12 06:07:30 +00:00
|
|
|
|
|
|
|
# optional nix-eval-jobs settings
|
|
|
|
# evalWorkerCount = 8; # limit number of concurrent evaluations
|
|
|
|
# evalMaxMemorySize = "2048"; # limit memory usage per evaluation
|
2023-12-23 18:54:42 +00:00
|
|
|
|
|
|
|
# optional cachix
|
|
|
|
#cachix = {
|
|
|
|
# name = "my-cachix";
|
|
|
|
# # One of the following is required:
|
|
|
|
# signingKey = "/var/lib/secrets/cachix-key";
|
|
|
|
# authToken = "/var/lib/secrets/cachix-token";
|
|
|
|
#};
|
2023-09-10 10:11:50 +00:00
|
|
|
};
|
2023-10-27 07:58:10 +00:00
|
|
|
})
|
2023-09-10 09:16:51 +00:00
|
|
|
buildbot-nix.nixosModules.buildbot-master
|
|
|
|
];
|
|
|
|
};
|
2023-09-15 07:10:02 +00:00
|
|
|
"example-worker-${system}" = nixosSystem {
|
2023-09-10 09:16:51 +00:00
|
|
|
inherit system;
|
|
|
|
modules = [
|
|
|
|
dummy
|
2023-10-27 07:58:10 +00:00
|
|
|
({ pkgs, ... }: {
|
2023-09-10 10:11:50 +00:00
|
|
|
services.buildbot-nix.worker = {
|
|
|
|
enable = true;
|
2023-10-27 07:58:10 +00:00
|
|
|
workerPasswordFile = pkgs.writeText "worker-password-file" "";
|
2023-09-10 10:11:50 +00:00
|
|
|
};
|
2023-10-27 07:58:10 +00:00
|
|
|
})
|
2023-09-10 09:16:51 +00:00
|
|
|
buildbot-nix.nixosModules.buildbot-worker
|
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|