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:
[ "inputs.myExampleApp" ]; epnix.applications.apps =
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
-
"epics-base${releaseBranch}".override { pkgs.epnix.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:
with pkgs.epnix.support; [ calc ]; epnix.support.modules =
If specified as a string, the string is resolved from the available inputs.
For example:
[ "inputs.myExampleSup" ]; epnix.support.modules =
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