add mediastack layer

This commit is contained in:
2026-05-02 17:52:39 -05:00
parent 7302648b57
commit ed4a898f83
2 changed files with 46 additions and 0 deletions
+1
View File
@@ -69,6 +69,7 @@ in
caddy.enable = true;
uptime-kuma.enable = true;
vaultwarden.enable = true;
mediastack.enable = true;
};
gameservers = {
minecraft_recpro.enable = true;
+45
View File
@@ -1,5 +1,28 @@
{ pkgs, config, lib, ... }:
let
cfg = config.homelab.mediastack;
in
{
options.homelab.mediastack = {
enable = lib.mkEnableOption "enable the mediastack";
media_user = lib.mkOption {
default = "media";
type = lib.types.str;
description = "user for media file permissions";
};
media_group = lib.mkOption {
default = "media";
type = lib.types.str;
description = "group for media file permissions";
};
tz = lib.mkOption {
default = "America/Chicago";
type = lib.types.str;
description = "set timezone";
};
};
# the order determines the order in glance :3
imports = [
./bazarr
@@ -13,4 +36,26 @@
./flaresolverr
];
config = lib.mkIf cfg.enable {
users = {
groups.${cfg.media_group} = {
gid = 700;
};
users.${cfg.media_user} = {
uid = 700;
isSystemUser = true;
group = cfg.media_group;
};
};
homelab.bazarr.enable = lib.mkDefault true;
homelab.prowlarr.enable = lib.mkDefault true;
homelab.radarr.enable = lib.mkDefault true;
homelab.qbittorrent.enable = lib.mkDefault true;
homelab.sonarr.enable = lib.mkDefault true;
homelab.yacreader.enable = lib.mkDefault true;
homelab.audiobookshelf.enable = lib.mkDefault true;
homelab.jellyfin.enable = lib.mkDefault true;
homelab.flaresolverr.enable = lib.mkDefault true;
};
}