diff --git a/configuration/default.nix b/configuration/default.nix index 72c955d..a12aceb 100644 --- a/configuration/default.nix +++ b/configuration/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { imports = [ @@ -54,18 +54,20 @@ recommendedGzipSettings = true; recommendedProxySettings = true; clientMaxBodySize = "10G"; + domain = "tlater.net"; virtualHosts = let host = port: extra: - { + lib.recursiveUpdate { forceSSL = true; enableACME = true; locations."/" = { proxyPass = "http://127.0.0.1:${toString port}"; }; - } // extra; + } extra; + domain = config.services.nginx.domain; in { - "tlater.net" = host 3002 { serverAliases = [ "www.tlater.net" ]; }; - "gitea.tlater.net" = host 3000 { }; - "nextcloud.tlater.net" = host 3001 { }; + "${domain}" = host 3002 { serverAliases = [ "www.${domain}" ]; }; + "gitea.${domain}" = host 3000 { }; + "nextcloud.${domain}" = host 3001 { }; }; }; diff --git a/configuration/services/minecraft.nix b/configuration/services/minecraft.nix index c3831aa..9b77c09 100644 --- a/configuration/services/minecraft.nix +++ b/configuration/services/minecraft.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: let minecraft-server-args = [ @@ -52,7 +52,7 @@ let in { nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (pkgs.lib.getName pkg) [ "forge-server" ]; + builtins.elem (lib.getName pkg) [ "forge-server" ]; virtualisation.oci-containers.containers.minecraft-voor-kia = let properties = ./configs/minecraft/voor-kia/server.properties; diff --git a/flake.nix b/flake.nix index a9baf34..78a3cfb 100644 --- a/flake.nix +++ b/flake.nix @@ -68,12 +68,16 @@ (import ./modules) (import ./configuration) - ({ ... }: { + ({ lib, ... }: { users.users.tlater.password = "insecure"; # Disable graphical tty so -curses works boot.kernelParams = [ "nomodeset" ]; + # Sets the base domain for nginx to localhost so that we + # can easily test locally with the VM. + services.nginx.domain = lib.mkOverride 99 "localhost"; + # # Set up VM settings to match real VPS # virtualisation.memorySize = 3941; # virtualisation.cores = 2; diff --git a/modules/default.nix b/modules/default.nix index 0bc1f1c..1fd86fc 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,5 +1,12 @@ -{ ... }: +{ lib, ... }: + +with lib; { imports = [ ./virtualisation/pods.nix ]; + + options.services.nginx.domain = mkOption { + type = types.str; + description = "The base domain name to append to virtual domain names"; + }; }