72 lines
1.6 KiB
Nix
72 lines
1.6 KiB
Nix
{ config, lib, ... }:
|
|
|
|
{
|
|
boot.isContainer = true;
|
|
|
|
# XXX: There's currently no way to remove the "problematic" entries (trying
|
|
# to override the /proc, /sys, /dev, ... mounts from systemd-nspawn) while
|
|
# also keeping the entry for the wrappers dir.
|
|
boot.specialFileSystems = lib.mkForce {
|
|
"/run/wrappers" = {
|
|
fsType = "tmpfs";
|
|
options = [
|
|
"nodev"
|
|
"mode=755"
|
|
"size=${config.security.wrapperDirSize}"
|
|
];
|
|
};
|
|
};
|
|
|
|
boot.loader.initScript.enable = true;
|
|
|
|
networking = {
|
|
useNetworkd = true;
|
|
useHostResolvConf = false;
|
|
|
|
hostName = "bagel-box";
|
|
domain = "infra.forkos.org";
|
|
nameservers = [ "2001:4860:4860::8844" ];
|
|
|
|
interfaces.host0.ipv6.addresses = [
|
|
{
|
|
address = "2001:bc8:38ee:100:100::1";
|
|
prefixLength = 64;
|
|
}
|
|
];
|
|
|
|
interfaces.host1.ipv4.addresses = [
|
|
{
|
|
address = "172.16.100.2";
|
|
prefixLength = 24;
|
|
}
|
|
];
|
|
defaultGateway = {
|
|
address = "172.16.100.1";
|
|
interface = "host1";
|
|
};
|
|
|
|
firewall.allowPing = true;
|
|
};
|
|
|
|
bagel.services = {
|
|
postgres.enable = true;
|
|
|
|
hydra.enable = true;
|
|
hydra.dbi = "dbi:Pg:dbname=hydra;user=hydra";
|
|
# Takes 10 builders (0 → 9).
|
|
hydra.builders = lib.genList (i: "builder-${builtins.toString i}") 10;
|
|
|
|
ofborg.enable = true;
|
|
};
|
|
|
|
bagel.sysadmin.enable = true;
|
|
|
|
security.acme.acceptTerms = true;
|
|
security.acme.defaults.email = "infra@forkos.org";
|
|
|
|
services.openssh.enable = true;
|
|
|
|
system.stateVersion = "24.11";
|
|
deployment.targetHost = "bagel-box.infra.forkos.org";
|
|
}
|