[nix] generate hosts

This commit is contained in:
2025-01-22 04:22:43 +01:00
parent dcc81ec929
commit a02b2c2bc4

View File

@@ -95,104 +95,117 @@ let
] ++ defaultModules ++ modules; ] ++ defaultModules ++ modules;
inputsMod = inputs // { malobeo = self; }; inputsMod = inputs // { malobeo = self; };
hosts = import ./modules/host_builer.nix {};
in in
{ builtins.mapAttrs (host: settings: nixosSystem {
louise = nixosSystem { system = if (settings.type == "rpi") then "aarch64-linux" else "x86_64-linux";
system = "x86_64-linux";
specialArgs.inputs = inputs; specialArgs.inputs = inputs;
modules = defaultModules ++ [ modules = (if (settings.type != "microvm") then
./louise/configuration.nix defaultModules ++ [ ./${host}/configuration.nix ]
]; else
}; makeMicroVM "${host}" "${settings.network.address}" "${settings.network.mac}" [
./${host}/configuration.nix
bakunin = nixosSystem { ]);
system = "x86_64-linux"; }) hosts.malobeo.hosts //
specialArgs.inputs = inputs; {
modules = defaultModules ++ [ testvm = nixosSystem {
./bakunin/configuration.nix system = "x86_64-linux";
inputs.disko.nixosModules.disko specialArgs.inputs = inputs;
]; specialArgs.self = self;
}; modules = defaultModules ++ [ ./testvm ];
};
lucia = nixosSystem { }
system = "aarch64-linux"; #{
specialArgs.inputs = inputs; # louise = nixosSystem {
modules = defaultModules ++ [ # system = "x86_64-linux";
./lucia/configuration.nix # specialArgs.inputs = inputs;
./lucia/hardware_configuration.nix # modules = defaultModules ++ [
]; # ./louise/configuration.nix
}; # ];
# };
fanny = nixosSystem { #
system = "x86_64-linux"; # bakunin = nixosSystem {
specialArgs.inputs = inputsMod; # system = "x86_64-linux";
modules = defaultModules ++ [ # specialArgs.inputs = inputs;
self.nixosModules.malobeo.vpn # modules = defaultModules ++ [
./fanny/configuration.nix # ./bakunin/configuration.nix
]; # inputs.disko.nixosModules.disko
}; # ];
# };
durruti = nixosSystem { #
system = "x86_64-linux"; # lucia = nixosSystem {
specialArgs.inputs = inputs; # system = "aarch64-linux";
specialArgs.self = self; # specialArgs.inputs = inputs;
modules = makeMicroVM "durruti" "10.0.0.5" "52:DA:0D:F9:EF:F9" [ # modules = defaultModules ++ [
./durruti/configuration.nix # ./lucia/configuration.nix
]; # ./lucia/hardware_configuration.nix
}; # ];
# };
vpn = nixosSystem { #
system = "x86_64-linux"; # fanny = nixosSystem {
specialArgs.inputs = inputs; # system = "x86_64-linux";
specialArgs.self = self; # specialArgs.inputs = inputsMod;
modules = makeMicroVM "vpn" "10.0.0.10" "D0:E5:CA:F0:D7:E6" [ # modules = defaultModules ++ [
self.nixosModules.malobeo.vpn # self.nixosModules.malobeo.vpn
./vpn/configuration.nix # ./fanny/configuration.nix
]; # ];
}; # };
#
infradocs = nixosSystem { # durruti = nixosSystem {
system = "x86_64-linux"; # system = "x86_64-linux";
specialArgs.inputs = inputs; # specialArgs.inputs = inputs;
specialArgs.self = self; # specialArgs.self = self;
modules = makeMicroVM "infradocs" "10.0.0.11" "D0:E5:CA:F0:D7:E7" [ # modules = makeMicroVM "durruti" "10.0.0.5" "52:DA:0D:F9:EF:F9" [
self.nixosModules.malobeo.vpn # ./durruti/configuration.nix
./infradocs/configuration.nix # ];
]; # };
}; #
# vpn = nixosSystem {
uptimekuma = nixosSystem { # system = "x86_64-linux";
system = "x86_64-linux"; # specialArgs.inputs = inputs;
specialArgs.inputs = inputs; # specialArgs.self = self;
specialArgs.self = self; # modules = makeMicroVM "vpn" "10.0.0.10" "D0:E5:CA:F0:D7:E6" [
modules = makeMicroVM "uptimekuma" "10.0.0.12" "D0:E5:CA:F0:D7:E8" [ # self.nixosModules.malobeo.vpn
./uptimekuma/configuration.nix # ./vpn/configuration.nix
]; # ];
}; # };
#
nextcloud = nixosSystem { # infradocs = nixosSystem {
system = "x86_64-linux"; # system = "x86_64-linux";
specialArgs.inputs = inputs; # specialArgs.inputs = inputs;
specialArgs.self = self; # specialArgs.self = self;
modules = makeMicroVM "nextcloud" "10.0.0.13" "D0:E5:CA:F0:D7:E9" [ # modules = makeMicroVM "infradocs" "10.0.0.11" "D0:E5:CA:F0:D7:E7" [
./nextcloud/configuration.nix # self.nixosModules.malobeo.vpn
]; # ./infradocs/configuration.nix
}; # ];
# };
overwatch = nixosSystem { #
system = "x86_64-linux"; # uptimekuma = nixosSystem {
specialArgs.inputs = inputs; # system = "x86_64-linux";
specialArgs.self = self; # specialArgs.inputs = inputs;
modules = makeMicroVM "overwatch" "10.0.0.14" "D0:E5:CA:F0:D7:E0" [ # specialArgs.self = self;
./overwatch/configuration.nix # modules = makeMicroVM "uptimekuma" "10.0.0.12" "D0:E5:CA:F0:D7:E8" [
]; # ./uptimekuma/configuration.nix
}; # ];
# };
testvm = nixosSystem { #
system = "x86_64-linux"; # nextcloud = nixosSystem {
specialArgs.inputs = inputs; # system = "x86_64-linux";
specialArgs.self = self; # specialArgs.inputs = inputs;
modules = defaultModules ++ [ ./testvm ]; # specialArgs.self = self;
}; # modules = makeMicroVM "nextcloud" "10.0.0.13" "D0:E5:CA:F0:D7:E9" [
# ./nextcloud/configuration.nix
} # ];
# };
#
# overwatch = nixosSystem {
# system = "x86_64-linux";
# specialArgs.inputs = inputs;
# specialArgs.self = self;
# modules = makeMicroVM "overwatch" "10.0.0.14" "D0:E5:CA:F0:D7:E0" [
# ./overwatch/configuration.nix
# ];
# };
#
#}