nixos/postsrsd: expose socketPath via module option

Services utilising postsrsd need to connect to it via a Unix socket.
While the path to that socket is static as of now, the discoverability
of that path suffers from the lack of module documentation and a
scattered definition of the individual path components over at least
three lines, even when reading the module source.

By exposing the socket path as a readOnly NixOS option, that value shows
up in the options overview and can be re-used in other parts of NixOS
config.

Changed files
+10 -1
nixos
modules
services
+10 -1
nixos/modules/services/mail/postsrsd.nix
···
secrets-file = "''${CREDENTIALS_DIRECTORY}/secrets-file"
domains = ${libconfuseDomains}
separator = "${cfg.separator}"
-
socketmap = "unix:${runtimeDirectory}/socket"
+
socketmap = "unix:${cfg.socketPath}"
# Disable postsrsd's jailing in favor of confinement with systemd.
unprivileged-user = ""
···
type = lib.types.str;
default = "postsrsd";
description = "Group for the daemon";
+
};
+
+
socketPath = lib.mkOption {
+
type = lib.types.path;
+
default = "${runtimeDirectory}/socket";
+
readOnly = true;
+
description = ''
+
Path to the Unix socket for connecting to postsrsd.
+
Read-only, intended for usage when integrating postsrsd into other NixOS config.'';
};
};
};