From ffb14c1c25280777f5db3d2129c48dd319381f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Fri, 17 May 2019 01:53:31 +0200 Subject: Move irc services to modules --- modules/private/irc.nix | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 modules/private/irc.nix (limited to 'modules/private/irc.nix') diff --git a/modules/private/irc.nix b/modules/private/irc.nix new file mode 100644 index 0000000..b3fe91f --- /dev/null +++ b/modules/private/irc.nix @@ -0,0 +1,54 @@ +{ lib, pkgs, config, ... }: +let + cfg = config.myServices.irc; +in +{ + options.myServices = { + ircCerts = lib.mkOption { + description = "Default ircconfigurations for certificates as accepted by acme"; + }; + irc.enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to enable irc stuff. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + security.acme.certs."irc" = config.myServices.ircCerts // { + domain = "irc.immae.eu"; + postRun = '' + systemctl restart stunnel.service + ''; + }; + + networking.firewall.allowedTCPPorts = [ 6697 ]; + services.bitlbee = with pkgs; { + enable = true; + authMode = "Registered"; + libpurple_plugins = [ + purple-hangouts + purple-matrix + ]; + plugins = [ + bitlbee-mastodon + bitlbee-facebook + bitlbee-discord + bitlbee-steam + ]; + }; + + services.stunnel = { + enable = true; + servers = { + bitlbee = { + accept = 6697; + connect = 6667; + cert = "${config.security.acme.directory}/irc/full.pem"; + }; + }; + }; + }; +} -- cgit v1.2.3