50 lines
1 KiB
Nix
50 lines
1 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
config = {
|
|
networking = {
|
|
hostName = "Builder";
|
|
hostId = "aaaa4200";
|
|
domain = "depeuter.dev";
|
|
|
|
useDHCP = false;
|
|
enableIPv6 = true;
|
|
|
|
defaultGateway = {
|
|
address = "192.168.0.1";
|
|
interface = "ens18";
|
|
};
|
|
|
|
interfaces.ens18 = {
|
|
ipv4.addresses = [
|
|
{
|
|
address = "192.168.0.42";
|
|
prefixLength = 24;
|
|
}
|
|
];
|
|
};
|
|
|
|
nameservers = [
|
|
"1.1.1.1"
|
|
"1.0.0.1"
|
|
];
|
|
};
|
|
|
|
# Dedicated builder user
|
|
users.users.builder = {
|
|
isNormalUser = true;
|
|
description = "Nix Remote Builder";
|
|
# You must add the public key corresponding to `builder-ssh-key` here
|
|
openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1... TODO: replace with build-farm-key.pub"
|
|
];
|
|
};
|
|
|
|
# Optimize nix settings for a build farm
|
|
nix.settings.trusted-users = [ "builder" ];
|
|
nix.settings.cores = 0; # Use all cores
|
|
nix.settings.max-jobs = "auto";
|
|
|
|
system.stateVersion = "24.05";
|
|
};
|
|
}
|