2024-12-20 22:37:44 -05:00
{
config ,
lib ,
pkgs ,
. . .
} :
2024-12-17 15:26:10 -05:00
2025-01-13 17:43:38 -05:00
# Alternative DNS servers:
# "1.0.0.1#cloudflare-dns.com"
# "1.1.1.1#cloudflare-dns.com"
# "2606:4700:4700::1001#cloudflare-dns.com"
# "2606:4700:4700::1111#cloudflare-dns.com"
# "8.8.4.4#dns.google"
# "8.8.8.8#dns.google"
# "2001:4860:4860::8844#dns.google"
# "2001:4860:4860::8888#dns.google"
2024-12-17 15:26:10 -05:00
{
2024-12-20 22:37:44 -05:00
imports = [ ] ;
2024-12-17 15:26:10 -05:00
networking . dhcpcd . enable = false ;
networking . useDHCP = false ;
2025-01-12 22:43:23 -05:00
networking . nameservers = [
" 1 9 4 . 2 4 2 . 2 . 2 # d o h . m u l l v a d . n e t "
" 2 a 0 7 : e 3 4 0 : : 2 # d o h . m u l l v a d . n e t "
] ;
2024-12-17 15:26:10 -05:00
services . resolved = {
enable = true ;
2025-01-15 21:01:30 -05:00
# dnssec = "true";
2025-01-12 22:43:23 -05:00
domains = [ " ~ . " ] ;
2025-01-13 17:43:38 -05:00
fallbackDns = [ ] ;
2025-01-12 22:43:23 -05:00
dnsovertls = " t r u e " ;
2024-12-17 15:26:10 -05:00
} ;
2024-12-20 21:06:04 -05:00
# Without this, systemd-resolved will send DNS requests for <X>.home.arpa to the per-link DNS server (172.16.0.1) which does not support DNS-over-TLS. This leads to the connection anging and timing out. This causes firefox startup to take an extra 10+ seconds.
#
# Test with: drill @127.0.0.53 odo.home.arpa
2024-12-29 15:12:31 -05:00
networking . extraHosts = ''
127 .0 .0 .1 odo . home . arpa
10 .216 .1 .1 homeserver
10 .216 .1 .6 media
2025-01-16 20:51:17 -05:00
#10.216.1.12 odo
2025-01-20 21:00:35 -05:00
10 .216 .1 .14 neelix
2024-12-29 15:12:31 -05:00
10 .217 .1 .1 drmario
10 .217 .2 .1 mrmanager
'' ;
2024-12-20 21:06:04 -05:00
2024-12-17 15:26:10 -05:00
networking . wireless . iwd = {
enable = true ;
settings = {
General = {
EnableNetworkConfiguration = true ;
AddressRandomization = " n e t w o r k " ;
2024-12-19 22:20:55 -05:00
ControlPortOverNL80211 = false ;
2024-12-17 15:26:10 -05:00
} ;
} ;
} ;
environment . systemPackages = with pkgs ; [
iw
iwd
2024-12-20 21:06:04 -05:00
ldns # for drill
2024-12-25 09:13:34 -05:00
arp-scan # To find devices on the network
2024-12-17 15:26:10 -05:00
] ;
2025-01-15 21:01:30 -05:00
boot . extraModprobeConfig = ''
# Set wifi to US
options cfg80211 ieee80211_regdom = US
'' ;
2024-12-17 15:26:10 -05:00
}