diff options
Diffstat (limited to 'modules/tlmp/slsk.nix')
| -rw-r--r-- | modules/tlmp/slsk.nix | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/modules/tlmp/slsk.nix b/modules/tlmp/slsk.nix index e72d64b..4c170c4 100644 --- a/modules/tlmp/slsk.nix +++ b/modules/tlmp/slsk.nix @@ -10,6 +10,8 @@ with self.lib.nginx; { services.slskd = { enable = true; + package = pkgs.callPackage ./slsk_package.nix { }; + environmentFile = "/etc/secrets/slskd.env"; domain = null; @@ -21,6 +23,11 @@ with self.lib.nginx; incomplete = "/mnt/media/soulseek/incomplete"; }; + soulseek = { + listen_ip_address = "0.0.0.0"; + listen_port = 50300; + }; + shares = { directories = [ "[Music]/mnt/media/Music" ]; cache = { @@ -96,12 +103,19 @@ with self.lib.nginx; users.users.slskd.extraGroups = [ "media" ]; systemd.services.slskd = { - bindsTo = [ "wireguard-proton.service" ]; - after = [ "wireguard-proton.service" ]; + bindsTo = [ "wireguard-torrent.service" ]; + after = [ "wireguard-torrent.service" ]; unitConfig.JoinsNamespaceOf = "netns@torrent.service"; + postStart = '' + echo "fixing web socket permissions" + while [ ! -S "${config.services.slskd.settings.web.socket}" ]; do echo "waiting"; sleep 1; done + echo "found socket" + chmod a+rw ${config.services.slskd.settings.web.socket}; + echo "fixed web socket permissions" + ''; serviceConfig = { PrivateNetwork = true; - UMask = "ug=rw,o=r"; + UMask = "a=rw"; ProtectSystem = lib.mkForce "full"; }; |
