Options

epnix.applications.apps

Applications to include in this EPICS distribution

If specified as a string, the string is resolved from the available inputs.

For example:

epnix.applications.apps = [ "inputs.myExampleApp" ];

will refer to the myExampleApp input of your flake.

Note that due to EPICS conventions, your application names must end with App.

Default value
[ ]
Type
list of (string or path or package)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/app.nix

epnix.boot.iocBoots

Additional iocBoot directories to include in this EPICS distribution.

Note that the iocBoot directory is already included by default.

This option support the same types of arguments as epnix.support.modules. Please refer to its documentation for more information.

Default value
[ ]
Type
list of (string or path or package)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/boot.nix

epnix.buildConfig.attrs

Extra attributes to pass to the derivation

Default value
{ }
Type
attribute set
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/outputs.nix

epnix.buildConfig.src

The source code for the top.

Defaults to the directory containing the flake.nix file.

Type
path
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/outputs.nix

epnix.checks.imports

A list of .nix files containing integration tests.

Alternatively, a raw configuration can be specified.

Please refer to the documentation book guide "Writing integration tests" for instructions on how to write these .nix files.

Default value
[ ]
Type
list of (path or (attribute set) or function that evaluates to a(n) (attribute set))
Example
[./checks/simple.nix]
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/checks.nix

epnix.devShell.attrs

Extra attributes to pass as-is to the mkShell function.

See the nixpkgs documentation on mkShell for more information.

Default value
{ }
Type
attribute set
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.environment.variables

A set of environment variables used in the development shell.

The value of each variable can be either a string or a list of strings. The latter is concatenated, interspersed with colon characters.

If null is given, the environment variable is explicitely unset, preventing said environment variable to "leak" from the host environment to the development shell.

Default value
{ }
Type
attribute set of (null or string or list of string)
Example
{
  EPICS_CA_ADDR_LIST = "localhost";
}
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.packages

A list of packages and their command description to add into the development shell.

Type
list of (submodule)
Example
[
  {
    package = pkg.poetry;
    category = "development tools";
  }
  {
    package = pkg.hello;
    commands.hello = {
      description = "Say hello in the terminal";
      category = "miscellaneous";
    };
  }
]
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.packages.*.category

Set a free text category under which this command is grouped and shown in the help menu.

Default value
"general commands"
Type
string
Example
"development tools"
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.packages.*.commands

The various commands to document in the menu.

Default value
{ }
Type
attribute set of (submodule)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.packages.*.commands.<name>.category

Set a free text category under which this command is grouped and shown in the help menu.

If unspecified, defaults to the category of the package.

Type
string
Example
"development tools"
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.packages.*.commands.<name>.description

Description of this specific command.

This description will be put in the development shell menu.

Default value
""
Type
string
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.packages.*.package

The package providing the specified commands.

Type
package
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.scripts

A set of shell scripts to add to the development shell.

Type
attribute set of (submodule)
Example
{
  hello-world = {
    category = "miscellaneous";
    description = "Say hello in the terminal";
    text = ''
      echo 'Hello, World!'
    '';
  };
}
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.scripts.<name>.category

Set a free text category under which this command is grouped and shown in the help menu.

Default value
"general commands"
Type
string
Example
"development tools"
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.scripts.<name>.description

Description of this specific command.

This description will be put in the development shell menu.

Default value
""
Type
string
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.devShell.scripts.<name>.text

Content of the script.

Type
string
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/devshell.nix

epnix.epics-base.package

Package to use for epics-base.

Defaults to the official distribution from the given release branch and with the given RELEASE and CONFIG_SITE.

Default value
pkgs.epnix."epics-base${releaseBranch}".override {
  local_config_site = siteConfig;
  local_release = releaseConfig;
}
Type
package
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/base.nix

epnix.epics-base.releaseBranch

The release branch of epics-base to install

Default value
"7"
Type
one of "7", "3"
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/base.nix

epnix.epics-base.releaseConfig

Configuration installed as RELEASE

Default value
{ }
Type
attribute set of (null or string)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/base.nix

epnix.epics-base.siteConfig

Configuration installed as CONFIG_SITE

Default value
{ }
Type
attribute set of (null or string)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/base.nix

epnix.generatedOverlay

A generated overlay which has your package inside pkgs.epnix.support.

Type
function that evaluates to a(n) function that evaluates to a(n) (attribute set)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/outputs.nix

epnix.inputs

The flake inputs of your project.

This allows resolving things like "inputs.myExampleApp" in the epnix.applications.apps configuration option.

Type
attribute set
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/common.nix

epnix.meta.name

Name of this EPICS distribution

Type
string
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/meta.nix

epnix.meta.version

Version of this EPICS distribution

Default value
"0.0.1"
Type
string
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/meta.nix

epnix.nixos.services

Services for which to create a systemd service config.

Type
attribute set of (submodule)
Example
{
  ioc = {
    app = "examples";
    ioc = "iocExamples";
  };
}
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixos-integration.nix

epnix.nixos.services.<name>.app

Name of the app to start the IOC with.

Type
string
Example
"my_exec"
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixos-integration.nix

epnix.nixos.services.<name>.config

Resulting configuration for the systemd service.

Type
attribute set (read only)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixos-integration.nix

epnix.nixos.services.<name>.ioc

Name of the directory under iocBoot containing the start commands.

Type
string
Example
"iocMyDevice"
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixos-integration.nix

epnix.nixos.services.<name>.procServ.options

Extra command-line options to pass to procServ.

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

Default value
{ }
Type
attribute set of (string or signed integer or boolean or list of string)
Example
{
  allow = true;
  info-file = "/var/run/ioc/procServ_info";
}
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixos-integration.nix

epnix.nixos.services.<name>.procServ.port

Port where the procServ utility will listen.

Default value
2000
Type
16 bit unsigned integer; between 0 and 65535 (both inclusive)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixos-integration.nix

epnix.nixos.services.<name>.startCommandsFile

Name of the file containing the EPICS start commands.

Default value
"st.cmd"
Type
string
Example
"other_st.cmd"
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixos-integration.nix

epnix.outputs

Contains an attribute set of build-products for this distribution.

Notable examples include:

build
The actual build of this distribution.
Default value
{ }
Type
attribute set of package
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/common.nix

epnix.pkgs

Contains the set of packages effectively used by this distribution.

This means for example that the epics-base package will refer to the release branch 3 or 7, depending on the epnix.epics-base.releaseBranch option value, and so on.

These packages will be available as the legacyPackages flake output.

This option is read-only. To modify a set of packages, please use the nixpkgs.overlays option.

Default value
<the effective used packages>
Type
attribute set (read only)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/common.nix

epnix.support.modules

Support modules needed for this EPICS distribution.

Example:

epnix.support.modules = with pkgs.epnix.support; [ calc ];

If specified as a string, the string is resolved from the available inputs.

For example:

epnix.support.modules = [ "inputs.myExampleSup" ];

will refer to the myExampleSup input of your flake.

Default value
[ ]
Type
list of (string or path or package)
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/support

nixpkgs.overlays

Nixpkgs overlays to override the default packages used

Default value
[ ]
Type
list of unspecified value
Declared in
  • /nix/store/ayp7q6y9ip7aj4canxk9448k0vbcj5f7-source/ioc/modules/nixpkgs.nix