{ config, pkgs, inputs, lib, ... }: let physicalInterface = "enp4s0"; bridgeInterface = "br0"; in { imports = [ ./bolty-boot.nix ./real-hardware.nix ../cli.nix ./home-assistant.nix ./matrix-server.nix ./nix-store-server.nix ./print-server.nix ./restic-server.nix ]; boot.binfmt.emulatedSystems = ["aarch64-linux"]; programs.ccache.enable = true; 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"; }