summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseth <[email protected]>2023-08-03 03:31:23 -0400
committerseth <[email protected]>2023-08-03 03:31:23 -0400
commit234801e89d681c2206ac17f00707ed76ea7bf725 (patch)
tree8b9d8cac8016ca6cf073e0e89adb83b1d3b3757f
parent902aaafd18eab47d59342ada470848fd2bd58522 (diff)
modules/nixos: init acme module
-rw-r--r--modules/nixos/server/acme.nix26
-rw-r--r--modules/nixos/server/default.nix1
2 files changed, 27 insertions, 0 deletions
diff --git a/modules/nixos/server/acme.nix b/modules/nixos/server/acme.nix
new file mode 100644
index 0000000..a28e713
--- /dev/null
+++ b/modules/nixos/server/acme.nix
@@ -0,0 +1,26 @@
+{
+ config,
+ lib,
+ self,
+ ...
+}: let
+ cfg = config.getchoo.server.acme;
+ inherit (lib) mkEnableOption mkIf;
+in {
+ options.getchoo.server.acme = {
+ enable = mkEnableOption "acme";
+ };
+
+ config = mkIf cfg.enable {
+ age.secrets.cloudflareApiKey = "${self}/secrets/shared/cloudflareApiKey.age";
+
+ security.acme = {
+ acceptTerms = true;
+ defaults = {
+ email = "[email protected]";
+ dnsProvider = "cloudflare";
+ credentialsFile = config.age.secrets.cloudflareApiKey.path;
+ };
+ };
+ };
+}
diff --git a/modules/nixos/server/default.nix b/modules/nixos/server/default.nix
index 2bcb445..ed62e81 100644
--- a/modules/nixos/server/default.nix
+++ b/modules/nixos/server/default.nix
@@ -10,6 +10,7 @@ in {
options.getchoo.server.enable = mkEnableOption "enable server configuration";
imports = [
+ ./acme.nix
./secrets.nix
./services
];