25.05 Release notes¶
New features and highlights¶
New module
services.iocs
to deploy EPICS IOCs as systemd services.If you deployed EPICS IOCs manually by using
systemd.services
, or used the configurationepnix.nixos.services.ioc.config
generated from the now deprecated IOC module system, read the IOC services NixOS guide.New module
environment.epics
to configure EPICS parameters.This enables configuring the EPICS CA address list, in a single location, for every EPNix module, such as IOCs, Archiver Appliance, Phoebus services, etc.
Read the EPICS environment NixOS guide for more information.
A new set of options in
programs.phoebus-client
enables you to configure thesettings.ini
of your Phoebus directly using Nix options, including colors and fonts. Read the Phoebus client NixOS guide for more information.A multi-language formatter is now included in the new EPICS top template. Run
nix fmt
in your IOC to format your project with the same coding conventions as EPNix.To use it in existing EPICS top projects, add
inherit (epnix) formatter;
in the same block asoverlays.default = ...;
, and add a.clang-format
file containingBasedOnStyle: WebKit
.Archiver Appliance was upgrade from 1.1.0 -> 2.0.5, see the Archiver Appliance 2.0.5 release notes. None of the breaking change should affect users of the
services.archiver-appliance
NixOS options.
Breaking changes¶
The old way of developing IOCs was deprecated, and will be removed in version
nixos-26.05
. Please follow the migration guide Migrating from modules development.
Phoebus¶
Phoebus was upgraded from 4.7.x to 5.0.x, which contains breaking changes:
The Phoebus client settings are now not persisted on disk. This means that for custom settings, either:
you must always start Phoebus with the
-settings /path/to/settings.ini
option,or you must configure the
settings.ini
file using the Phoebus client NixOS module,or you must place the
settings.ini
file in a default location. See the Phoebus Preference Settings documentation for more information.
Phoebus save-and-restore now requires authentication for all non read-only operations. This means that the new option
services.phoebus-save-and-restore.settings."auth.impl"
is now required. Examine the updated guide Phoebus save-and-restore setup for how to use it.
Documentation¶
A revised sidebar, with common parts at the top, and sections that only apply to different user profiles
A revised introduction, and an explanation of Advantages / disadvantages, to better explain the project to newcomers
New Cheatsheet, with links to often used commands and documentation, also available in PDF
An explanation of all the files that can be found in the IOC template, in Template files
EPNix development¶
The documentation was converted from RST to Markdown to make it easier to contribute to
The default formatter for Nix code changed from Alejandra to Nixfmt (RFC style). If you had pending Pull Requests and rebasing them leads to merge conflicts, you can use the Mergiraf tool to help resolving those conflicts, then run
nix fmt
again.Other languages are now formatted when running
nix fmt
in the EPNix repository, including Bash, C/C++, and Python