3 path = "../../openarc";
6 inputs.files-watcher = {
7 path = "../../files-watcher";
14 inputs.nix-lib.url = "github:NixOS/nixpkgs";
16 description = "Private configuration for openarc";
17 outputs = { self, nix-lib, my-lib, files-watcher, openarc }:
19 cfg = name': { config, lib, pkgs, name, ... }: {
20 imports = [ (my-lib.lib.withNarKey files-watcher "nixosModule") ];
21 config = lib.mkIf (name == name') {
25 socket = "local:${config.myServices.mail.milters.sockets.openarc}";
26 group = config.services.postfix.group;
27 configFile = pkgs.writeText "openarc.conf" ''
28 AuthservID mail.immae.eu
30 KeyFile ${config.secrets.fullPaths."opendkim/eldiron.private"}
37 systemd.services.openarc.serviceConfig.Slice = "mail.slice";
38 systemd.services.openarc.postStart = lib.optionalString
39 (lib.strings.hasPrefix "local:" config.services.openarc.socket) ''
40 while [ ! -S ${lib.strings.removePrefix "local:" config.services.openarc.socket} ]; do
43 chmod g+w ${lib.strings.removePrefix "local:" config.services.openarc.socket}
45 services.filesWatcher.openarc = {
48 config.secrets.fullPaths."opendkim/eldiron.private"
55 { nixosModules = openarc.nixosModules or {} // nix-lib.lib.genAttrs ["eldiron" "backup-2"] cfg; };