Files
nixpkgs/nixos/tests/minidlna.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

41 lines
1.2 KiB
Nix

{ pkgs, ... }:
{
name = "minidlna";
nodes = {
server =
{ ... }:
{
imports = [ ../modules/profiles/minimal.nix ];
services.minidlna.enable = true;
services.minidlna.openFirewall = true;
services.minidlna.settings = {
log_level = "error";
media_dir = [
"PV,/tmp/stuff"
];
friendly_name = "rpi3";
root_container = "B";
notify_interval = 60;
album_art_names = [
"Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg"
"AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg"
"Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg"
];
};
};
client = { ... }: { };
};
testScript = ''
start_all()
server.succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff")
server.wait_for_unit("minidlna")
server.wait_for_open_port(8200)
# requests must be made *by IP* to avoid triggering minidlna's
# DNS-rebinding protection
server.succeed("curl --fail http://$(getent ahostsv4 localhost | head -n1 | cut -f 1 -d ' '):8200/")
client.succeed("curl --fail http://$(getent ahostsv4 server | head -n1 | cut -f 1 -d ' '):8200/")
'';
}