anchor.diff:  with pkgs.lib;
   
   let 
  -  cfg = config.services.hydraChannelMirror ;
  +
  +  cfg = config.services.hydraChannelMirror;
  +
     mirrorChannel = pkgs.fetchsvn {
       url = https://svn.nixos.org/repos/nix/release/trunk/channels/mirror-channel.pl;
  -    rev = 24132;
  -    sha256 = "02xvswbbr2sj9k1wfraa0j9053vf6w88nhk15qwzs8nkm180n820";
  +    rev = 25210;
  +    sha256 = "0gspqid1rpsj1z1mr29nakh7di278nlv6v2knafvmm3g8ah3yxgz";
     };
  -  cronjob = jobset : ''
  -    ${cfg.period} root ENABLE_PATCHES=1 PATH=${config.environment.nix}/libexec/nix:$PATH perl -I${config.environment.nix}/libexec/nix ${mirrorChannel} ${cfg.hydraURL}/jobset/${jobset.project}/${jobset.jobset}/channel/latest ${cfg.dataDir}/channels/${jobset.relURL} ${cfg.dataDir}/nars ${cfg.mirrorURL}/nars ${cfg.dataDir}/patches ${cfg.mirrorURL}/patches ${if jobset.nixexprs == "" then "" else "${cfg.hydraURL}/job/${jobset.project}/${jobset.jobset}/${jobset.nixexprs}/latest/download-by-type/file/source-dist"} >> ${cfg.dataDir}/logs/${jobset.name}.log
  -  '';
  +
  +  cronjob = jobset:
  +    "${cfg.period} ${cfg.user}"
  +    + optionalString cfg.enableBinaryPatches " ENABLE_PATCHES=1"
  +    + " perl -I${config.environment.nix}/libexec/nix ${mirrorChannel}"
  +    + " ${cfg.hydraURL}/jobset/${jobset.project}/${jobset.jobset}/channel/latest"
  +    + " ${cfg.dataDir}/${jobset.project}/channels/${jobset.name}"
  +    + " ${cfg.dataDir}/nars"
  +    + " ${cfg.mirrorURL}/nars"
  +    + " ${cfg.dataDir}/patches"
  +    + " ${cfg.mirrorURL}/patches"
  +    + " ${if jobset.nixexprs == "" then "" else "${cfg.hydraURL}/job/${jobset.project}/${jobset.jobset}/${jobset.nixexprs}/latest/download-by-type/file/source-dist"}"
  +    + " >> ${cfg.dataDir}/logs/${jobset.name}.log 2>&1\n";
  +
   in
  +
   {
     options = {
     
  
positive.code:           Location of Hydra mirror data
          '';
        };
      };
  
    };
  
    config = mkIf cfg.enable {
    
      services.cron.systemCronJobs = map cronjob cfg.jobsets ;
  
      system.activationScripts.hydraChannelMirror = stringAfter [ "stdio" "users" ]
        ''
          mkdir -m 0755 -p ${cfg.dataDir}
          mkdir -m 0755 -p ${cfg.dataDir}/nars
          mkdir -m 0755 -p ${cfg.dataDir}/patches
          mkdir -m 0755 -p ${cfg.dataDir}/channels
          ln -fs ${cfg.dataDir}/nars ${cfg.dataDir}/channels/nars 
          ln -fs ${cfg.dataDir}/patches ${cfg.dataDir}/channels/patches 
          mkdir -m 0755 -p ${cfg.dataDir}/logs
          ${concatMapStrings (j : ''
          mkdir -m 0755 -p ${cfg.dataDir}/channels/${j.relURL}
          '') cfg.jobsets}
        '';
      
  
negative.code:         '';
        };
  
        user = mkOption {
          default = "hydra-mirror";
          description = ''
            User running the Hydra mirror script.
          '';
        };
  
        jobsets = mkOption {
          default = [ { name = "nixpkgs-unstable"; project = "nixpkgs"; jobset = "trunk"; nixexprs = "tarball"; } ];
          description = ''
            List of jobsets to mirror.
          '';
  