anchor.diff:          The format is described in
           <citerefentry><refentrytitle>systemd.time</refentrytitle>
           <manvolnum>7</manvolnum></citerefentry>.
  +
  +        To disable automatic updates, set to <literal>"never"</literal>
  +        and run <command>updatedb</command> manually.
         '';
       };
   
  
positive.code:         serviceConfig.ReadWritePaths = dirOf cfg.output;
        };
  
      systemd.timers.update-locatedb =
        { description = "Update timer for locate database";
          partOf      = [ "update-locatedb.service" ];
          wantedBy    = [ "timers.target" ];
  
negative.code:       { LOCATE_PATH = cfg.output;
        };
  
      environment.etc = {
        # write /etc/updatedb.conf for manual calls to `updatedb`
        "updatedb.conf" = {
          text = ''
            PRUNEFS="${lib.concatStringsSep " " cfg.pruneFS}"
            PRUNENAMES="${lib.concatStringsSep " " cfg.pruneNames}"
            PRUNEPATHS="${lib.concatStringsSep " " cfg.prunePaths}"
            PRUNE_BIND_MOUNTSFR="${lib.boolToString cfg.pruneBindMounts}"
          '';
        };
      };
  
      warnings = optional (isMLocate && cfg.localuser != null) "mlocate does not support the services.locate.localuser option; updatedb will run as root. (Silence with services.locate.localuser = null.)"
              ++ optional (isFindutils && cfg.pruneNames != []) "findutils locate does not support pruning by directory component"
              ++ optional (isFindutils && cfg.pruneBindMounts) "findutils locate does not support skipping bind mounts";
  