aboutsummaryrefslogtreecommitdiff
path: root/hosts/ganymede/networking.nix
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-08-17 20:48:18 -0500
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2026-08-17 20:48:18 -0500
commit2b1c6161c5d2381cbfe224694dfb218aee0b6da1 (patch)
treee51c7bd694d5ad27fb9e68e51f11aae4e8c57fcc /hosts/ganymede/networking.nix
parente29dd8a2283399b7e046937340509d5aec4b52ba (diff)
something is seriously broken rn
Diffstat (limited to 'hosts/ganymede/networking.nix')
-rw-r--r--hosts/ganymede/networking.nix80
1 files changed, 80 insertions, 0 deletions
diff --git a/hosts/ganymede/networking.nix b/hosts/ganymede/networking.nix
new file mode 100644
index 0000000..082068c
--- /dev/null
+++ b/hosts/ganymede/networking.nix
@@ -0,0 +1,80 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}: let
+ static = {
+ ssid = "williams";
+ pskFile = config.collinux.secrets."williams-psk".path;
+ ip = "192.168.50.2/24";
+ gateway = "192.168.50.1";
+ };
+in {
+ networking = {
+ dhcpcd.enable = false;
+ useDHCP = false;
+ networkmanager.enable = false;
+
+ useNetworkd = true;
+
+ firewall = {
+ enable = true;
+ checkReversePath = "loose";
+ };
+
+ resolvconf.enable = true;
+ nameservers = ["127.0.0.1"];
+
+ wireless = {
+ enable = true;
+ networks.${static.ssid}.pskRaw = "ext:psk";
+ secretsFile = static.pskFile;
+ };
+ };
+ systemd = {
+ services."disable-wifi-powersave" = {
+ description = "Disable wifi powersaving using iw";
+ after = ["network.target"];
+ serviceConfig.ExecStart = "${lib.getExe pkgs.iw} dev wlp108s0 set power_save off";
+ wantedBy = ["default.target"];
+ };
+
+ network = {
+ enable = true;
+ wait-online = {
+ enable = true;
+ anyInterface = true;
+ };
+
+ networks."11-default" = {
+ name = "wl*";
+ networkConfig = {
+ Address = static.ip;
+ Gateway = static.gateway;
+ DHCP = "no";
+ };
+ };
+ };
+ };
+
+ services = {
+ resolved.enable = false;
+
+ unbound = {
+ enable = true;
+ settings.server = {
+ interface = ["0.0.0.0"];
+ port = 53;
+ access-control = [
+ "127.0.0.0/8 allow"
+ "10.100.0.0/24 allow"
+ "0.0.0.0/0 refuse"
+ ];
+
+ local-zone = [''"ganymede." redirect''];
+ local-data = [''"ganymede. IN A 10.100.0.1"''];
+ };
+ };
+ };
+}