slskd: properly integrate into zfs volumes and permissions

This commit is contained in:
Simon Gardling 2025-04-06 14:24:35 -04:00
parent b2af5954cc
commit 69a4d9b253
Signed by: titaniumtown
GPG Key ID: 9AB28AC10ECE533D
2 changed files with 18 additions and 1 deletions

View File

@ -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: {

View File

@ -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????