refactor: jellyfin module > all in one mediaServer Module
This commit is contained in:
		
							parent
							
								
									170cfe7f3c
								
							
						
					
					
						commit
						f569b47347
					
				
					 5 changed files with 53 additions and 63 deletions
				
			
		|  | @ -2,16 +2,12 @@ | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   imports = [  |   imports = [  | ||||||
|   ./jellyfin |   ./mediaServer | ||||||
|   ./deluge |  | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   options.systemModules.services = { |   options.systemModules.services = { | ||||||
|     jellyfin = { |     mediaServer = { | ||||||
|       enable = lib.mkEnableOption "Enable jellyfin service module"; |       enable = lib.mkEnableOption "Enable mediaserver service module"; | ||||||
|     }; |  | ||||||
|     deluge = { |  | ||||||
|       enable = lib.mkEnableOption "Enable deluge service module"; |  | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|    |    | ||||||
|  |  | ||||||
|  | @ -1,22 +0,0 @@ | ||||||
| { config, lib, pkgs, ... }: |  | ||||||
| 
 |  | ||||||
| let |  | ||||||
|   cfg = config.systemModules.services.deluge; |  | ||||||
| in |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
|   config = lib.mkIf cfg.enable { |  | ||||||
|     services.deluge = { |  | ||||||
|       user = "deluge"; |  | ||||||
|       group = "deluge"; |  | ||||||
|       enable = true; |  | ||||||
|       web.enable = true; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     # fileSystems."/media/Downloads" = { |  | ||||||
|     #   device = "/dev/disk/by-label/torrents"; |  | ||||||
|     #   fsType = "ext4"; |  | ||||||
|     #   options = [ "rw" "uid=1000" "gid=991" "umask=002" ]; |  | ||||||
|     # }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -1,32 +0,0 @@ | ||||||
| { config, lib, pkgs, ... }: |  | ||||||
| 
 |  | ||||||
| let |  | ||||||
|   cfg = config.systemModules.services.jellyfin; |  | ||||||
| in |  | ||||||
| 
 |  | ||||||
| { |  | ||||||
|   config = lib.mkIf cfg.enable { |  | ||||||
|     environment.systemPackages = with pkgs; [ |  | ||||||
|       jellyfin |  | ||||||
|       jellyfin-web |  | ||||||
|       jellyfin-ffmpeg  |  | ||||||
|     ]; |  | ||||||
|     services.jellyfin = { |  | ||||||
|       user = "jellyfin"; |  | ||||||
|       group = "media"; |  | ||||||
|       enable = true; |  | ||||||
|       openFirewall = true; |  | ||||||
|     }; |  | ||||||
|     users.users.jellyfin = { |  | ||||||
|       isSystemUser = true; |  | ||||||
|       group = "media"; |  | ||||||
|     }; |  | ||||||
|     users.groups.media = {}; |  | ||||||
| 
 |  | ||||||
|     # fileSystems."/media" = { |  | ||||||
|     #   device = "/dev/disk/by-label/ooksmedia"; |  | ||||||
|     #   fsType = "ntfs"; |  | ||||||
|     #   options = [ "rw" "uid=1000" "gid=991" "umask=002" ]; |  | ||||||
|     # }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
							
								
								
									
										49
									
								
								system/modules/services/mediaServer/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								system/modules/services/mediaServer/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,49 @@ | ||||||
|  | { 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"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -10,8 +10,7 @@ in | ||||||
|   config = lib.mkIf cfg.enable { |   config = lib.mkIf cfg.enable { | ||||||
|     systemModules = { |     systemModules = { | ||||||
|       services = { |       services = { | ||||||
|         jellyfin.enable = true; |         mediaServer.enable = true; | ||||||
|         deluge.enable = true; |  | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue