blob: 100e9affca2774b6d8217818901f565e36e56af0 [file] [log] [blame]
Skyler Grey252927a2022-10-18 22:18:15 +01001{ config
2, lib
3, pkgs
4, ...
Skyler Greye0b26d22022-10-30 23:05:08 +00005}: {
Skyler Greyf4a835a2022-08-20 22:30:48 +01006 config = {
Skyler Greyf18fe9f2022-10-30 23:07:57 +00007 networking = {
Skyler Greyec37bd72023-02-26 12:49:42 +00008 dhcpcd = {
9 wait = "background";
10 extraConfig = ''
11 timeout 0
12 leasetime -1
13 ipv6 off
14 noipv6rs
15 ipv4only
16 noarp
Skyler Grey06cd6702022-10-31 00:06:16 +000017
Skyler Greyec37bd72023-02-26 12:49:42 +000018 ssid HRSFC Guest
19 static ip_address=10.0.48.79/8
20 static routers=10.0.0.1
Skyler Grey664b72e2023-01-26 00:40:57 +000021
Skyler Greyec37bd72023-02-26 12:49:42 +000022 ssid eduroam
23 static ip_address=10.0.48.79/8
24 static routers=10.0.0.1
25 '';
26 };
Skyler Greyf18fe9f2022-10-30 23:07:57 +000027 hostName = "python";
Skyler Grey252927a2022-10-18 22:18:15 +010028 nameservers = [ "1.1.1.1" "1.0.0.1" ];
Skyler Greyf18fe9f2022-10-30 23:07:57 +000029 search = [
30 "python.local"
31 ];
32 wireless = {
33 enable = true;
34 userControlled.enable = true;
35 networks = {
Skyler Greye07bb032023-02-19 23:42:02 +000036 "HRSFC-LAN".psk = "@hrsfcStaffPass@";
Skyler Greyf18fe9f2022-10-30 23:07:57 +000037 eduroam = {
38 auth = ''
39 scan_ssid=1
40 proto=WPA2
41 key_mgmt=WPA-EAP
42 eap=PEAP
43 pairwise=CCMP
Skyler Greye0b26d22022-10-30 23:05:08 +000044
Skyler Greyf18fe9f2022-10-30 23:07:57 +000045 identity="@eduroamUser@"
46 password="@eduroamPass@"
Skyler Greye0b26d22022-10-30 23:05:08 +000047
Skyler Greyf18fe9f2022-10-30 23:07:57 +000048 phase2="auth=MSCHAPV2"
49 '';
50 };
Skyler Grey2198f2d2023-02-13 09:52:26 +000051 "HRSFC Wi-Fi".psk = "@hrsfcGuestPass@";
Skyler Greyf18fe9f2022-10-30 23:07:57 +000052 adelie10 = {
53 psk = "@adelie10Pass@";
54 priority = 500;
55 };
56 robocon-buster_beta.psk = "@roboconProtoboardPass@";
Skyler Greyac27f242022-10-31 00:29:57 +000057 "RoboCon3665-Sky".psk = "@robocon3665SkyPass@";
Skyler Grey4d6c69d2022-10-31 00:18:55 +000058 "RoboCon2022-Beta_team_4".psk = "@robocon2023Beta4Pass@";
Skyler Greyac27f242022-10-31 00:29:57 +000059 "RoboCon2023-Will".psk = "@robocon2023Will@";
Skyler Grey664b72e2023-01-26 00:40:57 +000060 "robot-HRS69420".psk = "@srRobotPassword@";
61 "newadelie24".psk = "@newadelie24Pass@";
Skyler Greyac27f242022-10-31 00:29:57 +000062 } // lib.pipe (lib.range 1 21) [
63 (builtins.map builtins.toString)
64 (builtins.map (team: {
65 name = "RoboCon2023-Team${team}";
66 value = {
67 psk = "@robocon2023Team${team}@";
68 };
69 }))
70 builtins.listToAttrs
71 ];
Skyler Greyf18fe9f2022-10-30 23:07:57 +000072 environmentFile = config.sops.secrets."wireless.env".path;
Skyler Greyf4a835a2022-08-20 22:30:48 +010073 };
74 };
Skyler Greyc8dc35e2022-09-01 23:42:28 +010075
76 hardware.enableRedistributableFirmware = true;
77
Skyler Greyf18fe9f2022-10-30 23:07:57 +000078 sops.secrets."wireless.env" = {
79 sopsFile = ../secrets/wireless.env.bin;
Skyler Greye0b3b7d2022-09-09 08:14:11 +010080 format = "binary";
Skyler Greye0b3b7d2022-09-09 08:14:11 +010081 };
Skyler Grey06cd6702022-10-31 00:06:16 +000082
83 environment = {
Skyler Grey252927a2022-10-18 22:18:15 +010084 persistence."/nix/persist".directories = [ "/var/db/dhcpcd" ];
85 systemPackages = [ pkgs.bandwidth ];
Skyler Grey06cd6702022-10-31 00:06:16 +000086 };
Skyler Greyf4a835a2022-08-20 22:30:48 +010087 };
88}