43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
Nix
{configVars, ...}:
|
|
let
|
|
homeshareDataLocation = configVars.locations.homeshareDataLocation;
|
|
subnetIp = configVars.networking.addresses.subnet.ip;
|
|
in {
|
|
fileSystems."/srv/export/photos" = {
|
|
device = "${homeshareDataLocation}/photos";
|
|
options = [ "bind" ];
|
|
};
|
|
|
|
fileSystems."/srv/export/personal" = {
|
|
device = "${homeshareDataLocation}/personal";
|
|
options = [ "bind" ];
|
|
};
|
|
|
|
fileSystems."/srv/export/media" = {
|
|
device = "${homeshareDataLocation}/media";
|
|
options = [ "bind" ];
|
|
};
|
|
services.nfs.server = {
|
|
enable = true;
|
|
# fixed rpc.statd port; for firewall
|
|
lockdPort = 4001;
|
|
mountdPort = 4002;
|
|
statdPort = 4000;
|
|
extraNfsdConfig = '''';
|
|
exports = ''
|
|
/srv/export/photos ${subnetIp}/24(rw,sync,no_subtree_check)
|
|
/srv/export/media ${subnetIp}/24(rw,sync,no_subtree_check)
|
|
/srv/export/personal ${subnetIp}/24(rw,sync,no_subtree_check)
|
|
'';
|
|
};
|
|
# open nfs ports
|
|
networking.firewall = {
|
|
enable = true;
|
|
# for NFSv3; view with `rpcinfo -p`
|
|
allowedTCPPorts = [ 111 2049 4000 4001 4002 20048 ];
|
|
allowedUDPPorts = [ 111 2049 4000 4001 4002 20048 ];
|
|
};
|
|
}
|
|
|
|
|