nixos-config/systems/LoutreOS/medias.nix

74 lines
1.7 KiB
Nix

{ config, lib, pkgs, inputs, ... }:
{
services = {
transmission = {
enable = true;
home = "/var/lib/transmission";
group = "medias";
settings = {
rpc-bind-address = "127.0.0.1";
rpc-port = 9091;
rpc-host-whitelist = "*";
rpc-whitelist-enabled = false;
peer-port = 51413;
incomplete-dir = "/mnt/medias/incomplete";
download-dir = "/mnt/medias/torrent";
};
};
radarr.enable = true;
sonarr.enable = true;
jackett.enable = true;
jellyfin = {
enable = true;
package = inputs.nixpkgs-unstable.legacyPackages.x86_64-linux.jellyfin;
};
navidrome = {
enable = true;
settings = {
MusicFolder = "/mnt/medias/musique";
ImageCacheSize = 0;
};
};
};
systemd.services.transmission.serviceConfig = {
BindPaths = [ "/mnt/medias" ];
LimitNOFILE = 1048576;
};
networking = {
firewall.allowedTCPPorts = [
config.services.transmission.settings.peer-port
];
firewall.allowedUDPPorts = [
config.services.transmission.settings.peer-port
];
};
virtualisation.oci-containers = {
backend = "podman";
containers = {
slimserver = {
image = "docker.io/lmscommunity/logitechmediaserver:stable";
volumes = [
"/mnt/medias/musique:/music:ro"
"/var/lib/slimserver:/config:rw"
"/etc/localtime:/etc/localtime:ro"
];
ports = [
"10.30.0.1:9000:9000/tcp"
"10.30.0.1:9090:9090/tcp"
"10.30.0.1:3483:3483/tcp"
"10.30.0.1:3483:3483/udp"
];
extraOptions = ["--pull=always"];
};
};
};
}