nix-config/features/slskd.nix

31 lines
714 B
Nix

{ config, lib }:
with lib;
let
cfg = config.slskd;
in
{
options = {
slskd.directory = mkOption { type = types.str; };
};
config = {
sops.secrets."slskd" = {
sopsFile = ./secrets/slskd.env;
format = "dotenv";
};
services.slskd = {
enable = true;
openFirewall = true;
environmentFile = config.sops.secrets."slskd".path;
domain = null;
settings = {
shares.directories = [ "${cfg.slskd.directory}/Music" ];
soulseek.description = "i luv katz n mewsik";
directories.files.downloads = "${cfg.slskd.directory}/Music/clean";
directories.files.incomplete = "${cfg.slskd.directory}/Music/incomplete";
};
};
};
}