diff --git a/flake.nix b/flake.nix index 2361afe..9e088fc 100644 --- a/flake.nix +++ b/flake.nix @@ -118,6 +118,12 @@ owntracks = { data_dir = services_dir + "/owntracks"; }; + + slskd = rec { + base = "/var/lib/slskd"; + downloads = base + "/downloads"; + incomplete = base + "/incomplete"; + }; }; serviceMountDeps = serviceName: dirs: { diff --git a/services/soulseek.nix b/services/soulseek.nix index 5efa77f..2a5de74 100644 --- a/services/soulseek.nix +++ b/services/soulseek.nix @@ -4,12 +4,21 @@ lib, service_configs, username, + serviceMountDeps, ... }: let slskd_env = "/etc/slskd_env"; in { + imports = [ + (serviceMountDeps "slskd" [ + service_configs.slskd.base + service_configs.slskd.downloads + service_configs.slskd.incomplete + ]) + ]; + users.groups."music" = { }; system.activationScripts = { @@ -58,7 +67,9 @@ in systemd.tmpfiles.rules = [ "d ${service_configs.music_dir} 0750 ${username} music" - "d ${service_configs.music_dir} 0750 ${username} music" + "d ${service_configs.slskd.base} 0750 ${config.services.slskd.user} ${config.services.slskd.group}" + "d ${service_configs.slskd.downloads} 0750 ${config.services.slskd.user} music" + "d ${service_configs.slskd.incomplete} 0750 ${config.services.slskd.user} music" ]; # doesn't work with auth????