summaryrefslogtreecommitdiff
path: root/hosts/poweredge/router-hosts.nix
blob: b53b2a1c68b9c36b270da93724708b042cd3eae1 (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
45
46
let
	localDomain = "home.lan";  # TODO RFC8375 .home.arpa
	dhcp = {
		inherit staticLeases;
		defaultGateway = "192.168.1.1";
		localhostIp = "192.168.1.1";
		rangeStart = "192.168.1.50";
		rangeEnd = "192.168.1.250";
	};
	staticLeases = {
		# Network
		idrac-7N94GK2     = { macAddress = "50:9a:4c:5d:c3:7c"; staticIp = "192.168.1.2";   };
		OpenWrt-Attic     = { macAddress = "34:98:b5:60:5e:be"; staticIp = "192.168.1.3";   };
		OpenWrt-Basement  = { macAddress = "8c:3b:ad:35:c7:8c"; staticIp = "192.168.1.4";   };
		ArcherC54         = { macAddress = "14:eb:b6:13:f9:e0"; staticIp = "192.168.1.5";   };
		# Desktops
		T495              = { macAddress = "04:33:c2:9d:34:74"; staticIp = "192.168.1.11";  };
		optiplex          = { macAddress = "e4:54:e8:bc:ba:05"; staticIp = "192.168.1.12";  };
		X230              = { macAddress = "84:3a:4b:60:34:c4"; staticIp = "192.168.1.13";  };
		# Appliances
		# TODO add epson printer
		p1s               = { macAddress = "3c:0f:02:d5:23:64"; staticIp = "192.168.1.39";  };
		gnuslashprinter   = { macAddress = "00:23:24:5b:f0:6d"; staticIp = "192.168.1.40";  };
		# Services
		immich            = { macAddress = "02:00:00:00:00:01"; staticIp = "192.168.1.41";  };
		jellyfin          = { macAddress = "02:00:00:00:00:02"; staticIp = "192.168.1.42";  };
		gitea             = { macAddress = "02:00:00:00:00:03"; staticIp = "192.168.1.43";  };
		bitcoind          = { macAddress = "02:00:00:00:00:04"; staticIp = "192.168.1.44";  };
		filebrowser       = { macAddress = "02:00:00:00:00:05"; staticIp = "192.168.1.45";  };
		grafana           = { macAddress = "02:00:00:00:00:06"; staticIp = "192.168.1.46";  };
		transmission      = { macAddress = "02:00:00:00:00:07"; staticIp = "192.168.1.47";  };
	};
	localDomainOverrides = {
		"router.${localDomain}"     = "192.168.1.1";  # FIXME ping router on separate host returns 127.0.0.2
		"poweredge.${localDomain}"  = "192.168.1.10";
	};
in {
	imports = [ ../poweredge-pro/dns-overrides.nix ];
	services._router.dnsDhcpConfig = {
		inherit dhcp;
		localResolution = {
			inherit localDomain localDomainOverrides;
		};
	};
	networking.hosts."192.168.1.1" = [ "router.${localDomain}" "router" ];
}