anchor.diff:  
       environment.systemPackages = [ systemd ];
   
  -    environment.etc = {
  +    environment.etc = let
  +      generators = (fold (p: attrs: let path = "${p}/lib/systemd/system-generators";
  +                                    in attrs // (mapAttrs' (name: _: nameValuePair name "${path}/${toString name}")
  +                                                           (builtins.readDir "${path}")))
  +                         cfg.generators
  +                         cfg.generator-packages);
  +    in ({
         "systemd/system".source = generateUnits "system" cfg.units upstreamSystemUnits upstreamSystemWants;
   
         "systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits [];
  
positive.code:       '';
      };
  
      systemd.defaultUnit = mkOption {
        default = "multi-user.target";
        type = types.str;
  
negative.code: 
          ${concatStringsSep "\n" cfg.tmpfiles.rules}
        '';
      } // mapAttrs' (n: v: nameValuePair "systemd/system-generators/${n}" {"source"=v;}) generators);
  
      system.activationScripts.systemd = stringAfter [ "groups" ]
        ''
  