ooknet/inputs/system/modules/base/services/mediaServer/default.nix

51 lines
925 B
Nix

{ config, lib, pkgs, ... }:
let
cfg = config.systemModules.services.mediaServer;
in
{
config = lib.mkIf cfg.enable {
users.groups.media = { };
environment.systemPackages = with pkgs; [
jellyfin
jellyfin-web
jellyfin-ffmpeg
];
services = {
jellyfin = {
group = "media";
enable = true;
openFirewall = true;
};
deluge = {
group = "media";
enable = true;
web.enable = true;
};
radarr = {
group = "media";
enable = true;
openFirewall = true;
};
sonarr = {
group = "media";
enable = true;
openFirewall = true;
};
prowlarr.enable = true;
};
systemd.tmpfiles.rules = [
"d /jellyfin 0770 - media - -"
];
fileSystems."/jellyfin" = {
device = "/dev/disk/by-label/jellyfin";
fsType = "btrfs";
};
};
}