mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-04-04 03:01:05 +02:00
Refactored mediaserver
This commit is contained in:
parent
3a5e96b530
commit
051426d64b
2 changed files with 81 additions and 63 deletions
|
@ -15,7 +15,11 @@
|
||||||
|
|
||||||
|
|
||||||
luj = {
|
luj = {
|
||||||
mediaserver.enable = true;
|
mediaserver = {
|
||||||
|
enable = true;
|
||||||
|
tv.enable = true;
|
||||||
|
music.enable = true;
|
||||||
|
};
|
||||||
homepage.enable = true;
|
homepage.enable = true;
|
||||||
bincache = {
|
bincache = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,83 +1,97 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let cfg = config.luj.mediaserver;
|
let cfg = config.luj.mediaserver;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.luj.mediaserver = {
|
options.luj.mediaserver = {
|
||||||
enable = mkEnableOption "enable the mediaserver";
|
enable = mkEnableOption "enable the mediaserver";
|
||||||
|
tv.enable = mkEnableOption "enable the tv mediaserver";
|
||||||
|
music.enable = mkEnableOption "enable the music mediaserver";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable (
|
||||||
|
mkMerge [{
|
||||||
|
|
||||||
users.users.mediaserver = {
|
users.users.mediaserver = {
|
||||||
name = "mediaserver";
|
name = "mediaserver";
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
home = "/home/mediaserver";
|
home = "/home/mediaserver";
|
||||||
group = config.users.groups.mediaserver.name;
|
group = config.users.groups.mediaserver.name;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.mediaserver = {
|
users.groups.mediaserver = {
|
||||||
name = "mediaserver";
|
name = "mediaserver";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
luj.jackett = {
|
||||||
|
enable = true;
|
||||||
|
user = "mediaserver";
|
||||||
|
group = "mediaserver";
|
||||||
|
nginx.enable = true;
|
||||||
|
nginx.subdomain = "jackett";
|
||||||
|
};
|
||||||
|
|
||||||
|
luj.flaresolverr.enable = true;
|
||||||
|
|
||||||
|
luj.transmission = {
|
||||||
|
enable = true;
|
||||||
|
user = "mediaserver";
|
||||||
|
group = "mediaserver";
|
||||||
|
nginx.enable = true;
|
||||||
|
nginx.subdomain = "downloads";
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
luj.sonarr = {
|
(mkIf cfg.tv.enable {
|
||||||
enable = true;
|
|
||||||
user = "mediaserver";
|
|
||||||
group = "mediaserver";
|
|
||||||
nginx.enable = true;
|
|
||||||
nginx.subdomain = "series";
|
|
||||||
};
|
|
||||||
|
|
||||||
luj.radarr = {
|
luj.sonarr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "mediaserver";
|
user = "mediaserver";
|
||||||
group = "mediaserver";
|
group = "mediaserver";
|
||||||
nginx.enable = true;
|
nginx.enable = true;
|
||||||
nginx.subdomain = "films";
|
nginx.subdomain = "series";
|
||||||
};
|
};
|
||||||
|
|
||||||
luj.lidarr = {
|
luj.radarr = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "mediaserver";
|
user = "mediaserver";
|
||||||
group = "mediaserver";
|
group = "mediaserver";
|
||||||
nginx.enable = true;
|
nginx.enable = true;
|
||||||
nginx.subdomain = "songs";
|
nginx.subdomain = "films";
|
||||||
};
|
};
|
||||||
|
luj.jellyfin = {
|
||||||
|
enable = true;
|
||||||
|
user = "mediaserver";
|
||||||
|
group = "mediaserver";
|
||||||
|
nginx.enable = true;
|
||||||
|
nginx.subdomain = "tv";
|
||||||
|
};
|
||||||
|
|
||||||
luj.jellyfin = {
|
|
||||||
enable = true;
|
|
||||||
user = "mediaserver";
|
|
||||||
group = "mediaserver";
|
|
||||||
nginx.enable = true;
|
|
||||||
nginx.subdomain = "tv";
|
|
||||||
};
|
|
||||||
|
|
||||||
luj.jackett = {
|
})
|
||||||
enable = true;
|
|
||||||
user = "mediaserver";
|
|
||||||
group = "mediaserver";
|
|
||||||
nginx.enable = true;
|
|
||||||
nginx.subdomain = "jackett";
|
|
||||||
};
|
|
||||||
|
|
||||||
luj.flaresolverr.enable = true;
|
(mkIf cfg.music.enable {
|
||||||
|
luj.lidarr = {
|
||||||
|
enable = true;
|
||||||
|
user = "mediaserver";
|
||||||
|
group = "mediaserver";
|
||||||
|
nginx.enable = true;
|
||||||
|
nginx.subdomain = "songs";
|
||||||
|
};
|
||||||
|
|
||||||
luj.navidrome = {
|
luj.navidrome = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "mediaserver";
|
user = "mediaserver";
|
||||||
group = "mediaserver";
|
group = "mediaserver";
|
||||||
nginx.enable = true;
|
nginx.enable = true;
|
||||||
nginx.subdomain = "music";
|
nginx.subdomain = "music";
|
||||||
};
|
};
|
||||||
|
|
||||||
luj.transmission = {
|
|
||||||
enable = true;
|
|
||||||
user = "mediaserver";
|
|
||||||
group = "mediaserver";
|
|
||||||
nginx.enable = true;
|
|
||||||
nginx.subdomain = "downloads";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
})]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue