main
nix 34 lines 982 Bytes
Raw
1 {
2 config,
3 inputs,
4 lib,
5 ...
6 }:
7
8 {
9 imports = [
10 inputs.agenix.darwinModules.age
11 inputs.hydra.darwinModules.builder
12 ];
13
14 age.secrets."queue-runner-token" = {
15 file = ../../build/secrets/${config.networking.localHostName}-queue-runner-token.age;
16 owner = "hydra-queue-builder";
17 };
18
19 users.users.hydra-queue-builder.home = lib.mkForce "/private/var/lib/hydra-queue-builder";
20
21 services.hydra-queue-builder-dev = {
22 enable = true;
23 queueRunnerAddr = "https://queue-runner.hydra.nixos.org";
24 authorizationFile = config.age.secrets."queue-runner-token".path;
25 maxJobs = if lib.elem "big-parallel" (config.nix.settings.system-features or [ ]) then 2 else 4;
26 # Required for presigned uploads: builders fetch dependencies via
27 # substitution and upload results to s3 directly.
28 useSubstitutes = true;
29 # Align this with what our GC settings
30 storeAvailThreshold = 5.0;
31 };
32
33 nix.settings.trusted-users = [ "hydra-queue-builder" ];
34 }