{ pkgs , lib , config , ... }: let keys = import ../../../variables/keys.nix; in { # TASK: new device networking.hostName = "contabo1"; # Define your hostname. networking.domain = "bootstrap.clusters.stefanjunker.de"; networking.firewall.enable = true; networking.firewall.allowedTCPPorts = [ # iperf3 5201 ]; networking.useDHCP = true; networking.usePredictableInterfaceNames = false; networking.interfaces.eth0 = { ipv6.addresses = [ { address = "2a02:c207:3003:2387::1"; prefixLength = 64; } ]; }; networking.defaultGateway6 = { address = "fe80::1"; interface = "eth0"; }; # Kubernetes # services.kubernetes.roles = ["master" "node"]; # virtualization virtualisation = { docker.enable = true; }; services.spice-vdagentd.enable = true; services.qemuGuest.enable = true; boot.initrd.network = { enable = true; udhcpc.extraArgs = [ "-x hostname:${config.networking.hostName}" ]; ssh = { enable = true; authorizedKeys = keys.users.steveej.openssh; }; }; boot.initrd.postMountCommands = '' for iface in $(cd /sys/class/net && ls); do echo "Bringing down $iface..." ip address flush dev $iface ip link set $iface down done ''; }