]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - flakes/private/openarc/flake.nix
Squash changes containing private information
[perso/Immae/Config/Nix.git] / flakes / private / openarc / flake.nix
index b4ab4c8d410b39d0a871355248cf0b0e073b9ccd..56c3a1ae7b6ed64aec9a37bdd96e52e67685df4d 100644 (file)
@@ -1,63 +1,47 @@
 {
-  inputs.openarc = {
-    path = "../../openarc";
-    type = "path";
-  };
-  inputs.secrets = {
-    path = "../../secrets";
-    type = "path";
-  };
-  inputs.files-watcher = {
-    path = "../../files-watcher";
-    type = "path";
-  };
-  inputs.my-lib = {
-    path = "../../lib";
-    type = "path";
-  };
-  inputs.nix-lib.url = "github:NixOS/nixpkgs";
+  inputs.openarc.url = "path:../../openarc";
+  inputs.secrets.url = "path:../../secrets";
+  inputs.files-watcher.url = "path:../../files-watcher";
 
   description = "Private configuration for openarc";
-  outputs = { self, nix-lib, my-lib, files-watcher, openarc, secrets }:
-    let
-      cfg = name': { config, lib, pkgs, name, ... }: {
-        imports = [
-          (my-lib.lib.withNarKey files-watcher "nixosModule")
-          (my-lib.lib.withNarKey openarc "nixosModule")
-          (my-lib.lib.withNarKey secrets "nixosModule")
-        ];
-        config = lib.mkIf (name == name') {
-          services.openarc = {
-            enable = true;
-            user = "opendkim";
-            socket = "/run/openarc/openarc.sock";
-            group = config.services.postfix.group;
-            configFile = pkgs.writeText "openarc.conf" ''
-              AuthservID              mail.immae.eu
-              Domain                  mail.immae.eu
-              KeyFile                 ${config.secrets.fullPaths."opendkim/eldiron.private"}
-              Mode                    sv
-              Selector                eldiron
-              SoftwareHeader          yes
-              Syslog                  Yes
-              '';
-          };
-          systemd.services.openarc.serviceConfig.Slice = "mail.slice";
-          systemd.services.openarc.postStart = ''
-            while [ ! -S ${config.services.openarc.socket} ]; do
-              sleep 0.5
-            done
-            chmod g+w ${config.services.openarc.socket}
+  outputs = { self, files-watcher, openarc, secrets }: {
+    nixosModule = self.nixosModules.openarc;
+    nixosModules.openarc = { config, pkgs, ... }: {
+      imports = [
+        files-watcher.nixosModule
+        openarc.nixosModule
+        secrets.nixosModule
+      ];
+      config = {
+        services.openarc = {
+          enable = true;
+          user = "opendkim";
+          socket = "/run/openarc/openarc.sock";
+          group = config.services.postfix.group;
+          configFile = pkgs.writeText "openarc.conf" ''
+            AuthservID              mail.immae.eu
+            Domain                  mail.immae.eu
+            KeyFile                 ${config.secrets.fullPaths."opendkim/eldiron.private"}
+            Mode                    sv
+            Selector                eldiron
+            SoftwareHeader          yes
+            Syslog                  Yes
             '';
-          services.filesWatcher.openarc = {
-            restart = true;
-            paths = [
-              config.secrets.fullPaths."opendkim/eldiron.private"
-            ];
-          };
+        };
+        systemd.services.openarc.serviceConfig.Slice = "mail.slice";
+        systemd.services.openarc.postStart = ''
+          while [ ! -S ${config.services.openarc.socket} ]; do
+            sleep 0.5
+          done
+          chmod g+w ${config.services.openarc.socket}
+          '';
+        services.filesWatcher.openarc = {
+          restart = true;
+          paths = [
+            config.secrets.fullPaths."opendkim/eldiron.private"
+          ];
         };
       };
-    in
-      openarc.outputs //
-      { nixosModules = openarc.nixosModules or {} // nix-lib.lib.genAttrs ["eldiron" "backup-2"] cfg; };
+    };
+  };
 }