refactor: jellyfin module > all in one mediaServer Module

This commit is contained in:
ooks-io 2024-02-16 12:15:03 +13:00
parent 170cfe7f3c
commit f569b47347
5 changed files with 53 additions and 63 deletions

View file

@ -2,16 +2,12 @@
{
imports = [
./jellyfin
./deluge
./mediaServer
];
options.systemModules.services = {
jellyfin = {
enable = lib.mkEnableOption "Enable jellyfin service module";
};
deluge = {
enable = lib.mkEnableOption "Enable deluge service module";
mediaServer = {
enable = lib.mkEnableOption "Enable mediaserver service module";
};
};

View file

@ -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" ];
# };
};
}

View file

@ -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" ];
# };
};
}

View 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";
};
};
}

View file

@ -10,8 +10,7 @@ in
config = lib.mkIf cfg.enable {
systemModules = {
services = {
jellyfin.enable = true;
deluge.enable = true;
mediaServer.enable = true;
};
};
};