shared-public-infra/hosts/epyc.nix

63 lines
1.6 KiB
Nix
Raw Normal View History

{ lib, pkgs, ... }:
2023-08-03 20:56:37 +00:00
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
2023-08-23 11:00:22 +00:00
../modules/android-cache.nix
2023-08-22 20:14:20 +00:00
../modules/garage.nix
2023-08-16 13:22:54 +00:00
../modules/users/friends.nix
];
networking.hostName = "epyc";
2023-08-22 20:14:20 +00:00
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
virtualisation.docker = {
enable = true;
rootless.enable = true;
};
# We want to use EEVDF and AMD-related niceties.
boot.kernelPackages = pkgs.linuxPackages_latest;
2023-08-22 16:42:50 +00:00
# Open public access to our PostgreSQL.
services.postgresql.enable = true;
2023-08-22 16:42:50 +00:00
services.postgresql.enableTCPIP = true;
2023-08-22 19:17:31 +00:00
services.postgresql.authentication = ''
host hydra-nixos-org hydra_ro ::/0 trust
'';
2023-08-22 16:42:50 +00:00
networking.firewall.allowedTCPPorts = [ 5432 ];
2023-07-02 17:45:17 +00:00
virtualisation.nvisor.vms = {
vm01 = {
config = { pkgs, ... }: {
environment.systemPackages = [ pkgs.hello ];
};
};
};
2023-08-03 20:56:37 +00:00
nix.buildMachines = [
{ hostName = "localhost";
systems = [
"x86_64-linux"
"riscv64-linux"
];
supportedFeatures = [ "kvm" "nixos-test" "big-parallel" "benchmark" ] ++ gcc-system-features "znver3";
maxJobs = 2;
2023-08-03 20:56:37 +00:00
}
];
boot.binfmt.emulatedSystems = [ "riscv64-linux" "aarch64-linux" "riscv64-linux" ];
2023-08-01 14:48:49 +00:00
simd.arch = "znver3";
system.stateVersion = "23.05";
}