1
0
Fork 0
forked from foxora/nix
flake-foxora/snow.nix

125 lines
3.2 KiB
Nix

{cerulean, ...} @ inputs:
cerulean.mkNexus ./. (self: {
nexus = {
args = {inherit inputs;};
modules = with inputs; [];
base = inputs.nixpkgs;
groups = {
servers = {};
};
nodes = let
inherit
(self.nexus)
groups
;
in {
nixarawrui = {
system = "x86_64-linux";
base = inputs.nixpkgs-unstable;
modules = with inputs; [
sddm-silent.nixosModules.default
];
};
arcturus = {
system = "x86_64-linux";
groups = [
groups.servers
];
modules = with inputs; [
microvm.nixosModules.host
{
microvm.vms = {
home-assistant = {
autostart = true;
config = {
imports = [./vms/home-assistant/default.nix];
networking.hostName = "home-assistant";
boot.kernelParams = ["console=ttyS0" "console=ttyS1" "8250.nr_uarts=2"];
systemd.services."serial-getty@ttyS1".enable = true;
microvm = {
hypervisor = "qemu";
# needed to get interface working
qemu.extraArgs = [
"-monitor" "unix:/var/lib/microvms/home-assistant/monitor.sock,server,nowait"
"-chardev" "socket,id=serial1,path=/var/lib/microvms/home-assistant/serial.sock,server=on,wait=off"
"-serial" "chardev:serial1"
];
# memory cannot be 2GB so i doubled it and used 4GB:
# https://github.com/microvm-nix/microvm.nix/issues/171
# TODO: can be fixed by turning off acpi in qemu
mem = 4096; # 4GB
vcpu = 2;
interfaces = [
{
type = "tap";
id = "vm-hass";
mac = "0a:00:a0:70:01:01";
}
];
volumes = [
{
image = "/var/lib/microvms/home-assistant/data.img";
mountPoint = "/var/lib/hass";
size = 16384; # 16GB
}
];
};
systemd.network.enable = true;
systemd.network.networks."20-lan" = {
matchConfig.Type = "ether";
networkConfig = {
Address = ["10.16.1.127/24"];
Gateway = "10.16.1.1";
DNS = ["10.16.1.1"];
IPv6AcceptRA = true;
DHCP = "yes";
};
};
};
};
};
}
];
deploy.ssh = {
host = "10.16.1.163";
port = 2222;
user = "foxora";
};
};
lyra = {
system = "x86_64-linux";
groups = [
groups.servers
];
deploy.ssh = {
host = "10.16.1.58";
port = 2222;
user = "foxora";
};
};
};
};
})