2024-06-16 00:39:47 +02:00
|
|
|
{
|
|
|
|
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 = ''
|
2024-06-16 00:53:09 +02:00
|
|
|
iifname wg0 ip6 saddr { 2a0f:be01:0:100::/64, 2a0f:be01:0:200::/64, 2a0f:be01:fe:f00::/56 } tcp dport 2049 accept
|
2024-06-16 00:39:47 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
|
|
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" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|