diff --git a/nixos/configuration.nix b/nixos/configuration.nix index ba89fdf..37f8b25 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -27,6 +27,7 @@ ./programs/phoenix.nix ./programs/deluge.nix ./programs/adguard.nix + ./programs/prosody.nix ]; # Enable flakes diff --git a/nixos/programs/prosody.nix b/nixos/programs/prosody.nix new file mode 100644 index 0000000..fd42954 --- /dev/null +++ b/nixos/programs/prosody.nix @@ -0,0 +1,30 @@ +{ config, ...}: { + services.prosody = { + enable = true; + virtualHosts."xmpp.comfycamp.space" = { + enabled = true; + domain = "xmpp.comfycamp.space"; + ssl = { + cert = "/var/lib/acme/comfycamp.space/fullchain.pem"; + key = "/var/lib/acme/comfycamp.space/key.pem"; + }; + }; + + uploadHttp = { + domain = "upload.comfycamp.space"; + uploadExpireAfter = "60 * 60 * 24 * 7 * 4"; + }; + + ssl = { + cert = "/var/lib/acme/comfycamp.space/fullchain.pem"; + key = "/var/lib/acme/comfycamp.space/key.pem"; + }; + + muc = [ + { + domain = "conference.comfycamp.space"; + maxHistoryMessages = 512; + } + ]; + }; +} diff --git a/nixos/users.nix b/nixos/users.nix index ae31994..48fd221 100644 --- a/nixos/users.nix +++ b/nixos/users.nix @@ -13,6 +13,11 @@ group = "maddy"; extraGroups = [ "acme" ]; }; + prosody = { + isSystemUser = true; + group = "prosody"; + extraGroups = [ "acme" ]; + }; nextcloud = { isSystemUser = true; group = "nextcloud"; @@ -46,6 +51,7 @@ users.groups = { mastodon.members = [ "mastodon" config.services.nginx.user ]; nextcloud.members = [ "nextcloud" config.services.nginx.user ]; + prosody = {}; photoprism = {}; matrix-synapse = {}; maddy = {};