Files
nix-config/modules/nixos/services/jellyseerr/default.nix
2025-10-09 17:48:27 -05:00

52 lines
1.1 KiB
Nix

{
config,
lib,
namespace,
...
}:
with lib;
let
inherit (lib.${namespace}) mkOpt mkReverseProxyOpt;
cfg = config.${namespace}.services.jellyseerr;
jellyseerrPort = 5055;
in
{
options.${namespace}.services.jellyseerr = {
enable = mkEnableOption "enable jellyseerr";
port = mkOpt types.int 5055 "jellyseerr port";
dataDir = mkOpt types.str "" "data dir";
};
config = mkIf cfg.enable {
# Enable jellyseerr service
services.jellyseerr = {
enable = true;
port = cfg.port;
openFirewall = true;
configDir = cfg.dataDir;
};
systemd.services = {
jellyseerr = {
serviceConfig = {
WorkingDirectory = lib.mkForce cfg.dataDir;
StateDirectory = lib.mkForce cfg.dataDir;
StateDirectoryMode = lib.mkForce 700;
DynamicUser = lib.mkForce false;
ProtectSystem = lib.mkForce null;
};
};
};
users.users.jellyseerr = {
isSystemUser = true;
group = "jellyseerr";
home = cfg.dataDir;
};
users.groups.jellyseerr = {};
};
}