summary refs log tree commit diff
path: root/modules/nix.nix
blob: bfe09ff6fb48b7ee0e92ac377975e87f3ba89256 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{
  me,
  lib,
  self,
  ...
}:

{
  nix = {
    # add compat scripts to the environment,
    # to allow nixos-option to find the configuration
    nixPath = [
      "nixpkgs=${self}/compat"
      "nixos-config=${self}/compat/nixos"
    ];

    settings = {
      experimental-features = [
        "flakes"
        "nix-command"
      ];
      trusted-users = [
        "mel"
      ];
      # usually my builders have faster connections
      builders-use-substitutes = true;
      # don't wait too long on caches that are down
      connect-timeout = 3;
      # yes nix, i know my flake is dirty!!!
      warn-dirty = false;
    };

    distributedBuilds = true;
    buildMachines =
      let
        tailnet = n: "${n}.serval-moth.ts.net";

        defaults = {
          sshUser = "mel";
          systems = [ "x86_64-linux" "i686-linux" ];
          supportedFeatures = [
            "kvm"
            "big-parallel"
            "nixos-test"
            "benchmark"
          ];
        };
      in
      lib.filter (m: m.hostName != me) [
        {
          hostName = tailnet "bismuth";
          maxJobs = 32;
          speedFactor = 16;
          publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUFRUllWU0tXaDRldDFtNUxsd1RoWTNIeEdTRkM0NDkydmhwaWQ4WTJzcVogcm9vdEBCaXNtdXRoCg==";
          inherit (defaults) sshUser systems supportedFeatures;
        }
        {
          hostName = tailnet "renard";
          maxJobs = 8;
          speedFactor = 2;
          publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUovcURMNys4NiswSDZOa1BzL3c0R1lpV1F3VC80WUF4OU8ySjdzTGtLbWYgcm9vdEByZW5hcmQK";
          inherit (defaults) sshUser systems supportedFeatures;
        }
      ];
  };
}