shared-public-infra/hosts/epyc.nix
2024-06-14 22:17:49 +02:00

57 lines
1.5 KiB
Nix

{ lib, pkgs, ... }:
let
gcc-system-features = arch: lib.optionals (arch != null) ([ "gccarch-${arch}" ]
++ map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${arch});
in
{
imports = [
../modules/ipmi-supermicro.nix
../modules/hardware/supermicro-H12SSL-i.nix
../modules/iperf-server.nix
../modules/hypervisor.nix
../modules/hydra/coordinator.nix
../modules/android-cache.nix
../modules/garage.nix
../modules/users/friends.nix
];
networking.hostName = "epyc";
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
virtualisation.docker = {
enable = true;
rootless.enable = true;
};
# TODO: there's a critical bug on 6.8+ where btrfs won't mount the rootfs at all.
# Do not upgrade until it is fixed. Ping Raito when needed.
boot.kernelPackages = pkgs.linuxPackages_6_7;
# Open public access to our PostgreSQL.
services.postgresql.enable = true;
services.postgresql.enableTCPIP = true;
services.postgresql.authentication = ''
host hydra-nixos-org hydra_ro ::/0 trust
'';
networking.firewall.allowedTCPPorts = [ 5432 ];
nix.buildMachines = [
{
hostName = "localhost";
systems = [
"x86_64-linux"
"riscv64-linux"
];
supportedFeatures = [ "kvm" "nixos-test" "big-parallel" "benchmark" ] ++ gcc-system-features "znver3";
maxJobs = 2;
}
];
boot.binfmt.emulatedSystems = [ "riscv64-linux" "aarch64-linux" "riscv64-linux" ];
simd.arch = "znver3";
system.stateVersion = "23.05";
}