anchor.diff:    };
   
   
  -  mountOptions = { options = {
  -
  -    what = mkOption {
  -      example = "/dev/sda1";
  -      type = types.str;
  -      description = "Absolute path of device node, file or other resource. (Mandatory)";
  -    };
  -
  -    where = mkOption {
  -      example = "/mnt";
  -      type = types.str;
  -      description = ''
  -        Absolute path of a directory of the mount point.
  -        Will be created if it doesn't exist. (Mandatory)
  -      '';
  -    };
  -
  -    type = mkOption {
  -      default = "";
  -      example = "ext4";
  -      type = types.str;
  -      description = "File system type.";
  -    };
  -
  -    options = mkOption {
  -      default = "";
  -      example = "noatime";
  -      type = types.commas;
  -      description = "Options used to mount the file system.";
  -    };
  -
  -    mountConfig = mkOption {
  -      default = {};
  -      example = { DirectoryMode = "0775"; };
  -      type = types.attrsOf unitOption;
  -      description = ''
  -        Each attribute in this set specifies an option in the
  -        <literal>[Mount]</literal> section of the unit.  See
  -        <citerefentry><refentrytitle>systemd.mount</refentrytitle>
  -        <manvolnum>5</manvolnum></citerefentry> for details.
  -      '';
  -    };
  -  }; };
  +  mountOptions = {
  +    options = {
  +
  +      what = mkOption {
  +        example = "/dev/sda1";
  +        type = types.str;
  +        description = "Absolute path of device node, file or other resource. (Mandatory)";
  +      };
  +
  +      where = mkOption {
  +        example = "/mnt";
  +        type = types.str;
  +        description = ''
  +          Absolute path of a directory of the mount point.
  +          Will be created if it doesn't exist. (Mandatory)
  +        '';
  +      };
  +
  +      type = mkOption {
  +        default = "";
  +        example = "ext4";
  +        type = types.str;
  +        description = "File system type.";
  +      };
  +
  +      options = mkOption {
  +        default = "";
  +        example = "noatime";
  +        type = types.commas;
  +        description = "Options used to mount the file system.";
  +      };
  +
  +      mountConfig = mkOption {
  +        default = {};
  +        example = { DirectoryMode = "0775"; };
  +        type = types.attrsOf unitOption;
  +        description = ''
  +          Each attribute in this set specifies an option in the
  +          <literal>[Mount]</literal> section of the unit.  See
  +          <citerefentry><refentrytitle>systemd.mount</refentrytitle>
  +          <manvolnum>5</manvolnum></citerefentry> for details.
  +        '';
  +      };
  +
  +    };
  +  };
   
     stage2MountOptions = {
       imports = [
  
positive.code:     ];
    };
  
    automountOptions = { options = {
  
      where = mkOption {
        example = "/mnt";
        type = types.str;
        description = ''
          Absolute path of a directory of the mount point.
          Will be created if it doesn't exist. (Mandatory)
        '';
      };
  
      automountConfig = mkOption {
        default = {};
        example = { DirectoryMode = "0775"; };
        type = types.attrsOf unitOption;
        description = ''
          Each attribute in this set specifies an option in the
          <literal>[Automount]</literal> section of the unit.  See
          <citerefentry><refentrytitle>systemd.automount</refentrytitle>
          <manvolnum>5</manvolnum></citerefentry> for details.
        '';
      };
    }; };
  
    stage2AutomountOptions = {
      imports = [
  
negative.code:   };
    stage1CommonUnitOptions = commonUnitOptions;
  
    serviceOptions = { name, config, ... }: {
      options = {
  
        environment = mkOption {
          default = {};
          type = with types; attrsOf (nullOr (oneOf [ str path package ]));
          example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
          description = "Environment variables passed to the service's processes.";
        };
  
        path = mkOption {
          default = [];
          type = with types; listOf (oneOf [ package str ]);
          description = ''
            Packages added to the service's <envar>PATH</envar>
            environment variable.  Both the <filename>bin</filename>
            and <filename>sbin</filename> subdirectories of each
            package are added.
          '';
        };
  
        serviceConfig = mkOption {
          default = {};
          example =
            { RestartSec = 5;
            };
          type = types.addCheck (types.attrsOf unitOption) checkService;
          description = ''
            Each attribute in this set specifies an option in the
            <literal>[Service]</literal> section of the unit.  See
            <citerefentry><refentrytitle>systemd.service</refentrytitle>
            <manvolnum>5</manvolnum></citerefentry> for details.
          '';
        };
  
        script = mkOption {
          type = types.lines;
          default = "";
          description = "Shell commands executed as the service's main process.";
        };
  
        scriptArgs = mkOption {
          type = types.str;
          default = "";
          description = "Arguments passed to the main process script.";
        };
  
        preStart = mkOption {
          type = types.lines;
          default = "";
          description = ''
            Shell commands executed before the service's main process
            is started.
          '';
        };
  
        postStart = mkOption {
          type = types.lines;
          default = "";
          description = ''
            Shell commands executed after the service's main process
            is started.
          '';
        };
  
        reload = mkOption {
          type = types.lines;
          default = "";
          description = ''
            Shell commands executed when the service's main process
            is reloaded.
          '';
        };
  
        preStop = mkOption {
          type = types.lines;
          default = "";
          description = ''
            Shell commands executed to stop the service.
          '';
        };
  
        postStop = mkOption {
          type = types.lines;
          default = "";
          description = ''
            Shell commands executed after the service's main process
            has exited.
          '';
        };
  
        jobScripts = mkOption {
          type = with types; coercedTo path singleton (listOf path);
          internal = true;
          description = "A list of all job script derivations of this unit.";
          default = [];
        };
  
      };
  
      config = mkMerge [
        (mkIf (config.preStart != "") rec {
          jobScripts = makeJobScript "${name}-pre-start" config.preStart;
          serviceConfig.ExecStartPre = [ jobScripts ];
        })
        (mkIf (config.script != "") rec {
          jobScripts = makeJobScript "${name}-start" config.script;
          serviceConfig.ExecStart = jobScripts + " " + config.scriptArgs;
        })
        (mkIf (config.postStart != "") rec {
          jobScripts = (makeJobScript "${name}-post-start" config.postStart);
          serviceConfig.ExecStartPost = [ jobScripts ];
        })
        (mkIf (config.reload != "") rec {
          jobScripts = makeJobScript "${name}-reload" config.reload;
          serviceConfig.ExecReload = jobScripts;
        })
        (mkIf (config.preStop != "") rec {
          jobScripts = makeJobScript "${name}-pre-stop" config.preStop;
          serviceConfig.ExecStop = jobScripts;
        })
        (mkIf (config.postStop != "") rec {
          jobScripts = makeJobScript "${name}-post-stop" config.postStop;
          serviceConfig.ExecStopPost = jobScripts;
        })
      ];
  
    };
  
  