Files
Lars Nolden 58155dc737
check / flake-check (push) Successful in 25s
deploy / deploy (push) Successful in 48s
switch to emqx
2026-07-02 15:19:59 +02:00

37 lines
1.1 KiB
Nix

{ inputs }:
let
modules = import ../modules;
mkHost = name: extraModules:
inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./common.nix
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
# All three boxes are identical qemu guests, so they share one
# hardware-configuration.nix and one disko disk layout (single
# /dev/sda → GPT → LVM → ext4 root). disko derives fileSystems +
# bootloader devices from disk-config.nix. db-host additionally
# imports the /dev/sdb data disk from ./db-host.nix.
./hardware-configurations/hardware-configuration.nix
./hardware-configurations/disk-config.nix
modules.gebos-secrets
modules.gebos-postgres
modules.gebos-supabase
modules.gebos-caddy
modules.gebos-emqx
modules.gebos-ingester
modules.gebos-frontend
./${name}.nix
] ++ extraModules;
};
in
{
db-host = mkHost "db-host" [ ];
app-host = mkHost "app-host" [ ];
mqtt-ingest = mkHost "mqtt-ingest" [ ];
}