NixOS options reference

Options

services.archiver-appliance.appliancesXml

Content of the appliances.xml file.

See the ARCHAPPL_APPLIANCES documentation for more details.

Default value
''
  <appliances>
    <appliance>
      <identity>appliance0</identity>
      <cluster_inetport>localhost:16670</cluster_inetport>
      <mgmt_url>http://localhost:8080/mgmt/bpl</mgmt_url>
      <engine_url>http://localhost:8080/engine/bpl</engine_url>
      <etl_url>http://localhost:8080/etl/bpl</etl_url>
      <retrieval_url>http://localhost:8080/retrieval/bpl</retrieval_url>
      <data_retrieval_url>http://localhost:8080/retrieval</data_retrieval_url>
    </appliance>
  </appliances>
''
Type

string

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.enable

Whether to enable Archiver Appliance.

Archiver Appliance will listen on port 8080.

Default value
false
Type

boolean

Example
true
Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.openFirewall

Open the firewall for the Archiver Appliance service.

Warning: this opens the firewall on all network interfaces.

Default value
false
Type

boolean

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.package

Archiver Appliance package to use.

Default value
pkgs.epnix.archiver-appliance
Type

package

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings

Configuration for Archiver Appliance.

These options will be put into the Archiver Appliance’s environment.

Default value
{ }
Type

attribute set of (string or path)

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.ARCHAPPL_APPLIANCES

Path to an appliances.xml file.

By default this NixOS module will generate a file from the appliancesXml option, so you might want to modify the appliancesXml option instead.

Default value
pkgs.writeText "appliances.xml" cfg.appliancesXml
Type

path

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.ARCHAPPL_LONG_TERM_FOLDER

Path to the Long Term Store (MTS) folder.

Default value
"/arch/lts/ArchiverStore"
Type

path

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.ARCHAPPL_MEDIUM_TERM_FOLDER

Path to the Medium Term Store (MTS) folder.

Default value
"/arch/mts/ArchiverStore"
Type

path

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.ARCHAPPL_MYIDENTITY

The identity of the current appliance.

If you change this value, you will need to modify the content of appliances.xml: the specified identity must match an identity of one of the appliance XML elements.

See the ARCHAPPL_MYIDENTITY documentation for more details.

Default value
"appliance0"
Type

string

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.ARCHAPPL_POLICIES

Path to a policies.py file.

This file specifies the various policies that can be used when archiving a PV. For example, you can specify that a given policy archive PVs at a rate of 2Hz.

By default, the policies.py found in src/sitespecific/tests/classpathfiles/policies.py is used.

Default value
"${cfg.package}/share/archappl/policies.py"
Type

path

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.ARCHAPPL_SHORT_TERM_FOLDER

Path to the Short Term Store (STS) folder.

Default value
"/arch/sts/ArchiverStore"
Type

path

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.EPICS_CA_ADDR_LIST

List of Channel Access destination IP addresses.

Each IP address can be a unicast address, or a broadcast address.

This option is ignored of EPICS_CA_AUTO_ADDR_LIST is enabled (the default).

Default value
[ ]
Type

list of string

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.settings.EPICS_CA_AUTO_ADDR_LIST

If set, behave as if every broadcast address of every network interface is added to EPICS_CA_ADDR_LIST.

Default value
true
Type

boolean

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.stores.configure

Whether to automatically configure the local STS, MTS, and LTS directories.

Default value
true
Type

boolean

Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.stores.lts.location

Backing directory containing the LTS.

Type

string

Example
"/data/lts"
Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.stores.mts.location

Backing directory containing the MTS.

Type

string

Example
"/data/mts"
Declared in

nixos/modules/archiver-appliance.nix

services.archiver-appliance.stores.sts.size

Size of the STS in bytes.

If null, the size will depend on the amount of RAM available, normally half of your physical RAM without swap.

Warning: If you oversize it, the machine will deadlock since the OOM handler will not be able to free that memory.

Default value
null
Type

null or string

Example
"20g"
Declared in

nixos/modules/archiver-appliance.nix

services.ca-gateway.enable

Whether to enable the Channel Access PV gateway.

Default value
false
Type

boolean

Example
true
Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.openFirewall

Open the firewall for allowing Channel Access communications.

Warning: this opens the firewall on all network interfaces.

Default value
false
Type

boolean

Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings

Configuration for the Channel Access PV gateway.

These options are passed onto the gateway command-line.

Available options can be seen here: https://epics.anl.gov/EpicsDocumentation/ExtensionsManuals/Gateway/Gateway.html#Starting

Default value
{ }
Type

null or boolean or signed integer or floating point number or string or path or list of string

Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings.access

Name of file with all the EPICS access security rules in it.

PVs in the pvlist file use groups and rules defined in this file.

See the sample file gateway.pvlist in the source distribution:

https://github.com/epics-extensions/ca-gateway/blob/v2.1.3/example/GATEWAY.access

Default value
null
Type

null or path or string

Example
pkgs.writeText "gateway.access" ''
  UAG(GatewayAdmin)  {gateway,smith}

  # ...
''
Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings.cip

IP address list that the gateway’s CA client uses to find the real PVs.

See CA reference manual.

This sets environment variables EPICS_CA_AUTO_LIST=NO and EPICS_CA_ADDR_LIST.

Note: if you intend to broadcast on a port other than 5064, you will need change your firewall configuration and accept incoming UDP packets with your source port.

Default value
null
Type

null or (list of string)

Example
[
  "192.168.1.4"
  "192.168.1.3"
]
Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings.cport

The port which the gateway’s CA client uses to find the real PVs.

Sets environment variable EPICS_CA_SERVER_PORT.

With openFirewall = true, this option sets the port in the firewall rule for the CA broadcast reply.

Default value
5064
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings.pvlist

Name of file with all the allowed PVs in it.

See the sample file gateway.pvlist in the source distribution for a description of how to create this file:

https://github.com/epics-extensions/ca-gateway/blob/v2.1.3/example/GATEWAY.pvlist

Default value
null
Type

null or path or string

Example
pkgs.writeText "gateway.pvlist" ''
  EVALUATION ORDER DENY, ALLOW

  .* DENY

  MY_PV ALLOW

  # ...
''
Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings.signore

IP address list that gateway’s CA server ignores.

Sets env variable EPICS_CAS_IGNORE_ADDR_LIST.

Default value
null
Type

null or (list of string)

Example
[
  "192.168.1.5"
  "192.168.1.42"
]
Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings.sip

IP address list that gateway’s CA server listens for PV requests.

Sets env variable EPICS_CAS_INTF_ADDR_LIST.

By default, the CA server is accessible from all network interfaces configured into its host.

Default value
null
Type

null or (list of string)

Example
[
  "192.168.1.1"
]
Declared in

nixos/modules/ca-gateway.nix

services.ca-gateway.settings.sport

The port which the gateway’s CA server uses to listen for PV requests.

Sets environment variable EPICS_CAS_SERVER_PORT.

Default value
5064
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/ca-gateway.nix

services.phoebus-alarm-logger.enable

Whether to enable the Phoebus Alarm logger

The alarm logging service records all alarm messages to create an archive of all alarm state changes and the associated actions. .

Default value
false
Type

boolean

Example
true
Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.openFirewall

Open the firewall for the Phoebus Alarm Logger service.

Warning: this opens the firewall on all network interfaces.

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings

Configuration for the Phoebus Alarm Logger.

These options will be put into a .properties file.

Note that options containing a “.” must be quoted.

Available options can be seen here: https://github.com/ControlSystemStudio/phoebus/blob/master/services/alarm-logger/src/main/resources/application.properties

Default value
{ }
Type

attribute set of (string, package, bool, int or float)

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings.alarm_topics

Alarm topics to be logged

Default value
[
  "Accelerator"
]
Type

list of string

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings."bootstrap.servers"

Location of the Kafka server

Type

string

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings.date_span_units

Units of the indices date span.

Can be Days (D), Weeks(W), Months(M), Years(Y)

Default value
"M"
Type

one of “D”, “W”, “M”, “Y”

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings.es_create_templates

Automatically create the index templates needed

Default value
true
Type

boolean

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings.es_host

Elasticsearch server host

Default value
"localhost"
Type

string

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings.es_port

Elasticsearch server port

Default value
config.services.elasticsearch.port
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings.es_sniff

Use the Elasticseach sniff feature

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings."server.port"

Port for the Alarm Logger service

Default value
8080
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-logger.settings.thread_pool_size

Size of the thread pool for message and command loggers.

Two threads per topic/configuration are required.

Default value
config.services.elasticsearch.port
Type

positive integer, meaning >0

Declared in

nixos/modules/phoebus/alarm-logger.nix

services.phoebus-alarm-server.createTopics

Automatically create missing Kafka topics

Default value
true
Type

boolean

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.enable

Whether to enable the Phoebus Alarm server

By default this option will also enable the phoebus-alarm-logger service. Set services.phoebus-alarm-logger.enable = false; to disable it. .

Default value
false
Type

boolean

Example
true
Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.openFirewall

Open the firewall for all Phoebus Alarm related services.

This uses the port numbers configured in each related NixOS module.

Includes services:

  • Phoebus Alarm Logger (if not disabled)

Warning: this opens the firewall on all network interfaces.

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings

Configuration for the Phoebus Alarm Server.

These options will be put into a .properties file.

Note that options containing a “.” must be quoted.

Default value
{ }
Type

attribute set of (string, package, bool, int or float)

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.applications.alarm/config_names"

Names of selectable alarm configurations.

Will be used as the name for the Kafka topic.

Default value
[
  "Accelerator"
]
Type

list of string

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.applications.alarm/server"

Kafka server host:port

Type

string

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.email/from"

Default address to be used for the email field From:.

If left empty, then the last used from address is used.

Default value
""
Type

string

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.email/mailhost"

The SMTP server host.

If set to DISABLE (the default), email support is disabled.

Default value
"DISABLE"
Type

string

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.email/mailport"

The SMTP server port.

Default value
25
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.email/password"

Password for authenticating to the SMTP server.

Note: the password will be put in plaintext, in the world-readable /nix/store.

Default value
""
Type

string

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.email/username"

Username for authenticating to the SMTP server.

Default value
""
Type

string

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.pv.ca/addr_list"

Channel Access address list

Default value
[ ]
Type

list of string

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-alarm-server.settings."org.phoebus.pv.ca/auto_addr_list"

Derive the CA address list from the available network interfaces

Default value
true
Type

boolean

Declared in

nixos/modules/phoebus/alarm-server.nix

services.phoebus-olog.enable

Whether to enable the Phoebus Olog service.

Default value
false
Type

boolean

Example
true
Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-olog.settings

Configuration for the Phoebus Olog service.

These options will be put into a .properties file.

Note that options containing a “.” must be quoted.

See here for supported options: https://github.com/Olog/phoebus-olog/blob/v4.7.7/src/main/resources/application.properties

Default value
{ }
Type

attribute set of (string, package, bool, int or float)

Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-olog.settings."ad.enabled"

Enable authenticating to an external Active Directory server.

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-olog.settings."demo_auth.enabled"

Enable the demo authentication.

Phoebus will provide two users:

  • admin:adminPass

  • user:userPass

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-olog.settings."embedded_ldap.enabled"

Enable the embedded LDAP authentication.

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-olog.settings."ldap.enabled"

Enable authenticating to an external LDAP server.

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-olog.settings."server.http.enable"

Enable unsecure HTTP

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-olog.settings."server.port"

The server port for the REST service

Default value
8181
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/phoebus/olog.nix

services.phoebus-save-and-restore.enable

Whether to enable the Phoebus Save-and-restore service.

This service is used by clients to manage configurations (aka save sets) and snapshots, to compare snapshots, and to restore PV values from snapshots. .

Default value
false
Type

boolean

Example
true
Declared in

nixos/modules/phoebus/save-and-restore.nix

services.phoebus-save-and-restore.openFirewall

Open the firewall for the Phoebus Save-and-restore service.

Warning: this opens the firewall on all network interfaces.

Default value
false
Type

boolean

Declared in

nixos/modules/phoebus/save-and-restore.nix

services.phoebus-save-and-restore.settings

Configuration for the Phoebus Save-and-restore service.

These options will be put into a .properties file.

Note that options containing a “.” must be quoted.

Available options can be seen here: https://github.com/ControlSystemStudio/phoebus/blob/master/services/save-and-restore/src/main/resources/application.properties

Default value
{ }
Type

attribute set of (string, package, bool, int or float)

Declared in

nixos/modules/phoebus/save-and-restore.nix

services.phoebus-save-and-restore.settings."elasticsearch.http.port"

Elasticsearch server port

Default value
config.services.elasticsearch.port
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/phoebus/save-and-restore.nix

services.phoebus-save-and-restore.settings."elasticsearch.network.host"

Elasticsearch server host

If localhost (the default), the Elasticsearch service will be automatically set up.

Default value
"localhost"
Type

string

Declared in

nixos/modules/phoebus/save-and-restore.nix

services.phoebus-save-and-restore.settings."server.port"

Port for the Save-and-restore service

Default value
8080
Type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared in

nixos/modules/phoebus/save-and-restore.nix