Files
config/profiles/http/services/thelounge.nix
T
2025-06-25 01:40:38 +02:00

37 lines
1.2 KiB
Nix

{ config, pkgs, lib, ... }:
let
inherit (config.pbsds.nginx) mkDomain;
in
{
# thelunge
# The self-hosted Web IRC client
services.thelounge = {
# configure user accounts by using the 'thelounge' command, or by adding entries to /var/lib/thelounge/users
enable = true;
public = false;
port = 5876;
#theLoungePlugins.themes was a view of nodePackages_latest.thelounge-theme-*
#theLoungePlugins.plugins was a view of nodePackages_latest.thelounge-plugin-*
# plugins = with pkgs.theLoungePlugins;
# (with lib; attrValues (filterAttrs (name: _: name != "recurseForDerivations") themes))
# ++ [
# #plugins.giphy
# #plugins.shortcuts
# plugins.closepms
# ];
# extraConfig.theme = "One Dark";
extraConfig.fileUpload.enable = true;
extraConfig.fileUpload.baseUrl = "${mkDomain "thelounge"}";
};
services.nginx.virtualHosts.${mkDomain "thelounge"} = lib.mkIf config.services.thelounge.enable {
forceSSL = true; # addSSL = true;
enableACME = true; #useACMEHost = acmeDomain;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString config.services.thelounge.port}";
proxyWebsockets = true;
inherit (config.pbsds.nginx.allowList) extraConfig;
};
};
}