aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/services/nixos/default.nix1
-rw-r--r--modules/services/nixos/ngircd.nix27
-rw-r--r--modules/services/options.nix8
3 files changed, 36 insertions, 0 deletions
diff --git a/modules/services/nixos/default.nix b/modules/services/nixos/default.nix
index 1160c90..1ad53bf 100644
--- a/modules/services/nixos/default.nix
+++ b/modules/services/nixos/default.nix
@@ -9,5 +9,6 @@
./adguard.nix
./copyparty.nix
+ ./ngircd.nix
];
}
diff --git a/modules/services/nixos/ngircd.nix b/modules/services/nixos/ngircd.nix
new file mode 100644
index 0000000..e788182
--- /dev/null
+++ b/modules/services/nixos/ngircd.nix
@@ -0,0 +1,27 @@
+{
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.services.ngircd;
+in
+ lib.mkIf cfg.enable {
+ services.ngircd = {
+ enable = true;
+ config = ''
+ [Global]
+ Name = Ganymede IRC Chat
+
+ Listen = 0.0.0.0
+ Port = ${cfg.port}
+
+ PAM = yes
+ PAMIsOptional = no
+
+ [Operators]
+ Name = collin
+ Password = # users authenticate with PAM
+ Mask = *@*
+ '';
+ };
+ }
diff --git a/modules/services/options.nix b/modules/services/options.nix
index ef9f57f..19812fc 100644
--- a/modules/services/options.nix
+++ b/modules/services/options.nix
@@ -82,6 +82,14 @@ in {
default_port = 8099;
};
+ ngircd = {
+ enable = mkEnableOption "IRC Server";
+ port = mkOption {
+ type = lib.types.port;
+ default = 6667;
+ };
+ };
+
headscale = selfhostOptions {
service_name = "headscale";
default_port = 8080;