97 lines
2.1 KiB
Nix
97 lines
2.1 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
systemd.tmpfiles.rules = [
|
|
"d /export 770 nobody nogroup"
|
|
];
|
|
|
|
fileSystems."/export/hd" = {
|
|
device = "/mnt/hd";
|
|
options = [ "bind" ];
|
|
};
|
|
|
|
services.nfs.server = {
|
|
enable = true;
|
|
exports = ''
|
|
/export 10.100.0.1/24(rw,fsid=0,no_subtree_check)
|
|
/export/hd 10.100.0.1/24(rw,nohide,insecure,no_subtree_check,no_root_squash)
|
|
'';
|
|
};
|
|
|
|
systemd.services.nfs-server.preStart = ''
|
|
chmod -R 775 /export/hd/torrent
|
|
'';
|
|
|
|
services.webdav = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
address = "0.0.0.0";
|
|
port = 9999;
|
|
scope = "/mnt/hd/torrent";
|
|
modify = false;
|
|
auth = false;
|
|
debug = true;
|
|
users = [ ];
|
|
};
|
|
};
|
|
|
|
services.samba-wsdd = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
# workgroup = "WORKGROUP";
|
|
# hostname = "siko";
|
|
# discovery = true;
|
|
};
|
|
|
|
services.avahi = {
|
|
publish.enable = true;
|
|
publish.userServices = true;
|
|
# ^^ Needed to allow samba to automatically register mDNS records (without the need for an `extraServiceFile`
|
|
#nssmdns4 = true;
|
|
# ^^ Not one hundred percent sure if this is needed- if it aint broke, don't fix it
|
|
enable = true;
|
|
openFirewall = true;
|
|
};
|
|
|
|
services.samba = {
|
|
enable = true;
|
|
# global.security = "user";
|
|
package = pkgs.samba4Full;
|
|
# settings.global = {
|
|
# "workgroup" = "WORKGROUP";
|
|
# "server string" = "sisko";
|
|
# "netbios name" = "sisko";
|
|
# "security" = "user";
|
|
# "map to guest" = "bad user";
|
|
# "vfs objects" = "recycle";
|
|
# "recycle:repository" = ".recycle";
|
|
# "recycle:keeptree" = "yes";
|
|
# "recycle:versions" = "yes";
|
|
# "hosts allow" = "10.1.1.0. 127.0.0.1 localhost";
|
|
# };
|
|
settings = {
|
|
torrent = {
|
|
path = "/mnt/hd/torrent";
|
|
comment = "hd";
|
|
"force user" = "transmission";
|
|
browseable = "yes";
|
|
writeable = "yes";
|
|
};
|
|
};
|
|
};
|
|
|
|
users.users.webdav.extraGroups = [ "transmission" ];
|
|
|
|
networking.firewall = {
|
|
allowedTCPPorts = [
|
|
2049
|
|
9999
|
|
139
|
|
445
|
|
];
|
|
allowedUDPPorts = [
|
|
137
|
|
138
|
|
];
|
|
};
|
|
}
|