me like nix
1{ ... }: {
2 flake.modules.nixos.pi-wifi =
3 { config, pkgs, ... }:
4 {
5 services.openssh.hostKeys = [
6 {
7 path = "/etc/ssh/ssh_host_ed25519_key";
8 type = "ed25519";
9 }
10 ];
11
12 age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
13 age.secrets.wifi = {
14 file = ../secrets/wifi.age;
15 mode = "0444";
16 };
17
18 networking.wireless = {
19 enable = true;
20 secretsFile = config.age.secrets.wifi.path;
21 networks."GL-MT6000-6a6" = {
22 pskRaw = "ext:WIFI_PSK";
23 extraConfig = ''
24 freq_list=5180 5200 5220 5240 5260 5280 5300 5320 5500 5520 5540 5560 5580 5600 5620 5640 5660 5680 5700 5720 5745 5765 5785 5805 5825
25 '';
26 };
27 };
28
29 systemd.services.wifi-powersave-off = {
30 description = "Disable WiFi power save";
31 after = [ "network.target" ];
32 wantedBy = [ "multi-user.target" ];
33 serviceConfig = {
34 Type = "oneshot";
35 ExecStart = "${pkgs.iw}/bin/iw dev wlan0 set power_save off";
36 RemainAfterExit = true;
37 };
38 };
39 };
40}