1 { pkgs, lib, hostName, ... }:
2 with (import ./names-and-numbers.nix);
4 environment.systemPackages = [
7 networking.interfaces = {
10 ipv4.addresses = [{ address = "${wifiIPv4}.1"; prefixLength = 24; }];
13 address = "${wifiIPv4}.0";
15 options = { congctl = "westwood"; };
20 networking.nftables.ruleset = lib.mkAfter ''
23 iifname ${wifiIface} jump input-lan
24 iifname ${wifiIface} log level warn prefix "input-lan: " counter drop
27 oifname ${wifiIface} jump output-lan
28 oifname ${wifiIface} log level warn prefix "output-lan: " counter drop
33 networking.networkmanager.unmanaged = [ wifiIface ];
34 services.dnscrypt-proxy2.settings.listen_addresses = [ "${wifiIPv4}.1:53" ];
35 systemd.services.dhcpd4.onFailure = [ "network-addresses-${wifiIface}.service" ];
38 interfaces = [ wifiIface ];
40 subnet ${wifiIPv4}.0 netmask 255.255.255.0 {
41 range ${wifiIPv4}.100 ${wifiIPv4}.200;
42 option broadcast-address ${wifiIPv4}.255;
43 option domain-name-servers ${wifiIPv4}.1;
44 option routers ${wifiIPv4}.1;
45 option subnet-mask 255.255.255.0;
49 # iw dev wlp5s0 station dump
50 # DOC: https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf
54 interface = wifiIface;
55 # 0 means the AP will search for the channel with the least interferences (ACS)
60 #wpaPassphrase = "bidonpoissonmaisonronron";
65 dtim_period=2 # DTIM (delivery trafic information message)
67 # limit the frequencies used to those allowed in the country
74 #auth_algs=1 # 0=noauth, 1=wpa, 2=wep, 3=both
76 # QoS support, also required for full speed on 802.11n/ac/ax
78 eap_reauth_period=360000
85 # See Capabilities in iw list
86 #ht_capab=[HT40+][SHORT-GI-40][DSSS_CCK-40][MAX-AMSDU-3839]
95 services.openssh.listenAddresses = [
96 { addr = "${wifiIPv4}.1"; port = 22; }