mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-12-14 02:20:53 -06:00
feat: infinitely expansible microvms
This commit is contained in:
parent
a92229390e
commit
4c767d369f
55 changed files with 1089 additions and 1015 deletions
42
modules/nixos/homelab/guests/website/default.nix
Normal file → Executable file
42
modules/nixos/homelab/guests/website/default.nix
Normal file → Executable file
|
|
@ -1,39 +1,11 @@
|
|||
{
|
||||
flake,
|
||||
pkgs,
|
||||
labHelpers,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (import ./config { inherit flake pkgs; }) websiteVM;
|
||||
inherit (flake.config.services) instances;
|
||||
|
||||
importList =
|
||||
let
|
||||
content = builtins.readDir ./.;
|
||||
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
|
||||
in
|
||||
map (name: ./. + "/${name}") dirContent;
|
||||
in
|
||||
{
|
||||
websiteUpRoot =
|
||||
let
|
||||
websitePkg = flake.self.packages.${pkgs.system}.website;
|
||||
interfaceCfg = instances.website.interfaces.interface0;
|
||||
in
|
||||
websiteVM {
|
||||
user = "uproot";
|
||||
ip = interfaceCfg.microvm.ip;
|
||||
mac = interfaceCfg.microvm.mac;
|
||||
userMac = interfaceCfg.microvm.macUser;
|
||||
package = websitePkg;
|
||||
};
|
||||
|
||||
websiteProject =
|
||||
let
|
||||
websitePkg = flake.inputs.linkpage.packages.${pkgs.stdenv.hostPlatform.system}.websiteFrontend;
|
||||
interfaceCfg = instances.website.interfaces.interface1;
|
||||
in
|
||||
websiteVM {
|
||||
user = "project";
|
||||
ip = interfaceCfg.microvm.ip;
|
||||
mac = interfaceCfg.microvm.mac;
|
||||
userMac = interfaceCfg.microvm.macUser;
|
||||
package = websitePkg;
|
||||
};
|
||||
|
||||
imports = importList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
flake,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (import ../config { inherit flake config pkgs; }) websiteVM;
|
||||
inherit (flake.config.services) instances;
|
||||
|
||||
websiteUpRoot =
|
||||
let
|
||||
websitePkg = flake.self.packages.${pkgs.system}.website;
|
||||
interfaceCfg = instances.website.interfaces.interface0;
|
||||
in
|
||||
websiteVM {
|
||||
user = "uproot";
|
||||
ip = interfaceCfg.microvm.ip;
|
||||
mac = interfaceCfg.microvm.mac;
|
||||
userMac = interfaceCfg.microvm.macUser;
|
||||
package = websitePkg;
|
||||
};
|
||||
|
||||
websiteProject =
|
||||
let
|
||||
websitePkg = flake.inputs.linkpage.packages.${pkgs.stdenv.hostPlatform.system}.websiteFrontend;
|
||||
interfaceCfg = instances.website.interfaces.interface1;
|
||||
in
|
||||
websiteVM {
|
||||
user = "project";
|
||||
ip = interfaceCfg.microvm.ip;
|
||||
mac = interfaceCfg.microvm.mac;
|
||||
userMac = interfaceCfg.microvm.macUser;
|
||||
package = websitePkg;
|
||||
};
|
||||
in
|
||||
websiteProject // websiteUpRoot
|
||||
Loading…
Add table
Add a link
Reference in a new issue