anchor.diff:        };
       };
   
  +    systemd.services."NetworkManager-dispatcher" = {
  +      wantedBy = [ "network.target" ];
  +      restartTriggers = [ configFile ];
  +
  +      # useful binaries for user-specified hooks
  +      path = [ pkgs.iproute pkgs.utillinux pkgs.coreutils ];
  +    };
  +
       # Turn off NixOS' network management
       networking = {
         useDHCP = false;
  
positive.code:             source = mkOption {
                type = types.path;
                description = ''
                  A script.
                '';
              };
  
  
negative.code:               type = types.enum (attrNames dispatcherTypesSubdirMap);
                default = "basic";
                description = ''
                  Dispatcher hook type. Look up the hooks described at
                  <link xlink:href="https://developer.gnome.org/NetworkManager/stable/NetworkManager.html">https://developer.gnome.org/NetworkManager/stable/NetworkManager.html</link>
                  and choose the type depending on the output folder.
                  You should then filter the event type (e.g., "up"/"down") from within your script.
                '';
              };
            };
          });
          default = [];
          example = literalExample ''
          [ {
                source = pkgs.writeText "upHook" '''
  
                  if [ "$2" != "up" ]; then
                      logger "exit: event $2 != up"
                  fi
  
                  # coreutils and iproute are in PATH too
                  logger "Device $DEVICE_IFACE coming up"
              ''';
              type = "basic";
          } ]'';
          description = ''
            A list of scripts which will be executed in response to  network  events.
          '';
  