blob: 2b90ebb9f496922708617db74a3e57bda93bf2d3 [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 Greyec37bd72023-02-26 12:49:42 +000021 '';
22 };
Skyler Greyf18fe9f2022-10-30 23:07:57 +000023 hostName = "python";
Skyler Grey252927a2022-10-18 22:18:15 +010024 nameservers = [ "1.1.1.1" "1.0.0.1" ];
Skyler Greyf18fe9f2022-10-30 23:07:57 +000025 search = [
26 "python.local"
27 ];
28 wireless = {
29 enable = true;
30 userControlled.enable = true;
31 networks = {
Skyler Grey603b0762023-03-07 13:14:43 +000032 /* "HRSFC-LAN".psk = "@hrsfcStaffPass@"; */
Skyler Grey2198f2d2023-02-13 09:52:26 +000033 "HRSFC Wi-Fi".psk = "@hrsfcGuestPass@";
Skyler Grey73527022023-04-06 09:47:07 +000034 "UniOfCam-Guest" = {};
35 "Premier Inn Free Wi-Fi" = {};
Skyler Greyf18fe9f2022-10-30 23:07:57 +000036 adelie10 = {
37 psk = "@adelie10Pass@";
38 priority = 500;
39 };
40 robocon-buster_beta.psk = "@roboconProtoboardPass@";
Skyler Greyac27f242022-10-31 00:29:57 +000041 "RoboCon3665-Sky".psk = "@robocon3665SkyPass@";
Skyler Grey4d6c69d2022-10-31 00:18:55 +000042 "RoboCon2022-Beta_team_4".psk = "@robocon2023Beta4Pass@";
Skyler Greyac27f242022-10-31 00:29:57 +000043 "RoboCon2023-Will".psk = "@robocon2023Will@";
Skyler Grey664b72e2023-01-26 00:40:57 +000044 "robot-HRS69420".psk = "@srRobotPassword@";
45 "newadelie24".psk = "@newadelie24Pass@";
Skyler Grey73527022023-04-06 09:47:07 +000046 "Lord".psk = "@lordPass@";
Skyler Greyac27f242022-10-31 00:29:57 +000047 } // lib.pipe (lib.range 1 21) [
48 (builtins.map builtins.toString)
49 (builtins.map (team: {
50 name = "RoboCon2023-Team${team}";
51 value = {
52 psk = "@robocon2023Team${team}@";
53 };
54 }))
55 builtins.listToAttrs
56 ];
Skyler Greyf18fe9f2022-10-30 23:07:57 +000057 environmentFile = config.sops.secrets."wireless.env".path;
Skyler Greyf4a835a2022-08-20 22:30:48 +010058 };
59 };
Skyler Greyc8dc35e2022-09-01 23:42:28 +010060
61 hardware.enableRedistributableFirmware = true;
62
Skyler Greyf18fe9f2022-10-30 23:07:57 +000063 sops.secrets."wireless.env" = {
64 sopsFile = ../secrets/wireless.env.bin;
Skyler Greye0b3b7d2022-09-09 08:14:11 +010065 format = "binary";
Skyler Greye0b3b7d2022-09-09 08:14:11 +010066 };
Skyler Grey06cd6702022-10-31 00:06:16 +000067
68 environment = {
Skyler Grey252927a2022-10-18 22:18:15 +010069 persistence."/nix/persist".directories = [ "/var/db/dhcpcd" ];
70 systemPackages = [ pkgs.bandwidth ];
Skyler Grey06cd6702022-10-31 00:06:16 +000071 };
Skyler Greyf4a835a2022-08-20 22:30:48 +010072 };
73}