nixos-configs/configurations/servivi/modules/nfs.nix

27 lines
713 B
Nix
Raw Normal View History

{lib, ...}: let
inherit (lib) concatMapStringsSep concatStringsSep;
in {
services.nfs.server = {
enable = true;
createMountPoints = true;
exports = let
mkExport = dir: opts: ips: "/export${dir} ${
concatMapStringsSep " "
(ip: ip + "(${concatStringsSep "," opts})")
ips
}";
mkRootExport = opts: ips:
mkExport "" (opts ++ ["crossmnt" "fsid=0"]) ips;
allowedIps = ["10.0.0.244" "100.64.0.8" "10.0.0.159" "100.64.0.9"];
options = ["rw" "no_root_squash" "no_subtree_check"];
in ''
${mkRootExport options allowedIps}
${mkExport "/caddy" options allowedIps}
${mkExport "/headscale" options allowedIps}
'';
};
}