diff --git a/services/impermanence.nix b/services/impermanence.nix index 45a4b43..3f8b239 100644 --- a/services/impermanence.nix +++ b/services/impermanence.nix @@ -44,6 +44,7 @@ in ++ optional config.services.ollama.enable "/var/lib/private/ollama" ++ optional config.programs.virt-manager.enable "/var/lib/libvirt" ++ optional config.networking.networkmanager.enable "/etc/NetworkManager/system-connections" + ++ optional config.services.radicale.enable config.services.radicale.settings.storage.filesystem_folder ++ optionals config.virtualisation.podman.enable [ "/var/lib/containers/storage" "/run/containers/storage" diff --git a/services/nginx_vHosts/radicale.nix b/services/nginx_vHosts/radicale.nix new file mode 100644 index 0000000..089fe73 --- /dev/null +++ b/services/nginx_vHosts/radicale.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + ... +}: +with lib; + +let + radicale = config.services.radicale; +in +{ + vHost = + if radicale.enable then + { + extraConfig = '' + location / { + proxy_pass http://127.0.0.1:5232/; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Host $host; + proxy_pass_header Authorization; + } + ''; + } + else + { }; +} +.vHost diff --git a/services/radicale.nix b/services/radicale.nix new file mode 100644 index 0000000..c5c6e83 --- /dev/null +++ b/services/radicale.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + pkgs, + ... +}: + +with lib; +mkIf (elem "radicale" config.machine.services) { + services.radicale = { + enable = true; + package = pkgs.radicale3; + settings = { + server = { + hosts = [ "127.0.0.1:5232" ]; + }; + auth = { + type = "imap"; + imap_host = "mail.ophanim.de"; + }; + storage = { + filesystem_folder = "/var/lib/radicale/collections"; + }; + }; + }; +}