1{
2 name = "blocky";
3
4 nodes = {
5 server =
6 { pkgs, ... }:
7 {
8 environment.systemPackages = [ pkgs.dnsutils ];
9 services.blocky = {
10 enable = true;
11
12 settings = {
13 customDNS = {
14 mapping = {
15 "printer.lan" = "192.168.178.3,2001:0db8:85a3:08d3:1319:8a2e:0370:7344";
16 };
17 };
18 upstream = {
19 default = [
20 "8.8.8.8"
21 "1.1.1.1"
22 ];
23 };
24 port = 53;
25 httpPort = 5000;
26 logLevel = "info";
27 };
28 };
29 };
30 };
31
32 testScript = ''
33 with subtest("Service test"):
34 server.wait_for_unit("blocky.service")
35 server.wait_for_open_port(53)
36 server.wait_for_open_port(5000)
37 server.succeed("dig @127.0.0.1 +short -x 192.168.178.3 | grep -qF printer.lan")
38 '';
39}