blob: 3228f7bfaea26318e0d32be75496f89958ea8077 [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 Grey06cd6702022-10-31 00:06:16 +00008 dhcpcd.extraConfig = ''
9 timeout 0
10 leasetime -1
11 ipv6 off
12 noipv6rs
13 ipv4only
14 noarp
15
Skyler Grey664b72e2023-01-26 00:40:57 +000016 ssid HRSFC Guest
17 static ip_address=10.0.48.79/8
18 static routers=10.0.0.1
19
Skyler Grey06cd6702022-10-31 00:06:16 +000020 ssid eduroam
21 static ip_address=10.0.48.79/8
22 static routers=10.0.0.1
23 '';
Skyler Greyf18fe9f2022-10-30 23:07:57 +000024 hostName = "python";
Skyler Grey252927a2022-10-18 22:18:15 +010025 nameservers = [ "1.1.1.1" "1.0.0.1" ];
Skyler Greyf18fe9f2022-10-30 23:07:57 +000026 search = [
27 "python.local"
28 ];
29 wireless = {
30 enable = true;
31 userControlled.enable = true;
32 networks = {
Skyler Greye07bb032023-02-19 23:42:02 +000033 "HRSFC-LAN".psk = "@hrsfcStaffPass@";
Skyler Greyf18fe9f2022-10-30 23:07:57 +000034 eduroam = {
35 auth = ''
36 scan_ssid=1
37 proto=WPA2
38 key_mgmt=WPA-EAP
39 eap=PEAP
40 pairwise=CCMP
Skyler Greye0b26d22022-10-30 23:05:08 +000041
Skyler Greyf18fe9f2022-10-30 23:07:57 +000042 identity="@eduroamUser@"
43 password="@eduroamPass@"
Skyler Greye0b26d22022-10-30 23:05:08 +000044
Skyler Greyf18fe9f2022-10-30 23:07:57 +000045 phase2="auth=MSCHAPV2"
46 '';
47 };
48 "HRSFC Guest".psk = "@hrsfcGuestPass@";
49 adelie10 = {
50 psk = "@adelie10Pass@";
51 priority = 500;
52 };
53 robocon-buster_beta.psk = "@roboconProtoboardPass@";
Skyler Greyac27f242022-10-31 00:29:57 +000054 "RoboCon3665-Sky".psk = "@robocon3665SkyPass@";
Skyler Grey4d6c69d2022-10-31 00:18:55 +000055 "RoboCon2022-Beta_team_4".psk = "@robocon2023Beta4Pass@";
Skyler Greyac27f242022-10-31 00:29:57 +000056 "RoboCon2023-Will".psk = "@robocon2023Will@";
Skyler Grey664b72e2023-01-26 00:40:57 +000057 "robot-HRS69420".psk = "@srRobotPassword@";
58 "newadelie24".psk = "@newadelie24Pass@";
Skyler Greyac27f242022-10-31 00:29:57 +000059 } // lib.pipe (lib.range 1 21) [
60 (builtins.map builtins.toString)
61 (builtins.map (team: {
62 name = "RoboCon2023-Team${team}";
63 value = {
64 psk = "@robocon2023Team${team}@";
65 };
66 }))
67 builtins.listToAttrs
68 ];
Skyler Greyf18fe9f2022-10-30 23:07:57 +000069 environmentFile = config.sops.secrets."wireless.env".path;
Skyler Greyf4a835a2022-08-20 22:30:48 +010070 };
71 };
Skyler Greyc8dc35e2022-09-01 23:42:28 +010072
73 hardware.enableRedistributableFirmware = true;
74
Skyler Greyf18fe9f2022-10-30 23:07:57 +000075 sops.secrets."wireless.env" = {
76 sopsFile = ../secrets/wireless.env.bin;
Skyler Greye0b3b7d2022-09-09 08:14:11 +010077 format = "binary";
Skyler Greye0b3b7d2022-09-09 08:14:11 +010078 };
Skyler Grey06cd6702022-10-31 00:06:16 +000079
80 environment = {
Skyler Grey252927a2022-10-18 22:18:15 +010081 persistence."/nix/persist".directories = [ "/var/db/dhcpcd" ];
82 systemPackages = [ pkgs.bandwidth ];
Skyler Grey06cd6702022-10-31 00:06:16 +000083 };
Skyler Greyf4a835a2022-08-20 22:30:48 +010084 };
85}