51 lines
925 B
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";
|
|
};
|
|
};
|
|
}
|