You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
Nix
63 lines
1.6 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;
|
|
};
|
|
|
|
# We want to use EEVDF and AMD-related niceties.
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
# 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 ];
|
|
|
|
virtualisation.nvisor.vms = {
|
|
vm01 = {
|
|
config = { pkgs, ... }: {
|
|
environment.systemPackages = [ pkgs.hello ];
|
|
};
|
|
};
|
|
};
|
|
|
|
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";
|
|
}
|