{ me, lib, self, ... }: let inherit (lib) mkIf mkMerge; bismuthCache = { substituters = [ "http://bismuth.serval-moth.ts.net:3000" ]; trusted-public-keys = [ "bismuth-1:Fkyzfd9gfMUVKq/KfNClHaB2rUiAGtXTzYu96oZteKQ=" ]; }; useBismuthCache = false; # useBismuthCache = me.name != "bismuth"; in { 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 = mkMerge [ { 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; } (mkIf useBismuthCache bismuthCache) ]; 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.name) [ { hostName = tailnet "renard"; maxJobs = 8; speedFactor = 2; publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUovcURMNys4NiswSDZOa1BzL3c0R1lpV1F3VC80WUF4OU8ySjdzTGtLbWYgcm9vdEByZW5hcmQK"; inherit (defaults) sshUser systems supportedFeatures; } { hostName = tailnet "lapin"; maxJobs = 4; speedFactor = 1; publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUdNRC9FTjl2OFlnSE91NFlHNzRRK3h2d2pDZHhiTUlaam5RY1VYaTBRaFogcm9vdEBsYXBpbgo="; systems = [ "aarch64-linux" ]; inherit (defaults) sshUser supportedFeatures; } ]; }; }