nixos-config/hosts/x86_64-linux/beleth/nfs.nix

47 lines
1.4 KiB
Nix

{
config,
lib,
inputs,
...
}: {
# "2a0f:be01:0:100::/64"
# "2a0f:be01:0:200::/64"
# "2a0f:be01:fe:f00::/56"
services.nfs = {
server = {
enable = true;
exports = ''
/export 2a0f:be01:0:100::/64(ro,async,fsid=0,no_subtree_check) 2a0f:be01:0:200::/64(ro,async,fsid=0,no_subtree_check) 2a0f:be01:fe:f00::/56(ro,async,fsid=0,no_subtree_check)
/export/shows 2a0f:be01:0:100::/64(ro,async,no_subtree_check) 2a0f:be01:0:200::/64(ro,async,no_subtree_check) 2a0f:be01:fe:f00::/56(ro,async,no_subtree_check)
/export/movies 2a0f:be01:0:100::/64(ro,async,no_subtree_check) 2a0f:be01:0:200::/64(ro,async,no_subtree_check) 2a0f:be01:fe:f00::/56(ro,async,no_subtree_check)
/export/music 2a0f:be01:0:100::/64(ro,async,no_subtree_check) 2a0f:be01:0:200::/64(ro,async,no_subtree_check) 2a0f:be01:fe:f00::/56(ro,async,no_subtree_check)
'';
};
};
networking.firewall.allowedTCPPorts = [ 2049 ];
networking.firewall.extraInputRules = ''
iifname wg0 ip6 saddr {
2a0f:be01:0:100::/64,
2a0f:be01:0:200::/64,
2a0f:be01:fe:f00::/56,
} tcp dport 2049 accept
'';
fileSystems = {
"/export/shows" = {
device = "/home/xqtc/jellyfin/shows";
options = [ "bind" ];
};
"/export/movies" = {
device = "/home/xqtc/jellyfin/movies";
options = [ "bind" ];
};
"/export/music" = {
device = "/home/xqtc/jellyfin/music";
options = [ "bind" ];
};
};
}