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