49 lines
		
	
	
	
		
			867 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			867 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;
 | 
						|
      };
 | 
						|
      sonarr = {
 | 
						|
        group = "media";
 | 
						|
        enable = true;
 | 
						|
      };
 | 
						|
      prowlarr.enable = true;
 | 
						|
    };
 | 
						|
 | 
						|
    systemd.tmpfiles.rules = [
 | 
						|
      "d /jellyfin 0770 - media - -"
 | 
						|
    ];
 | 
						|
 | 
						|
    fileSystems."/jellyfin" = {
 | 
						|
      device = "/dev/disk/by-label/jellyfin";
 | 
						|
      fsType = "btrfs";
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |