mirror of
https://github.com/oddlama/nix-config.git
synced 2025-10-11 07:10:39 +02:00
chore: format everything
This commit is contained in:
parent
deca311c68
commit
7ccd7856ee
162 changed files with 4750 additions and 3718 deletions
|
@ -6,7 +6,8 @@
|
|||
nodes,
|
||||
minimal,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||
|
@ -24,7 +25,15 @@
|
|||
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
boot.mode = "efi";
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "e1000e" "alx"];
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"nvme"
|
||||
"usbhid"
|
||||
"usb_storage"
|
||||
"e1000e"
|
||||
"alx"
|
||||
];
|
||||
systemd.units."dev-tpmrm0.device".enable = false; # https://github.com/systemd/systemd/issues/33412
|
||||
|
||||
meta.promtail = {
|
||||
|
@ -33,7 +42,9 @@
|
|||
};
|
||||
|
||||
# Connect safely via wireguard to skip authentication
|
||||
networking.hosts.${nodes.sentinel.config.wireguard.proxy-sentinel.ipv4} = [globals.services.influxdb.domain];
|
||||
networking.hosts.${nodes.sentinel.config.wireguard.proxy-sentinel.ipv4} = [
|
||||
globals.services.influxdb.domain
|
||||
];
|
||||
meta.telegraf = {
|
||||
enable = true;
|
||||
influxdb2 = {
|
||||
|
@ -44,52 +55,54 @@
|
|||
};
|
||||
};
|
||||
|
||||
guests = let
|
||||
mkGuest = guestName: {
|
||||
enableStorageDataset ? false,
|
||||
enableBunkerDataset ? false,
|
||||
enablePaperlessDataset ? false,
|
||||
...
|
||||
}: {
|
||||
autostart = true;
|
||||
zfs."/state" = {
|
||||
# TODO make one option out of that? and split into two readonly options automatically?
|
||||
pool = "rpool";
|
||||
dataset = "local/guests/${guestName}";
|
||||
};
|
||||
zfs."/persist" = {
|
||||
pool = "rpool";
|
||||
dataset = "safe/guests/${guestName}";
|
||||
};
|
||||
zfs."/storage" = lib.mkIf enableStorageDataset {
|
||||
pool = "storage";
|
||||
dataset = "safe/guests/${guestName}";
|
||||
};
|
||||
zfs."/bunker" = lib.mkIf enableBunkerDataset {
|
||||
pool = "storage";
|
||||
dataset = "bunker/guests/${guestName}";
|
||||
};
|
||||
zfs."/paperless" = lib.mkIf enablePaperlessDataset {
|
||||
pool = "storage";
|
||||
dataset = "bunker/paperless";
|
||||
};
|
||||
modules = [
|
||||
../../config
|
||||
./guests/common.nix
|
||||
./guests/${guestName}.nix
|
||||
guests =
|
||||
let
|
||||
mkGuest =
|
||||
guestName:
|
||||
{
|
||||
node.secretsDir = ./secrets/${guestName};
|
||||
networking.nftables.firewall = {
|
||||
zones.untrusted.interfaces = [config.guests.${guestName}.networking.mainLinkName];
|
||||
enableStorageDataset ? false,
|
||||
enableBunkerDataset ? false,
|
||||
enablePaperlessDataset ? false,
|
||||
...
|
||||
}:
|
||||
{
|
||||
autostart = true;
|
||||
zfs."/state" = {
|
||||
# TODO make one option out of that? and split into two readonly options automatically?
|
||||
pool = "rpool";
|
||||
dataset = "local/guests/${guestName}";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
zfs."/persist" = {
|
||||
pool = "rpool";
|
||||
dataset = "safe/guests/${guestName}";
|
||||
};
|
||||
zfs."/storage" = lib.mkIf enableStorageDataset {
|
||||
pool = "storage";
|
||||
dataset = "safe/guests/${guestName}";
|
||||
};
|
||||
zfs."/bunker" = lib.mkIf enableBunkerDataset {
|
||||
pool = "storage";
|
||||
dataset = "bunker/guests/${guestName}";
|
||||
};
|
||||
zfs."/paperless" = lib.mkIf enablePaperlessDataset {
|
||||
pool = "storage";
|
||||
dataset = "bunker/paperless";
|
||||
};
|
||||
modules = [
|
||||
../../config
|
||||
./guests/common.nix
|
||||
./guests/${guestName}.nix
|
||||
{
|
||||
node.secretsDir = ./secrets/${guestName};
|
||||
networking.nftables.firewall = {
|
||||
zones.untrusted.interfaces = [ config.guests.${guestName}.networking.mainLinkName ];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
mkMicrovm = guestName: opts: {
|
||||
${guestName} =
|
||||
mkGuest guestName opts
|
||||
// {
|
||||
mkMicrovm = guestName: opts: {
|
||||
${guestName} = mkGuest guestName opts // {
|
||||
backend = "microvm";
|
||||
microvm = {
|
||||
system = "x86_64-linux";
|
||||
|
@ -102,13 +115,11 @@
|
|||
inherit inputs minimal;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# deadnix: skip
|
||||
mkContainer = guestName: opts: {
|
||||
${guestName} =
|
||||
mkGuest guestName opts
|
||||
// {
|
||||
# deadnix: skip
|
||||
mkContainer = guestName: opts: {
|
||||
${guestName} = mkGuest guestName opts // {
|
||||
backend = "container";
|
||||
container.macvlan = "lan";
|
||||
extraSpecialArgs = {
|
||||
|
@ -117,27 +128,27 @@
|
|||
inherit inputs minimal;
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
};
|
||||
in
|
||||
lib.mkIf (!minimal) (
|
||||
{}
|
||||
// mkMicrovm "actual" {}
|
||||
{ }
|
||||
// mkMicrovm "actual" { }
|
||||
// mkMicrovm "samba" {
|
||||
enableStorageDataset = true;
|
||||
enableBunkerDataset = true;
|
||||
enablePaperlessDataset = true;
|
||||
}
|
||||
// mkMicrovm "grafana" {}
|
||||
// mkMicrovm "influxdb" {}
|
||||
// mkMicrovm "loki" {}
|
||||
// mkMicrovm "grafana" { }
|
||||
// mkMicrovm "influxdb" { }
|
||||
// mkMicrovm "loki" { }
|
||||
// mkMicrovm "paperless" {
|
||||
enablePaperlessDataset = true;
|
||||
}
|
||||
// mkMicrovm "immich" {
|
||||
enableStorageDataset = true;
|
||||
}
|
||||
// mkMicrovm "ai" {}
|
||||
// mkMicrovm "minecraft" {}
|
||||
// mkMicrovm "ai" { }
|
||||
// mkMicrovm "minecraft" { }
|
||||
#// mkMicrovm "firefly" {}
|
||||
#// mkMicrovm "fasten-health" {}
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue