mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-27 02:34:53 +00:00
`systemd.mainExecReload` fell back to `""` when `process.reloadCommand` was unset, while `systemd.services."".serviceConfig.ExecReload` was defined unconditionally. `serviceConfig` entries use `unitOption`, which concatenates definitions only when one of them is a list; two plain strings go through `mergeEqualOption` instead. So any service setting `ExecReload` through the systemd escape hatch failed to evaluate, as in `nixosTests.php85.fpm-modular`. The `""` fallback was also rendered as a bare `ExecReload=` line in every unit without a reload command, since `attrsToSection` does not filter empty strings. Default `systemd.mainExecReload` to `process.reloadCommand` itself, which makes its existing `defaultText` accurate, and guard the definition with `lib.mkIf`, so the framework leaves `ExecReload` undefined unless there really is a reload command. Assisted-by: Claude:claude-opus-5 Signed-off-by: cinereal <cinereal@riseup.net>