{ pkgs, ... }: let json = pkgs.formats.json { }; in { virtualisation = { podman = { enable = true; dockerCompat = true; defaultNetwork.settings = { driver = "macvlan"; network_interface = "server"; subnets = [ { subnet = "10.42.97.0/24"; gateway = "10.42.97.1"; } ]; ipv6_enabled = false; internal = false; dns_enabled = false; ipam_options = { driver = "dhcp"; }; }; }; }; systemd.sockets."nv-proxy" = { description = "DHCP Client for netavark"; socketConfig = { ListenStream = "/run/podman/nv-proxy.sock"; SocketMode = 0600; }; wantedBy = [ "sockets.target" ]; }; systemd.services."nv-proxy" = { description = "DHCP Client netavark Service"; after = [ "nv-proxy.socket" ]; requires = [ "nv-proxy.socket" ]; wantedBy = [ "multi-user.target" "nv-proxy.socket" ]; path = [ pkgs.netavark ]; serviceConfig = { Type = "simple"; ExecStart= "${pkgs.netavark}/bin/netavark-dhcp-proxy-client"; TimeoutStopSec = 30; KillMode = "process"; }; }; }