33 lines
1.1 KiB
Nix
33 lines
1.1 KiB
Nix
{ config, pkgs, lib, mkDomain, ... }:
|
|
{
|
|
# 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 is view of nodePackages_latest.thelounge-theme-*
|
|
# theLoungePlugins.plugins is 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;
|
|
};
|
|
};
|
|
}
|