blob: 431022d32283583c9c362cbcbdfd3ff82696a5bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
{
self,
lib,
...
}: {
flake.nixosModules.jellyfin = {
config,
pkgs,
...
}: let
cfg = config.hostOptions.server;
in {
imports = [
self.nixosModules.hostOptions
self.nixosModules.nginx
];
services.jellyfin = {
enable = true;
openFirewall = false;
dataDir = "${cfg.dataPath}/jellyfin/";
hardwareAcceleration = {
enable = true;
device = lib.mkDefault "/dev/dri/renderD128";
};
};
# transcoding
users.users.jellyfin.extraGroups = ["video" "render"];
environment.systemPackages = with pkgs; [jellyfin-ffmpeg];
services.nginx.virtualHosts."jellyfin.${cfg.domain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:8096";
proxyWebsockets = true;
extraConfig = ''
proxy_buffering off;
'';
};
};
};
}
|