aboutsummaryrefslogtreecommitdiff
path: root/nixops/modules/irc.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2019-05-07 15:07:00 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-05-07 15:07:00 +0200
commit79d2de8b83d765721b2cb720b2bc59673df54a4a (patch)
treedb989f06302e31a1468832d106d25d611717e363 /nixops/modules/irc.nix
parent86663f1789aecdb62e44a4be46e0ed111b795a09 (diff)
downloadNix-79d2de8b83d765721b2cb720b2bc59673df54a4a.tar.gz
Nix-79d2de8b83d765721b2cb720b2bc59673df54a4a.tar.zst
Nix-79d2de8b83d765721b2cb720b2bc59673df54a4a.zip
Move directories with only default.nix to standalone file
Diffstat (limited to 'nixops/modules/irc.nix')
-rw-r--r--nixops/modules/irc.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/nixops/modules/irc.nix b/nixops/modules/irc.nix
new file mode 100644
index 0000000..6500ca5
--- /dev/null
+++ b/nixops/modules/irc.nix
@@ -0,0 +1,48 @@
1{ lib, pkgs, config, myconfig, mylibs, ... }:
2{
3 options = {
4 services.irc.enable = lib.mkOption {
5 type = lib.types.bool;
6 default = false;
7 description = ''
8 Whether to enable irc stuff.
9 '';
10 };
11 };
12
13 config = lib.mkIf config.services.irc.enable {
14 security.acme.certs."irc" = config.services.myCertificates.certConfig // {
15 domain = "irc.immae.eu";
16 postRun = ''
17 systemctl restart stunnel.service
18 '';
19 };
20
21 networking.firewall.allowedTCPPorts = [ 6697 ];
22 services.bitlbee = {
23 enable = true;
24 authMode = "Registered";
25 libpurple_plugins = [
26 pkgs.purple-hangouts
27 pkgs.purple-matrix
28 ];
29 plugins = [
30 pkgs.bitlbee-mastodon
31 pkgs.bitlbee-facebook
32 pkgs.bitlbee-discord
33 pkgs.bitlbee-steam
34 ];
35 };
36
37 services.stunnel = {
38 enable = true;
39 servers = {
40 bitlbee = {
41 accept = 6697;
42 connect = 6667;
43 cert = "/var/lib/acme/irc/full.pem";
44 };
45 };
46 };
47 };
48}