anchor.diff:      systemd.services.snapper-timeline = {
         description = "Timeline of Snapper Snapshots";
         inherit documentation;
  +      requires = [ "local-fs.target" ];
         serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --timeline";
  -    };
  -
  -    systemd.timers.snapper-timeline = {
  -      description = "Timeline of Snapper Snapshots";
  -      inherit documentation;
  -      wantedBy = [ "basic.target" ];
  -      timerConfig.OnCalendar = cfg.snapshotInterval;
  +      startAt = cfg.snapshotInterval;
       };
   
       systemd.services.snapper-cleanup = {
  
positive.code: 
  {
    options.services.snapper = {
  
      snapshotInterval = mkOption {
        type = types.str;
  
negative.code:     systemd.timers.snapper-cleanup = {
        description = "Cleanup of Snapper Snapshots";
        inherit documentation;
        wantedBy = [ "timers.target" ];
        requires = [ "local-fs.target" ];
        timerConfig.OnBootSec = "10m";
        timerConfig.OnUnitActiveSec = cfg.cleanupInterval;
      };
  
      systemd.services.snapper-boot = lib.optionalAttrs cfg.snapshotRootOnBoot {
        description = "Take snapper snapshot of root on boot";
        inherit documentation;
        serviceConfig.ExecStart = "${pkgs.snapper}/bin/snapper --config root create --cleanup-algorithm number --description boot";
        serviceConfig.type = "oneshot";
        requires = [ "local-fs.target" ];
        wantedBy = [ "multi-user.target" ];
        unitConfig.ConditionPathExists = "/etc/snapper/configs/root";
      };
  
    });
  }
  