Loading
nixos/mosquitto: write ACL files to StateDirectory instead of /etc
The ACL file was placed in /etc via environment.etc with owner=mosquitto and mode=0400. This breaks when system.etc.overlay.enable is set, because the file ownership doesn't map into the service's PrivateUsers namespace and mosquitto can't read it. Install the ACL file into StateDirectory during preStart instead, alongside the password files. The file ends up owned by the mosquitto user with mode 0700, satisfying mosquitto's permission checks. Fixes #474135