@@ -167,10 +167,14 @@ in rec {
167167 '';
168168
169169 serverModules = {
170− mkBaseEc2 = { hostName, routeHost, enableHttps, adminEmail, ... }: {...}: {
170+ mkBaseEc2 = { obeliskPkgs, ... }: {...}: {
171171 imports = [
172− (pkgs.path + /nixos/modules/virtualisation/amazon-image.nix)
172+ (obeliskPkgs.path + /nixos/modules/virtualisation/amazon-image.nix)
173173 ];
174+ ec2.hvm = true;
175+ };
176+
177+ mkDefaultNetworking = { adminEmail, enableHttps, hostName, routeHost, ... }: {...}: {
174178 networking = {
175179 inherit hostName;
176180 firewall.allowedTCPPorts = if enableHttps then [ 80 443 ] else [ 80 ];
@@ -178,7 +182,6 @@ in rec {
178182 security.acme.certs = if enableHttps then {
179183 "${routeHost}".email = adminEmail;
180184 } else {};
181− ec2.hvm = true;
182185 };
183186
184187 mkObeliskApp =
@@ -245,14 +248,15 @@ in rec {
245248 echo ${version} > $out/version
246249 '';
247250
248− server = { exe, hostName, adminEmail, routeHost, enableHttps, version }@args:
251+ server = { exe, hostName, adminEmail, routeHost, enableHttps, version, module ? serverModules.mkBaseEc2 }@args:
249252 let
250253 nixos = import (pkgs.path + /nixos);
251254 in nixos {
252255 system = "x86_64-linux";
253256 configuration = {
254257 imports = [
255− (serverModules.mkBaseEc2 args)
258+ (module (args // { obeliskPkgs = pkgs; }))
259+ (serverModules.mkDefaultNetworking args)
256260 (serverModules.mkObeliskApp args)
257261 ];
258262 };
@@ -379,7 +383,7 @@ in rec {
379383 linuxExeConfigurable = linuxExe;
380384 linuxExe = linuxExe dummyVersion;
381385 exe = serverOn mainProjectOut dummyVersion;
382− server = args@{ hostName, adminEmail, routeHost, enableHttps, version }:
386+ server = args@{ hostName, adminEmail, routeHost, enableHttps, version, module ? serverModules.mkBaseEc2 }:
383387 server (args // { exe = linuxExe version; });
384388 obelisk = import (base' + "/.obelisk/impl") {};
385389 };