From 4c6097903ff8f93ae2fb41c8fce98ce22299ac6d Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Thu, 29 May 2025 17:02:04 +0800 Subject: [PATCH] feat(nixosModules/server): add nginx reverse proxy --- .../nixos/server/reverse-proxy/default.nix | 24 +++++++++++++++++++ systems/x86_64-linux/nemesis/default.nix | 15 +++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 modules/nixos/server/reverse-proxy/default.nix diff --git a/modules/nixos/server/reverse-proxy/default.nix b/modules/nixos/server/reverse-proxy/default.nix new file mode 100644 index 0000000..74fa682 --- /dev/null +++ b/modules/nixos/server/reverse-proxy/default.nix @@ -0,0 +1,24 @@ +{ config, lib, ... }: +let + cfg = config.server.reverse-proxy; +in +{ + options.server.reverse-proxy = { + enable = lib.mkEnableOption ""; + type = lib.pantheon.mkStrOption; + proxies = lib.mkOption { + type = lib.types.listOf lib.types.attrs; + default = [ ]; + }; + }; + + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + (lib.mkIf (cfg.type == "nginx") { + services.nginx = { + enable = true; + }; + }) + ] + ); +} diff --git a/systems/x86_64-linux/nemesis/default.nix b/systems/x86_64-linux/nemesis/default.nix index 64ed62b..40b3844 100644 --- a/systems/x86_64-linux/nemesis/default.nix +++ b/systems/x86_64-linux/nemesis/default.nix @@ -36,6 +36,19 @@ enableSunshine = true; }; - server.mountHelios = true; + server = { + mountHelios = true; + reverse-proxy = { + enable = true; + type = "nginx"; + proxies = [ + { + source = "chat.bwfiq.com"; + target = ""; + } + ]; + }; + }; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; }