37 lines
1.2 KiB
Nix
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;
|
|
};
|
|
};
|
|
}
|