anchor.diff:              lib.optionalString (file != null) ''
                 replace-secret '${file}' '${file}' /run/discourse/config/discourse.conf
               '';
  +
  +          mkAdmin = ''
  +            export ADMIN_EMAIL="${cfg.admin.email}"
  +            export ADMIN_NAME="${cfg.admin.fullName}"
  +            export ADMIN_USERNAME="${cfg.admin.username}"
  +            ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})"
  +            export ADMIN_PASSWORD
  +            discourse-rake admin:create_noninteractively
  +          '';
  +
           in ''
             set -o errexit -o pipefail -o nounset -o errtrace
             shopt -s inherit_errexit
  
positive.code:           discourse-rake db:migrate >>/var/log/discourse/db_migration.log
            chmod -R u+w /run/discourse/tmp/
  
            export ADMIN_EMAIL="${cfg.admin.email}"
            export ADMIN_NAME="${cfg.admin.fullName}"
            export ADMIN_USERNAME="${cfg.admin.username}"
            ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})"
            export ADMIN_PASSWORD
            discourse-rake admin:create_noninteractively
  
            discourse-rake themes:update
            discourse-rake uploads:regenerate_missing_optimized
  
negative.code:       };
  
        admin = {
          skipCreate = lib.mkOption {
            type = lib.types.bool;
            default = false;
            description = ''
              Do not create the admin account, instead rely on other
              existing admin accounts.
            '';
          };
  
          email = lib.mkOption {
            type = lib.types.str;
            example = "admin@example.com";
  