From 48c40f1fc401c7a89597335856d7719f1e96efd0 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 23 Oct 2021 00:42:03 -0700 Subject: [PATCH] Try relax on derivation attribute to check for SSL --- module.nix | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/module.nix b/module.nix index d8b90db..abddcd8 100644 --- a/module.nix +++ b/module.nix @@ -2,8 +2,8 @@ with lib; let cfg = config.services.danilafe-blog; - sslForDomain = domain: (cfg.ssl == true) || (cfg.ssl."${domain}" or false); - anySsl = any sslForDomain (attrNames cfg.domains); + sslForDomain = domain: package: package.ssl; + anySsl = any id (mapAttrsToList sslForDomain cfg.domains); virtualHost = domain: package: { virtualHosts."${domain}" = mkMerge [ @@ -17,7 +17,7 @@ let }) ]; }; - service = domain: + service = domain: package: { # Workaround for new configuration setting all of /var to be readonly. # See https://github.com/NixOS/nixpkgs/issues/139310 @@ -26,16 +26,11 @@ let }; }; virtualHosts = mapAttrsToList virtualHost cfg.domains; - services = map service (filter sslForDomain (attrNames cfg.domains)); + services = mapAttrsToList service (filterAttrs sslForDomain cfg.domains); in { options.services.danilafe-blog = { enable = mkEnableOption "Daniel's blog service"; - ssl = mkOption { - type = types.either types.bool (types.attrsOf types.bool); - default = false; - description = "Enable SSL and ACME for all or some domains."; - }; domains = mkOption { type = types.attrsOf types.package; default = {};