63 lines
1.6 KiB
Nix
63 lines
1.6 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
boot.blacklistedKernelModules = [
|
|
# no watching TV intended
|
|
"dvb_usb_rtl28xxu"
|
|
];
|
|
users.users.dump1090 = {
|
|
isSystemUser = true;
|
|
group = "dump1090";
|
|
};
|
|
users.groups.dump1090 = {};
|
|
systemd.services.readsb = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.readsb}/bin/readsb --modeac --aggressive --dcfilter --quiet --gain=-10 --lon=13.7281 --lat=51.081 --net --net-sbs-port=30003";
|
|
User = "dump1090";
|
|
Group = "dump1090";
|
|
ProtectSystem = "full";
|
|
ProtectHome = true;
|
|
Restart = "always";
|
|
RestartSec = "10s";
|
|
};
|
|
};
|
|
# SHIM because readsb has no web server like dump1090
|
|
systemd.services.sbs2json = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
requires = [ "readsb.service" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.ruby}/bin/ruby ${./sbs2json.rb}";
|
|
User = "dump1090";
|
|
Group = "dump1090";
|
|
ProtectSystem = "full";
|
|
ProtectHome = true;
|
|
Restart = "always";
|
|
RestartSec = "10s";
|
|
};
|
|
};
|
|
|
|
users.users.dump1090-influxdb = {
|
|
isSystemUser = true;
|
|
group = "dump1090";
|
|
};
|
|
systemd.services.dump1090-influxdb = {
|
|
wantedBy = [ "multi-user.target" ];
|
|
requires = [ "readsb.service" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.dump1090-influxdb}/bin/dump1090-influxdb";
|
|
User = "dump1090-influxdb";
|
|
Group = "dump1090";
|
|
ProtectSystem = "full";
|
|
ProtectHome = true;
|
|
Restart = "always";
|
|
RestartSec = "10s";
|
|
};
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
dump1090_sdrplus
|
|
readsb
|
|
];
|
|
}
|