1
1
Fork 1
mirror of https://github.com/oddlama/nix-config.git synced 2025-10-11 07:10:39 +02:00

refactor: make luks names predictable

This commit is contained in:
oddlama 2024-01-05 13:29:46 +01:00
parent 490e2ce1a5
commit 664cb45a08
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
14 changed files with 68 additions and 61 deletions

View file

@ -44,9 +44,10 @@
# services.telegraf.extraConfig.inputs.github = {};
guests = let
mkGuest = guestName: {
mkGuest = guestName: {enableStorageDataset ? 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}";
};
@ -54,6 +55,10 @@
pool = "rpool";
dataset = "safe/guests/${guestName}";
};
zfs."/storage" = lib.mkIf enableStorageDataset {
pool = "storage";
dataset = "safe/guests/${guestName}";
};
modules = [
../../modules
./guests/common.nix
@ -62,9 +67,9 @@
];
};
mkMicrovm = guestName: {
mkMicrovm = guestName: opts: {
${guestName} =
mkGuest guestName
mkGuest guestName opts
// {
backend = "microvm";
microvm = {
@ -76,9 +81,9 @@
};
# deadnix: skip
mkContainer = guestName: {
mkContainer = guestName: opts: {
${guestName} =
mkGuest guestName
mkGuest guestName opts
// {
backend = "container";
container.macvlan = "lan";
@ -87,11 +92,11 @@
in
lib.mkIf (!minimal) (
{}
// mkMicrovm "samba"
// mkMicrovm "grafana"
// mkMicrovm "influxdb"
// mkMicrovm "loki"
// mkMicrovm "paperless"
// mkMicrovm "samba" {enableStorageDataset = true;}
// mkMicrovm "grafana" {}
// mkMicrovm "influxdb" {}
// mkMicrovm "loki" {}
// mkMicrovm "paperless" {}
#// mkMicrovm "minecraft"
#// mkMicrovm "immich"
#// mkMicrovm "firefly"