anchor.diff:            See also: <link xlink:href="http://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely#Remote_access"/>
           '';
         };
  +
  +      extraEnvPackages = mkOption {
  +        type = types.listOf types.package;
  +        default = [];
  +        example = "[ pkgs.virtualbox ]";
  +        description = ''
  +          Additional packages to make available in the environment in which
  +          BOINC will run. Common choices are:
  +          <variablelist>
  +            <varlistentry>
  +              <term><varname>pkgs.virtualbox</varname></term>
  +              <listitem><para>
  +                The VirtualBox virtual machine framework. Required by some BOINC
  +                projects, such as ATLAS@home.
  +              </para></listitem>
  +            </varlistentry>
  +            <varlistentry>
  +              <term><varname>pkgs.ocl-icd</varname></term>
  +              <listitem><para>
  +                OpenCL infrastructure library. Required by BOINC projects that
  +                use OpenCL, in addition to a device-specific OpenCL driver.
  +              </para></listitem>
  +            </varlistentry>
  +            <varlistentry>
  +              <term><varname>pkgs.linuxPackages.nvidia_x11</varname></term>
  +              <listitem><para>
  +                Provides CUDA libraries. Required by BOINC projects that use
  +                CUDA. Note that this requires an NVIDIA graphics device to be
  +                present on the system.
  +              </para><para>
  +                Also provides OpenCL drivers for NVIDIA GPUs;
  +                <varname>pkgs.ocl-icd</varname> is also needed in this case.
  +              </para></listitem>
  +            </varlistentry>
  +          </variablelist>
  +        '';
  +      };
       };
   
       config = mkIf cfg.enable {
  
positive.code: let
    cfg = config.services.boinc;
    allowRemoteGuiRpcFlag = optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc";
  
  in
    {
  
negative.code:           chown boinc ${cfg.dataDir}
          '';
          script = ''
            ${fhsEnvExecutable} --dir ${cfg.dataDir} --redirectio ${allowRemoteGuiRpcFlag}
          '';
          serviceConfig = {
            PermissionsStartOnly = true; # preStart must be run as root
  