anchor.diff:      ${coreutils}/bin/rm -f $tmp $tmp.ns
     '';
   
  +  # pre-up and pre-down hooks were added in NM 0.9.10, but we still use 0.9.0
  +  dispatcherTypesSubdirMap = {
  +    "basic" = "";
  +    /*"pre-up" = "pre-up.d/";
  +    "pre-down" = "pre-down.d/";*/
  +  };
  +
   in {
   
     ###### interface
  
positive.code:     ] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
             { source = overrideNameserversScript;
               target = "NetworkManager/dispatcher.d/02overridedns";
             };
  
      environment.systemPackages = cfg.packages ++ [
          networkmanager_openvpn
  
negative.code:         '';
        };
  
        dispatcherScripts = mkOption {
          type = types.listOf (types.submodule {
            options = {
              source = mkOption {
                type = types.str;
                description = ''
                  A script source.
                '';
              };
  
              type = mkOption {
                type = types.enum (attrNames dispatcherTypesSubdirMap); 
                default = "basic";
                description = ''
                  Dispatcher hook type. Only basic hooks are currently available.
                '';
              };
            };
          });
          default = [];
          description = ''
            A list of scripts which will be executed in response to  network  events.
          '';
        };
      };
    };
  
  