anchor.diff:      users.users.prosody = mkIf (cfg.user == "prosody") {
         uid = config.ids.uids.prosody;
         description = "Prosody user";
  -      createHome = true;
         inherit (cfg) group;
  -      home = "${cfg.dataDir}";
  +      home = cfg.dataDir;
       };
   
       users.groups.prosody = mkIf (cfg.group == "prosody") {
  
positive.code:       wants = [ "network-online.target" ];
        wantedBy = [ "multi-user.target" ];
        restartTriggers = [ config.environment.etc."prosody/prosody.cfg.lua".source ];
        serviceConfig = {
          User = cfg.user;
          Group = cfg.group;
          Type = "forking";
          RuntimeDirectory = [ "prosody" ];
          PIDFile = "/run/prosody/prosody.pid";
          ExecStart = "${cfg.package}/bin/prosodyctl start";
          ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
  
          MemoryDenyWriteExecute = true;
          PrivateDevices = true;
          PrivateMounts = true;
          PrivateTmp = true;
          ProtectControlGroups = true;
          ProtectHome = true;
          ProtectHostname = true;
          ProtectKernelModules = true;
          ProtectKernelTunables = true;
          RestrictNamespaces = true;
          RestrictRealtime = true;
          RestrictSUIDSGID = true;
        };
      };
  
    };
  
negative.code: 
        dataDir = mkOption {
          type = types.path;
          default = "/var/lib/prosody";
          description = ''
            The prosody home directory used to store all data. If left as the default value
            this directory will automatically be created before the prosody server starts, otherwise
            you are responsible for ensuring the directory exists with appropriate ownership
            and permissions.
          '';
        };
  
        disco_items = mkOption {
  