feat: infinitely expansible microvms

This commit is contained in:
Nick 2025-12-09 03:46:57 -06:00
parent a92229390e
commit 4c767d369f
55 changed files with 1089 additions and 1015 deletions

View file

@ -10,7 +10,7 @@ let
serviceCfg = instances.zookeeper;
in
{
websiteVM =
zookeeperVM =
{
user,
ip,

29
modules/nixos/homelab/guests/zookeeper/default.nix Normal file → Executable file
View file

@ -1,26 +1,11 @@
{
flake,
pkgs,
labHelpers,
...
}:
let
inherit (import ./config { inherit flake pkgs; }) zookeeperVM;
inherit (flake.config.services) instances;
interfaceCfg = instances.zookeeper.interfaces.interface0;
importList =
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
in
map (name: ./. + "/${name}") dirContent;
in
{
zookeeperBot =
let
appPackage = flake.self.packages.${pkgs.system}.zookeeper;
in
zookeeperVM {
user = "boon";
ip = interfaceCfg.microvm.ip;
mac = interfaceCfg.microvm.mac;
userMac = interfaceCfg.microvm.macUser;
package = appPackage;
};
imports = importList;
}

View file

@ -0,0 +1,24 @@
{
flake,
pkgs,
lib,
...
}:
let
inherit (import ../config { inherit flake pkgs lib; }) zookeeperVM;
inherit (flake.config.services) instances;
interfaceCfg = instances.zookeeper.interfaces.interface0;
zookeeperBot =
let
appPackage = flake.self.packages.${pkgs.system}.zookeeper;
in
zookeeperVM {
user = "boon";
ip = interfaceCfg.microvm.ip;
mac = interfaceCfg.microvm.mac;
userMac = interfaceCfg.microvm.macUser;
package = appPackage;
};
in
zookeeperBot