anchor.diff:  
       systemd.automounts = mkOption {
         default = [];
  -      type = types.listOf types.optionSet;
  -      options = [ automountOptions unitConfig automountConfig ];
  +      type = with types; listOf (submodule [ { options = automountOptions; } unitConfig automountConfig ]);
         description = ''
           Definition of systemd automount units.
           This is a list instead of an attrSet, because systemd mandates the names to be derived from
  
positive.code: 
      systemd.targets = mkOption {
        default = {};
        type = types.attrsOf types.optionSet;
        options = [ targetOptions unitConfig ];
        description = "Definition of systemd target units.";
      };
  
      systemd.services = mkOption {
        default = {};
        type = types.attrsOf types.optionSet;
        options = [ serviceOptions unitConfig serviceConfig ];
        description = "Definition of systemd service units.";
      };
  
      systemd.sockets = mkOption {
        default = {};
        type = types.attrsOf types.optionSet;
        options = [ socketOptions unitConfig ];
        description = "Definition of systemd socket units.";
      };
  
      systemd.timers = mkOption {
        default = {};
        type = types.attrsOf types.optionSet;
        options = [ timerOptions unitConfig ];
        description = "Definition of systemd timer units.";
      };
  
      systemd.paths = mkOption {
        default = {};
        type = types.attrsOf types.optionSet;
        options = [ pathOptions unitConfig ];
        description = "Definition of systemd path units.";
      };
  
      systemd.mounts = mkOption {
        default = [];
        type = types.listOf types.optionSet;
        options = [ mountOptions unitConfig mountConfig ];
        description = ''
          Definition of systemd mount units.
          This is a list instead of an attrSet, because systemd mandates the names to be derived from
  
negative.code:     systemd.units = mkOption {
        description = "Definition of systemd units.";
        default = {};
        type = with types; attrsOf (submodule (
          { name, config, ... }:
          { options = concreteUnitOptions;
            config = {
              unit = mkDefault (makeUnit name config);
            };
          }));
      };
  
      systemd.packages = mkOption {
  