{ config, lib, pkgs, ... }: let dn = "staff.tfcconnection.org"; in with lib; { services = { caddy = { virtualHosts = { "${dn}".extraConfig = '' encode gzip reverse_proxy localhost:8080 redir /.well-known/carddav /remote.php/dav 301 redir /.well-known/caldav /remote.php/dav 301 header { Strict-Transport-Security "max-age=15768000; includeSubDomains; reload;" Access-Control-Allow-Origin * Referrer-Policy no-referrer-when-downgrade } redir /.well-known/oidc-configuration /apps/oidc/openid-configuration 301 handle_path /whiteboard/* { reverse_proxy http://127.0.0.1:3002 } ''; }; }; nextcloud = { enable = true; f }; }; environment.systemPackages = with pkgs; [ nextcloud_package # for nextcloud memories unstable.exiftool unstable.exif ffmpeg_6 nodejs_20 unstable.perl536Packages.ImageExifTool ]; }