anchor.diff:  let
   
     cfg = config.networking;
  +  hasVirtuals = any (i: i.virtual) cfg.interfaces;
   
   in
   
  
positive.code:         pkgs.openresolv
        ]
        ++ optional (cfg.bridges != {}) pkgs.bridge_utils
        ++ optional cfg.enableIPv6 pkgs.ndisc6;
  
      security.setuidPrograms = [ "ping" "ping6" ];
  
negative.code:           '';
          };
  
          virtual = mkOption {
            default = false;
            type = types.bool;
            description = ''
              Whether this interface is virtual and should be created by tunctl.
              This is mainly useful for creating bridges between a host a virtual
              network such as VPN or a virtual machine.
  
              Defaults to tap device, unless interface contains "tun" in its name.
            '';
          };
  
          virtualOwner = mkOption {
            default = "root";
            type = types.uniq types.string;
            description = ''
              In case of a virtual device, the user who owns it.
            '';
          };
  
        };
  
      };
  