From 7fb37eb03c3babeda2ba261c1fac548be1dfcb6a Mon Sep 17 00:00:00 2001 From: Astro Date: Thu, 9 Jun 2022 00:12:47 +0200 Subject: [PATCH] nfsroot: export volumes not shares via nfs --- hosts/containers/nfsroot/default.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/hosts/containers/nfsroot/default.nix b/hosts/containers/nfsroot/default.nix index e236d7a0..18d232e3 100644 --- a/hosts/containers/nfsroot/default.nix +++ b/hosts/containers/nfsroot/default.nix @@ -1,6 +1,12 @@ { zentralwerk, config, lib, pkgs, ... }: let netConfig = zentralwerk.lib.config.site.net.serv; + + nfsExports = [ + "var/lib/nfsroot/dacbert" + "var/lib/nfsroot/riscbert" + "var/lib/dump-dvb/whoopsie" + ]; in { microvm = { hypervisor = "qemu"; @@ -17,7 +23,13 @@ in { tag = builtins.baseNameOf dir; proto = "virtiofs"; socket = "${builtins.baseNameOf dir}.socket"; - }) [ "etc" "home" "var" "var/lib/nfsroot/dacbert" "var/lib/nfsroot/riscbert" "var/lib/dump-dvb/whoopsie" ]; + }) [ "etc" "home" "var" ]; + + volumes = map (export: { + mountPoint = "/${export}"; + image = "/dev/zvol/${config.networking.hostName}/vm/nfsroot/${builtins.baseNameOf export}"; + autoCreate = false; + }) nfsExports; interfaces = [ { type = "tap"; @@ -26,6 +38,10 @@ in { } ]; }; + fileSystems = builtins.foldl' (fileSystems: export: fileSystems // { + "/${export}".options = [ "relatime" "discard" ]; + }) {} nfsExports; + networking = { hostName = "nfsroot";