2022-12-04 08:53:28 +01:00
|
|
|
{ lib, ... }:
|
2022-06-07 20:22:25 +02:00
|
|
|
let
|
2022-06-09 00:12:47 +02:00
|
|
|
nfsExports = [
|
|
|
|
"var/lib/nfsroot/dacbert"
|
|
|
|
"var/lib/nfsroot/riscbert"
|
|
|
|
"var/lib/dump-dvb/whoopsie"
|
|
|
|
];
|
2022-06-07 20:22:25 +02:00
|
|
|
in {
|
2022-06-21 23:34:13 +02:00
|
|
|
imports = [
|
|
|
|
./tftp.nix
|
2022-08-22 22:14:16 +02:00
|
|
|
./nfs.nix
|
2022-06-21 23:34:13 +02:00
|
|
|
];
|
|
|
|
|
2022-06-07 20:15:09 +02:00
|
|
|
microvm = {
|
2022-06-13 20:41:22 +02:00
|
|
|
hypervisor = "cloud-hypervisor";
|
2022-06-09 01:11:45 +02:00
|
|
|
mem = 2048;
|
2022-06-17 00:05:32 +02:00
|
|
|
|
2022-09-14 21:34:44 +02:00
|
|
|
# shares break nfs
|
|
|
|
shares = lib.mkForce [];
|
2023-06-14 22:35:43 +02:00
|
|
|
storeDiskType = "erofs";
|
2022-09-14 21:34:44 +02:00
|
|
|
|
2022-06-17 00:05:32 +02:00
|
|
|
volumes = map (export: {
|
|
|
|
mountPoint = "/${export}";
|
2024-01-11 20:44:11 +01:00
|
|
|
image = "/dev/zvol/server10-root/vm/nfsroot/${builtins.baseNameOf export}";
|
2022-06-17 00:05:32 +02:00
|
|
|
autoCreate = false;
|
|
|
|
}) nfsExports;
|
2022-06-16 22:41:04 +02:00
|
|
|
};
|
2022-12-18 22:16:29 +01:00
|
|
|
|
|
|
|
c3d2.deployment.server = "server10";
|
2022-06-07 20:15:09 +02:00
|
|
|
|
2022-06-09 00:12:47 +02:00
|
|
|
fileSystems = builtins.foldl' (fileSystems: export: fileSystems // {
|
|
|
|
"/${export}".options = [ "relatime" "discard" ];
|
|
|
|
}) {} nfsExports;
|
|
|
|
|
2023-06-05 19:56:03 +02:00
|
|
|
networking.hostName = "nfsroot";
|
2022-06-07 20:15:09 +02:00
|
|
|
|
|
|
|
system.stateVersion = "22.05";
|
|
|
|
}
|