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, ... }: {
21 (my-lib.lib.withNarKey files-watcher "nixosModule")
22 (my-lib.lib.withNarKey openarc "nixosModule")
24 #(my-lib.lib.withNarKey secrets "nixosModule")
26 config = lib.mkIf (name == name') {
30 socket = "/run/openarc/openarc.sock";
31 group = config.services.postfix.group;
32 configFile = pkgs.writeText "openarc.conf" ''
33 AuthservID mail.immae.eu
35 KeyFile ${config.secrets.fullPaths."opendkim/eldiron.private"}
42 systemd.services.openarc.serviceConfig.Slice = "mail.slice";
43 systemd.services.openarc.postStart = ''
44 while [ ! -S ${config.services.openarc.socket} ]; do
47 chmod g+w ${config.services.openarc.socket}
49 services.filesWatcher.openarc = {
52 config.secrets.fullPaths."opendkim/eldiron.private"
59 { nixosModules = openarc.nixosModules or {} // nix-lib.lib.genAttrs ["eldiron" "backup-2"] cfg; };