34 lines
678 B
Nix
34 lines
678 B
Nix
{ config, lib, ... }:
|
|
let
|
|
cfg = config.mj.services.minidlna;
|
|
in
|
|
{
|
|
options.mj.services.minidlna = with lib.types; {
|
|
enable = lib.mkEnableOption "Enable minidlna";
|
|
paths = lib.mkOption { type = listOf path; };
|
|
};
|
|
|
|
config = {
|
|
|
|
services.minidlna = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
settings = {
|
|
media_dir = cfg.paths;
|
|
friendly_name = "${config.networking.hostName}.${config.networking.domain}";
|
|
inotify = "yes";
|
|
};
|
|
};
|
|
|
|
systemd.services.minidlna = {
|
|
serviceConfig = {
|
|
ProtectSystem = "strict";
|
|
ProtectHome = "tmpfs";
|
|
BindReadOnlyPaths = cfg.paths;
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
}
|