mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 20:39:18 -08:00
56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
{ config, pkgs, lib, kw, ... }:
|
|
|
|
{
|
|
hardware.firmware = [ pkgs.libreelec-dvb-firmware ];
|
|
services.tvheadend.enable = true;
|
|
systemd.services.tvheadend.enable = lib.mkForce false;
|
|
users.users.tvheadend.group = "tvheadend";
|
|
users.groups.tvheadend = {};
|
|
|
|
networks.internet = {
|
|
tcp = [
|
|
9981
|
|
9982
|
|
5009
|
|
];
|
|
};
|
|
|
|
systemd.services.antennas = {
|
|
wantedBy = [ "plex.service" ];
|
|
after = [ "tvheadend-kat.service" ];
|
|
serviceConfig = let
|
|
antennaConf = pkgs.writeText "config.yaml" (builtins.toJSON {
|
|
antennas_url = "http://127.0.0.1:5009";
|
|
tvheadend_url = "http://127.0.0.1:9981";
|
|
tuner_count = "6";
|
|
}); in {
|
|
ExecStart = "${pkgs.antennas}/bin/antennas --config ${antennaConf}";
|
|
};
|
|
};
|
|
|
|
systemd.services.tvheadend-kat = {
|
|
description = "Tvheadend TV streaming server";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
script = ''
|
|
${pkgs.tvheadend}/bin/tvheadend \
|
|
--http_root /tvheadend \
|
|
--http_port 9981 \
|
|
--htsp_port 9982 \
|
|
-f \
|
|
-C \
|
|
-p ${config.users.users.tvheadend.home}/tvheadend.pid \
|
|
-u tvheadend \
|
|
-g video
|
|
'';
|
|
serviceConfig = {
|
|
Type = "forking";
|
|
PIDFile = "${config.users.users.tvheadend.home}/tvheadend.pid";
|
|
Restart = "always";
|
|
RestartSec = 5;
|
|
User = "tvheadend";
|
|
Group = "video";
|
|
ExecStop = "${pkgs.coreutils}/bin/rm ${config.users.users.tvheadend.home}/tvheadend.pid";
|
|
};
|
|
};
|
|
}
|