anchor.diff:          requires    = [ "network-online.target" ];
           after       = [ "network-online.target" ];
   
  -        path = [ pkgs.iputils pkgs.tarsnap pkgs.utillinux ];
  +        path = with pkgs; [ iputils tarsnap utillinux ];
   
           # In order for the persistent tarsnap timer to work reliably, we have to
           # make sure that the tarsnap server is reachable after systemd starts up
  
positive.code:           CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ];
            PermissionsStartOnly = "true";
          };
        }) gcfg.archives);
  
      # Note: the timer must be Persistent=true, so that systemd will start it even
  
negative.code:           while ! ping -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done
          '';
  
          script = let
            tarsnap = ''tarsnap --configfile "/etc/tarsnap/${name}.conf"'';
            run = ''${tarsnap} -c -f "${name}-$(date +"%Y%m%d%H%M%S")" \
                          ${optionalString cfg.verbose "-v"} \
                          ${optionalString cfg.explicitSymlinks "-H"} \
                          ${optionalString cfg.followSymlinks "-L"} \
                          ${concatStringsSep " " cfg.directories}'';
            in if (cfg.cachedir != null) then ''
              mkdir -p ${cfg.cachedir}
              chmod 0700 ${cfg.cachedir}
  