This repository has no description
2.2 kB
106 lines
1{
2 config,
3 pkgs,
4 ...
5}:
6
7{
8 imports = [
9 ../../2configs
10 ../../2configs/retiolum.nix
11 ../../2configs/pipewire.nix
12 ../../2configs/yellow-mounts/samba.nix
13 ../../2configs/hass
14 ../../2configs/n8n.nix
15 ../../2configs/green-host.nix
16 ../../2configs/syncthing.nix
17 ../../2configs/ppp/umts-stick.nix
18 ../../2configs/snapserver.nix
19 ../../2configs/snapclient.nix
20 ../../2configs/consul.nix
21 ];
22
23 krebs.build.host = config.krebs.hosts.styx;
24
25 environment.systemPackages = with pkgs; [
26 wol
27 (writeDashBin "wake-alien" ''
28 ${wol}/bin/wol -h 10.42.0.255 10:65:30:68:83:a3
29 '')
30 (writers.writeDashBin "iptv" ''
31 set -efu
32 /run/current-system/sw/bin/mpv \
33 --audio-display=no --audio-channels=stereo \
34 --audio-samplerate=48000 --audio-format=s16 \
35 --ao-pcm-file=/run/snapserver/snapfifo --ao=pcm \
36 --audio-delay=-1 \
37 --playlist=https://iptv-org.github.io/iptv/index.nsfw.m3u \
38 --idle=yes \
39 --input-ipc-server=/tmp/mpv.ipc \
40 "$@"
41 '')
42 ];
43
44 networking.firewall.allowedTCPPorts = [ 80 ];
45 services.smokeping = {
46 enable = true;
47 host = null;
48 targetConfig = ''
49 probe = FPing
50 menu = top
51 title = top
52
53 + Local
54 menu = Local
55 title = Local Network
56 ++ LocalMachine
57 menu = Local Machine
58 title = This host
59 host = localhost
60
61 + Internet
62 menu = internet
63 title = internet
64
65 ++ CloudflareDNS
66 menu = Cloudflare DNS
67 title = Cloudflare DNS server
68 host = 1.1.1.1
69
70 ++ GoogleDNS
71 menu = Google DNS
72 title = Google DNS server
73 host = 8.8.8.8
74
75 + retiolum
76 menu = retiolum
77 title = retiolum
78
79 ++ gum
80 menu = gum.r
81 title = gum.r
82 host = gum.r
83
84 ++ ni
85 menu = ni.r
86 title = ni.r
87 host = ni.r
88
89 ++ neoprism
90 menu = neoprism.r
91 title = neoprism.r
92 host = neoprism.r
93 '';
94 };
95
96 # for usb internet
97 hardware.usbWwan.enable = true;
98
99 swapDevices = [
100 {
101 device = "/swapfile";
102 size = 8192;
103 }
104 ];
105 services.earlyoom.enable = true;
106}