{ config, lib, ... }: { systemd.network = { networks = { "tap0" = { name = "tap0"; bridge = [ "virbr0" ]; }; "enp4s0" = { name = "enp4s0"; networkConfig = { DHCP = "yes"; DNSOverTLS = "yes"; DNSSEC = "yes"; }; bridge = [ "virbr0" ]; }; }; netdevs = { "tap0" = { netdevConfig = { Name = "tap0"; Kind = "tap"; }; tapConfig = { User = "${config.users.users.soispha.uid}"; Group = "libvirtd"; }; }; "virbr0" = { netdevConfig = { Name = "br0"; Kind = "bridge"; }; }; }; }; } // lib.mkIf config.networking.networkmanager.enable { users.users.soispha.extraGroups = [ "networkmanager" # allows to configure networkmanager as this user ]; }