anchor.diff:      systemd.units = mkOption {
         description = "Definition of systemd units.";
         default = {};
  -      type = types.attrsOf types.optionSet;
  -      options = { name, config, ... }:
  +      type = with types; attrsOf (submodule (
  +        { name, config, ... }:
           { options = concreteUnitOptions;
             config = {
               unit = mkDefault (makeUnit name config);
             };
  -        };
  +        }));
       };
   
       systemd.packages = mkOption {
  
positive.code: 
      systemd.automounts = mkOption {
        default = [];
        type = types.listOf types.optionSet;
        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
  
negative.code: 
      systemd.targets = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = targetOptions; } unitConfig] );
        description = "Definition of systemd target units.";
      };
  
      systemd.services = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = serviceOptions; } unitConfig serviceConfig ]);
        description = "Definition of systemd service units.";
      };
  
      systemd.sockets = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = socketOptions; } unitConfig ]);
        description = "Definition of systemd socket units.";
      };
  
      systemd.timers = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = timerOptions; } unitConfig ]);
        description = "Definition of systemd timer units.";
      };
  
      systemd.paths = mkOption {
        default = {};
        type = with types; attrsOf (submodule [ { options = pathOptions; } unitConfig ]);
        description = "Definition of systemd path units.";
      };
  
      systemd.mounts = mkOption {
        default = [];
        type = with types; listOf (submodule [ { 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
  