From 6be517516cad6d6f155e78a7f48bece0eceeceb8 Mon Sep 17 00:00:00 2001 From: _cry64 Date: Sat, 14 Mar 2026 16:25:55 +1000 Subject: [PATCH] add options.services.wa2k --- nixos/default.nix | 44 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/nixos/default.nix b/nixos/default.nix index f4ebff3..bcc507a 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -4,21 +4,45 @@ lib, ... }: let + inherit (lib) mkEnableOption mkOption types; + cfg = config.services.wa2k; in { - imports = [./wa2k]; + options.services.wa2k = { + enable = mkEnableOption "webserver for wa2k.com"; - networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall [cfg.port]; + port = mkOption { + types = types.port; + default = 80; + example = 8080; + description = '' + The listening port on localhost to bind the wa2k.com server to. + ''; + }; - # REF: https://nixos.wiki/wiki/Static_Web_Server - services.static-web-server = { - enable = true; - listen = "[::]:${cfg.port}"; - root = "${pkgs.wa2k-website}/www"; + openFirewall = mkOption { + types = types.bool; + default = false; + example = true; + description = '' + Whether the wa2k listening port should be automatically opened in the system's firewall. + ''; + }; + }; - configuration = { - general = { - directory-listing = false; + config = lib.mkIf cfg.enable { + networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall [cfg.port]; + + # REF: https://nixos.wiki/wiki/Static_Web_Server + services.static-web-server = { + enable = true; + listen = "[::]:${cfg.port}"; + root = "${pkgs.wa2k-website}/www"; + + configuration = { + general = { + directory-listing = false; + }; }; }; };