SoftIOC services

See also

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

Added in version 26.11.

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

A set of SoftIOCs for which to generate a systemd service.

Default value
{ }
Example
{
  mySoftIoc.dbText = ''
    record(ai, MY_PV) {
      # ...
    }
  '';
};
services.softIocs.<name>.enable boolean[source]

Whether to enable the given Soft IOC.

Default value
true
services.softIocs.<name>.dbFiles list of absolute path[source]

Load database records from the given files.

Default value
[ ]
Example
[ ./mySoftIOC.db ]
services.softIocs.<name>.dbText null or strings concatenated with "\n"[source]

Load database records from the given string.

Default value
null
Example
''
  record(ai, MY_PV) {
    # ...
  }
''
services.softIocs.<name>.description null or string[source]

A description for your EPICS Soft IOC.

Default value
null
Example
"My super documented SoftIOC"
services.softIocs.<name>.environment attribute set of (null or string or absolute path or package)[source]

Environment variables passed to the Soft IOC process.

See also

If enabled, which is the default, it will inherit environment variables from environment.epics.

If you want to configure the CA address list, prefer using the environment.epics options.

Default value
{ }
Example
{
  EPICS_CAS_SERVER_PORT = "5066";
  EPICS_CA_MAX_ARRAY_BYTES = "10000";
}
services.softIocs.<name>.macros attribute set of string[source]

Set of macros definitions that will be expanded in the loaded files.

Default value
{ }
Example
{
  CALC = "2 + 2";
  P = "MY:PREFIX:";
}
services.softIocs.<name>.name string[source]

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

Default value
"‹name›"
services.softIocs.<name>.pvAccess.enable boolean[source]

Whether to enable PV Access support.

Default value
false
Example
true