62 lines
1.7 KiB
Nix
62 lines
1.7 KiB
Nix
{ inputs, 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
|
|
../modules/bagel-container.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 = let
|
|
pkgsForKernel = import inputs.nixpkgs-for-kernel {
|
|
system = "x86_64-linux";
|
|
};
|
|
in pkgsForKernel.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";
|
|
}
|