{ config, pkgs, inputs, lib, ... }: let physicalInterface = "enp4s0"; bridgeInterface = "br0"; in { imports = [ ./bolty-boot.nix ./real-hardware.nix ../cli.nix ./matrix-server.nix ./print-server.nix ./restic-server.nix ./home-assistant.nix ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; networking = { hostName = "bolty"; useDHCP = false; defaultGateway = { address = "10.0.0.1"; interface = "${bridgeInterface}"; }; nameservers = [ "91.239.100.100" "89.233.43.71" "1.1.1.1" ]; interfaces = { "${physicalInterface}" = { useDHCP = false; wakeOnLan.enable = true; }; "${bridgeInterface}" = { ipv4.addresses = [{ "address" = "10.0.0.8"; "prefixLength" = 24; }]; }; }; bridges = { "${bridgeInterface}".interfaces = [ "${physicalInterface}" ]; }; }; boot.kernelModules = [ "kvm_amd" ]; virtualisation = { libvirtd = { enable = true; qemu.ovmf.enable = true; }; }; environment.systemPackages = with pkgs; [ qemu virt-manager usbutils virt-viewer lm_sensors ]; networking.firewall.allowedTCPPorts = [ 5900 ]; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; security.allowUserNamespaces = true; time.timeZone = "Europe/London"; }