diff options
Diffstat (limited to 'nixops')
-rw-r--r-- | nixops/eldiron.nix | 3 | ||||
-rw-r--r-- | nixops/modules/certificates.nix | 1 | ||||
-rw-r--r-- | nixops/modules/irc.nix | 48 |
3 files changed, 2 insertions, 50 deletions
diff --git a/nixops/eldiron.nix b/nixops/eldiron.nix index 37f901e..a0c5c7c 100644 --- a/nixops/eldiron.nix +++ b/nixops/eldiron.nix | |||
@@ -41,14 +41,13 @@ | |||
41 | ./modules/ftp.nix | 41 | ./modules/ftp.nix |
42 | ./modules/pub | 42 | ./modules/pub |
43 | ./modules/task | 43 | ./modules/task |
44 | ./modules/irc.nix | ||
45 | ./modules/buildbot | 44 | ./modules/buildbot |
46 | ./modules/dns.nix | 45 | ./modules/dns.nix |
47 | ] ++ (builtins.attrValues (import ../modules)); | 46 | ] ++ (builtins.attrValues (import ../modules)); |
48 | myServices.databases.enable = true; | 47 | myServices.databases.enable = true; |
48 | myServices.irc.enable = true; | ||
49 | services.myGitolite.enable = true; | 49 | services.myGitolite.enable = true; |
50 | services.pure-ftpd.enable = true; | 50 | services.pure-ftpd.enable = true; |
51 | services.irc.enable = true; | ||
52 | services.pub.enable = true; | 51 | services.pub.enable = true; |
53 | services.myTasks.enable = true; | 52 | services.myTasks.enable = true; |
54 | services.buildbot.enable = true; | 53 | services.buildbot.enable = true; |
diff --git a/nixops/modules/certificates.nix b/nixops/modules/certificates.nix index 72896fd..43f6a23 100644 --- a/nixops/modules/certificates.nix +++ b/nixops/modules/certificates.nix | |||
@@ -17,6 +17,7 @@ | |||
17 | config = { | 17 | config = { |
18 | services.websitesCerts = config.services.myCertificates.certConfig; | 18 | services.websitesCerts = config.services.myCertificates.certConfig; |
19 | myServices.databasesCerts = config.services.myCertificates.certConfig; | 19 | myServices.databasesCerts = config.services.myCertificates.certConfig; |
20 | myServices.ircCerts = config.services.myCertificates.certConfig; | ||
20 | 21 | ||
21 | security.acme.preliminarySelfsigned = true; | 22 | security.acme.preliminarySelfsigned = true; |
22 | 23 | ||
diff --git a/nixops/modules/irc.nix b/nixops/modules/irc.nix deleted file mode 100644 index 363bfef..0000000 --- a/nixops/modules/irc.nix +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | { lib, pkgs, config, myconfig, ... }: | ||
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 = "${config.security.acme.directory}/irc/full.pem"; | ||
44 | }; | ||
45 | }; | ||
46 | }; | ||
47 | }; | ||
48 | } | ||