IOC services

See also

To learn how to deploy IOCs on NixOS, read the IOC services guide.

services.iocs attribute set of (submodule)[source]

A set of IOCs for which to generate a systemd service

Added in version 25.05.

Default value
{ }
Example
{
  myIoc = {
    package = pkgs.myIoc;
    workingDirectory = "iocBoot/iocExample";
  };
};
services.iocs.<name>
services.iocs.<name>.enable boolean[source]

Whether to enable the given IOC.

Default value
true
services.iocs.<name>.description string[source]

A description for your EPICS IOC

Default value
package.meta.description or "EPICS IOC"
services.iocs.<name>.environment attribute set of (null or string or path or package)[source]

Environment variables passed to the IOC process

Default value
{ }
Example
{
  AUTOSAVE_DIRECTORY = "/var/lib/epics/myIoc/autosave";
  EPICS_CA_MAX_ARRAY_BYTES = 10000;
}
services.iocs.<name>.name string[source]

The name of the IOC, used for the systemd service.

Default value
"‹name›"
services.iocs.<name>.package package[source]

The packaged EPICS top containing the IOC.

Example
pkgs.myIoc
services.iocs.<name>.path list of (package or string)[source]

Packages added to the service’s PATH environment variable.

Both the bin and sbin subdirectories of each package are added.

Default value
[ ]
Example
[
  pkgs.pciutils
]
services.iocs.<name>.procServ
services.iocs.<name>.procServ.options attribute set of (string or signed integer or boolean or list of string)[source]

Extra command-line options to pass to procServ.

Note

using lib.mkForce overrides the default options needed for the systemd service to work. If you wish to do this, you need to specify needed arguments like foreground and chdir.

Default value
{ }
Example
{
  allow = true;
  info-file = "/var/run/ioc/procServ_info";
}
services.iocs.<name>.procServ.port 16 bit unsigned integer; between 0 and 65535 (both inclusive)[source]

Port where the procServ utility will listen.

Default value
2000
services.iocs.<name>.startupScript string[source]

The script used to start the IOC.

The path is relative to the given workingDirectory.

Default value
"./st.cmd"
Example
"./other-st.cmd"
services.iocs.<name>.workingDirectory unspecified value[source]

The working directory from which to start the IOC.

Example
"iocBoot/iocExample"