{ 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"; }