From 04707c728441000d64d3d750916354310ff2d2ab Mon Sep 17 00:00:00 2001 From: Jakub Stachurski Date: Wed, 11 Feb 2026 15:35:44 +0100 Subject: Omega-Relay host replacement for Ubuntu VM on Feox * Add omega-relay prototype host * Add omega-relay prototype host * 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. * Nix fmt * Fixes in secrets and services. Mostly fixes connection to mysql and the unix-socket auth for it. * Little fixes and update * Format and do fixes * Update secrets and keys for omega-relay * Apply changes from messing around and making things work --- hosts/omega-relay/disko.nix | 70 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 hosts/omega-relay/disko.nix (limited to 'hosts/omega-relay/disko.nix') diff --git a/hosts/omega-relay/disko.nix b/hosts/omega-relay/disko.nix new file mode 100644 index 0000000..2de6943 --- /dev/null +++ b/hosts/omega-relay/disko.nix @@ -0,0 +1,70 @@ +{ config, lib, ... }: +let + cfg = config.hosts.omega-relay; +in +{ + options.hosts.omega-relay = with lib; { + root_device = mkOption { + type = types.path; + default = "/dev/sda"; + example = "/dev/sda"; + description = "Root device for disko and grub"; + }; + + do_disko = mkOption { + type = types.bool; + default = !config.addons.virtualisation.isTestVM; + description = "Whenever to do disko or not."; + }; + }; + config = lib.mkIf (cfg.do_disko) ({ + services.btrfs.autoScrub = { + enable = true; + interval = "weekly"; + }; + + boot.loader.grub.device = cfg.root_device; + # Workaround + boot.loader.grub.devices = lib.mkForce [ cfg.root_device ]; + boot.loader.efi.canTouchEfiVariables = false; + + # TODO: Mount points + + # Disko for formatting + disko.devices = { + disk = { + main-disk = { + device = cfg.root_device; + type = "disk"; + content = { + type = "gpt"; + partitions = { + BOOT = { + type = "EF02"; + size = "1M"; + }; + ESP = { + type = "EF00"; + size = "128M"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + root = { + size = "100%"; + content = { + type = "filesystem"; + format = "btrfs"; + mountpoint = "/"; + }; + }; + }; + }; + }; + }; + }; + }); +} -- cgit v1.3.1