nixfleet/modules/sisko-share/default.nix
2025-04-11 11:06:33 +02:00

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
];
};
}