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>.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
andsbin
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 likeforeground
andchdir
.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"