anchor.diff:      ${cfg.client.extraConfig}
     '';
   
  +  serviceList = [
  +    { service = "admon"; cfgFile = configAdmon; }
  +    { service = "meta"; cfgFile = configMeta; }
  +    { service = "mgmtd"; cfgFile = configMgmtd; }
  +    { service = "storage"; cfgFile = configStorage; }
  +  ];
  +
     # function to generate systemd.service entries
  +  systemdEntry = service: cfgFile: (mapAttrs' 
  +    ( name: cfg:  (nameValuePair "beegfs-${service}-${name}" (mkIf cfg."${service}".enable {
  +        path = with pkgs; [ beegfs ];
  +        wantedBy = [ "multi-user.target" ];
  +        requires = [ "network-online.target" ];
  +        after = [ "network-online.target" ];
  +        serviceConfig = {
  +          Type = "simple";
  +          ExecStart = ''
  +            ${pkgs.beegfs}/bin/beegfs-${service} \
  +              cfgFile=${cfgFile name cfg} \
  +              pidFile=/run/beegfs-${service}-${name}.pid
  +          '';
  +          PIDfile = "/run/beegfs-${service}-${name}.pid"; 
  +          TimeoutStopSec = "300";
  +        };
  +      }))) cfg);
  +
     systemdHelperd =  mapAttrs' 
       ( name: cfg:  (nameValuePair "beegfsHelperd-${name}" (mkIf cfg.client.enable {
           path = with pkgs; [ beegfs ];
  
positive.code:             type = types.lines;
              default = "";
              description = ''
                Addional lines for beegfs-client.conf. See documentation
                for further details.
              '';
            };
  
negative.code:               Must not be shared with other beegfs daemons.
                The underlying filesystem must be mounted with xattr turned on.
                This directory must exist and it must be initialized
                with "beegfs-setup-storage -C -s <serviceID> -i <storageTargetID> -p <storeDir>"
              '';
            };
  
            extraConfig = mkOption {
              type = types.str;
              default = "";
              description = ''
                Addional lines for beegfs-storage.conf. See documentation
                for further details.
              '';
            };
  