From 3ccc7e784a0ed5b19910ab856f6d9774a6f27956 Mon Sep 17 00:00:00 2001 From: Kleidi Bujari Date: Sat, 23 Nov 2024 16:36:43 -0500 Subject: Initial scaffolding and layout Set up the modules of the flake. At this time, the flake is split into modules and machines. Considering that additional top-level sections -- such as packages and shells -- will also be added, it might make sense to keep all nix related things in one top-level directory, alongside the flake.nix file. This is all under the assumption that later amendments to the project will introduce other tech, such as terraform. --- modules/xnet/users/radicale.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 modules/xnet/users/radicale.nix (limited to 'modules/xnet/users/radicale.nix') diff --git a/modules/xnet/users/radicale.nix b/modules/xnet/users/radicale.nix new file mode 100644 index 0000000..7d752f0 --- /dev/null +++ b/modules/xnet/users/radicale.nix @@ -0,0 +1,28 @@ +{ config, ... }: +let path = "/persist/data/radicale"; in { + services.radicale = { + enable = false; + settings = { + server.hosts = [ "127.0.0.1:5232" ]; + storage.filesystem_folder = "${path}/collections"; + auth = { + type = "htpasswd"; + htpasswd_filename = "${path}/users"; + htpasswd_encryption = "plain"; + }; + }; + }; + + systemd.tmpfiles.rules = [ + "d ${path} 0700 radicale radicale -" + "Z ${path} 0700 radicale radicale - -" + ]; + + services.nginx.virtualHosts."dav.web.4kb.net" = { + useACMEHost = "4kb.net"; + forceSSL = true; + locations."/" = { + proxyPass = "http://127.0.0.1:5232/"; + }; + }; +} -- cgit v1.3.1