diff options
Diffstat (limited to 'hosts/omega-relay/default.nix')
| -rw-r--r-- | hosts/omega-relay/default.nix | 74 |
1 files changed, 71 insertions, 3 deletions
diff --git a/hosts/omega-relay/default.nix b/hosts/omega-relay/default.nix index 25a8f30..4154e2c 100644 --- a/hosts/omega-relay/default.nix +++ b/hosts/omega-relay/default.nix @@ -1,18 +1,87 @@ { pkgs, lib, config, ...}: { imports = [ ./firewall.nix + ./disko.nix ./vm.nix + ../../services/mysql.nix + ../../services/email.nix + ../../services/vaultwarden.nix + ../../services/uptimekuma.nix + ../../services/freshrss.nix + ../../services/wakapi.nix ]; + addons = { desktop.hyprland.enable = lib.mkForce false; + # desktop.cosmic.enable = lib.mkForce false; desktop.xfce.enable = lib.mkForce false; gpg.enable = true; }; - boot.loader.grub = { - useOSProber = true; + enable = true; + efiSupport = false; + }; + + environment.systemPackages = with pkgs; [ + lynx + chawan + ]; + + wilkuu.services = let + isVM = config.addons.virtualisation.isTestVM; + in { + stalwart = { + enable = true; + domain = if isVM then "mail.omega-relay.local" else "mail.wilkuu.xyz"; + doACME = !isVM; + }; + + vaultwarden = { + enable = true; + signupWhitelist = ["wilkuu.xyz" "omega-relay.local"]; + backupDir = "/srv/data/vaultwarden"; + domain = if isVM then "vaultwarden.omega-relay.local" else "vaultwarden.wilkuu.xyz"; + doACME = !isVM; + }; + uptimekuma = { + enable = true; + domain = if isVM then "uptime.omega-relay.local" else "uptime.wilkuu.xyz"; + dataDir = "/srv/data/uptimekuma"; + doACME = !isVM; + }; + freshrss = { + enable = true; + domain = if isVM then "rss.omega-relay.local" else "rss.wilkuu.xyz"; + doACME = !isVM; + }; + wakapi = { + enable = true; + domain = if isVM then "wakapi.omega-relay.local" else "wakapi.wilkuu.xyz"; + doACME = !isVM; + }; + }; + + # TODO: Make a nginx module + security.acme = lib.mkIf (!config.addons.virtualisation.isTestVM) { + acceptTerms = true; + defaults.email = "jakub@wilkuu.xyz"; + }; + services.nginx = let + isVM = config.addons.virtualisation.isTestVM; + domain = if isVM then "omega-relay.local" else "wilkuu.xyz"; + in { + enable = true; + virtualHosts."${domain}" = { + enableACME = !isVM; + addSSL = !isVM; + locations."/" = { + root = "/srv/www/wilkuu.xyz/"; + index = "index.html"; + tryFiles = "$uri $uri/ =404"; + }; + }; }; networking.hostName = "omega-relay"; @@ -35,7 +104,6 @@ }; }; - |
