diff options
Diffstat (limited to 'modules/services')
| -rw-r--r-- | modules/services/nixos/default.nix | 1 | ||||
| -rw-r--r-- | modules/services/nixos/ngircd.nix | 27 | ||||
| -rw-r--r-- | modules/services/options.nix | 8 |
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; |
