From c8e9dd8535161ea0a3d70a596ae19e79d40e69f0 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sun, 7 Feb 2021 21:07:24 +0000 Subject: [PATCH] services: add blog --- services/blog.nix | 37 +++++++++++++++++++++++++++++++++++++ services/default.nix | 1 + 2 files changed, 38 insertions(+) create mode 100644 services/blog.nix diff --git a/services/blog.nix b/services/blog.nix new file mode 100644 index 0000000..4873670 --- /dev/null +++ b/services/blog.nix @@ -0,0 +1,37 @@ +# My blog setup +{ config, lib, ... }: +let + cfg = config.my.services.blog; + domain = config.networking.domain; + + makeHostInfo = name: { + name = "${name}.${domain}"; + value = "/var/www/${name}"; + }; + + hostsInfo = [ + { + name = domain; + value = "/var/www/blog"; + } + ] ++ builtins.map makeHostInfo [ "cv" "dev" "key" ]; + + hosts = builtins.listToAttrs hostsInfo; + + makeVirtualHost = with lib.attrsets; + name: root: nameValuePair "${name}" { + forceSSL = true; + useACMEHost = "${domain}"; + inherit root; + }; +in +{ + options.my.services.blog = { + enable = lib.mkEnableOption "Blog hosting"; + }; + + config = lib.mkIf cfg.enable { + services.nginx.virtualHosts = with lib.attrsets; + mapAttrs' makeVirtualHost hosts; + }; +} diff --git a/services/default.nix b/services/default.nix index 488c4ba..fd8e80c 100644 --- a/services/default.nix +++ b/services/default.nix @@ -3,6 +3,7 @@ { imports = [ ./backup.nix + ./blog.nix ./gitea.nix ./indexers.nix ./jellyfin.nix