diff options
| author | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2026-01-25 14:11:14 +0100 |
|---|---|---|
| committer | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2026-01-25 14:11:14 +0100 |
| commit | 645e86a443d3f74cc8f9c95cb433cbefed5263cb (patch) | |
| tree | 65ab53d20b29792af60a6c7b1894c4cb192832a5 /hosts/omega-relay/default.nix | |
| parent | 24ae3d26155fc70cf381422f9dedbbbb33b425d8 (diff) | |
Inital commit for working omega-relay host.
This commit includes:
- Mysql module from umbriel
- Disko configuration for the Ferox VM
- Freshrss module
- Stalwart module
- Vaultwarden module
- Wakapi module
- Uptime Kuma module
- Support for using mysql socket
- Server user that does not depend on full home-manager preset.
- ACME for wilkuu.xyz domains, including all the services.
Diffstat (limited to '')
| -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 @@ }; }; - |
