refactor(nfs): use more nix code for abstraction
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
f885f7b316
commit
4371753913
1 changed files with 19 additions and 6 deletions
|
@ -1,14 +1,27 @@
|
||||||
# TODO: move this to NAS?
|
# TODO: move this to NAS?
|
||||||
|
{lib, ...}: let
|
||||||
{...}: {
|
inherit (lib) concatMapStringsSep concatStringsSep;
|
||||||
|
in {
|
||||||
services.nfs.server = {
|
services.nfs.server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
createMountPoints = true;
|
createMountPoints = true;
|
||||||
|
|
||||||
exports = ''
|
exports = let
|
||||||
/export 10.0.0.244(rw,crossmnt,fsid=0,no_root_squash) 10.0.0.159(rw,crossmnt,fsid=0,no_root_squash) 100.64.0.8(rw,crossmnt,fsid=0,no_root_squash) 100.64.0.9(rw,crossmnt,fsid=0,no_root_squash)
|
mkExport = dir: opts: ips: "/export${dir} ${
|
||||||
/export/caddy 10.0.0.244(rw,nohide,no_root_squash) 10.0.0.159(rw,nohide,no_root_squash) 100.64.0.8(rw,nohide,no_root_squash) 100.64.0.9(rw,nohide,no_root_squash)
|
concatMapStringsSep " "
|
||||||
/export/headscale 10.0.0.244(rw,nohide,no_root_squash) 10.0.0.159(rw,nohide,no_root_squash) 100.64.0.8(rw,nohide,no_root_squash) 100.64.0.9(rw,nohide,no_root_squash)
|
(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}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue