From 549d4cce8b9114cc01eef5b65da20539f20b94cf Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Sun, 1 Feb 2026 09:17:01 -0600 Subject: irc server --- modules/services/nixos/default.nix | 1 + modules/services/nixos/ngircd.nix | 27 +++++++++++++++++++++++++++ modules/services/options.nix | 8 ++++++++ 3 files changed, 36 insertions(+) create mode 100644 modules/services/nixos/ngircd.nix (limited to 'modules') 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; -- cgit v1.3.1