1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
{ config, lib, ... }:
let
cfg = config.os.srv.nfs;
in
{
options.os.srv.nfs.enable = lib.mkEnableOption "enables nfs drive sharing";
config = lib.mkIf cfg.enable {
services.nfs.server = {
enable = true;
nproc = 4; # Lowered due to low traffic for a home server
createMountPoints = true;
exports = ''
/data/media 10.1.0.0/24(rw,all_squash,anonuid=1000,anongid=100,async,insecure,no_subtree_check) \
10.3.0.0/24(rw,all_squash,anonuid=1000,anongid=100,async,insecure,no_subtree_check) \
10.4.0.0/24(rw,all_squash,anonuid=1000,anongid=100,async,insecure,no_subtree_check)
/data/vault 10.1.0.0/24(rw,all_squash,anonuid=1000,anongid=100,async,insecure,no_subtree_check) \
10.3.0.0/24(rw,all_squash,anonuid=1000,anongid=100,async,insecure,no_subtree_check) \
10.4.0.0/24(rw,all_squash,anonuid=1000,anongid=100,async,insecure,no_subtree_check)
'';
};
networking.firewall.allowedTCPPorts = [ 2049 ];
};
}
|