anchor.diff:          The value <literal>daemon</literal> means that the daemon will
           fork twice.  The value <literal>stop</literal> means that the
           daemon will raise the SIGSTOP signal to indicate readiness.
  +      '';
  +    };
  +
  +    setuid = mkOption {
  +      type = types.string;
  +      check = userExists;
  +      default = "";
  +      description = ''
  +        Run the daemon as a different user.
  +      '';
  +    };
  +
  +    setgid = mkOption {
  +      type = types.string;
  +      check = groupExists;
  +      default = "";
  +      description = ''
  +        Run the daemon as a different group.
         '';
       };
   
  
positive.code:     # do status queries.
      services.dbus.packages = [ upstart ];
  
    };
  
  }
  
negative.code: 
    upstart = pkgs.upstart;
  
    userExists = u:
      (u == "") || any (uu: uu.name == u) (attrValues config.users.extraUsers);
  
    groupExists = g:
      (g == "") || any (gg: gg.name == g) (attrValues config.users.extraGroups);
  
    # From a job description, generate an Upstart job file.
    makeJob = job:
  