diff --git a/flake.lock b/flake.lock
index ad32233..d608a5c 100644
--- a/flake.lock
+++ b/flake.lock
@@ -704,11 +704,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1739185568,
-        "narHash": "sha256-8wxwZP6WOWZCmpQzZlo5FG0Y8+hDr8O0U1cY6RB9OZQ=",
+        "lastModified": 1739635190,
+        "narHash": "sha256-UOFXRKepDpnPTGRyyfOt8uVkYaDL4gMbE2VlZR0lCNA=",
         "ref": "main",
-        "rev": "a1ab95888f08020483584d028c68617bafd27b5f",
-        "revCount": 7,
+        "rev": "28953f4e57a2c4ca2ada3547a45c8d2a839d4dfc",
+        "revCount": 9,
         "type": "git",
         "url": "https://git.oxapentane.com/0xa/website.git"
       },
diff --git a/flake.nix b/flake.nix
index 0038003..342df6a 100644
--- a/flake.nix
+++ b/flake.nix
@@ -111,7 +111,7 @@
               ./modules/basic-tools
               ./modules/binary-caches.nix
               ./modules/devtools.nix
-              ./modules/gnome.nix
+              ./modules/sway.nix
               ./modules/gnupg.nix
               ./modules/radio.nix
               ./modules/science.nix
diff --git a/hosts/toaster/network/default.nix b/hosts/toaster/network/default.nix
index 6d96c3c..48a6f8a 100644
--- a/hosts/toaster/network/default.nix
+++ b/hosts/toaster/network/default.nix
@@ -1,31 +1,22 @@
-{ lib, config, ... }:
-{
+{ lib, pkgs, ... }: {
   imports = [
     ./mullvad.nix
     ./dumpdvb.nix
     ./zw.nix
   ];
 
-  # Networkmanager shouldn't interfere with systemd managed interfaces
-  networking.networkmanager.unmanaged =
-    let
-      systemd_netdevs = lib.attrsets.attrValues (
-        lib.attrsets.mapAttrs (_name: value: value.netdevConfig.Name) config.systemd.network.netdevs
-      );
-    in
-    systemd_netdevs;
+  environment.systemPackages = with pkgs; [ iwgtk impala ];
 
-  systemd.network = {
-    enable = true;
-    wait-online.enable = false; # uplink is managed by networkmanager
-  };
-
-  users.users."0xa".extraGroups = [ "networkmanager" ];
+  # kick out networkmanager
+  networking.networkmanager.enable = lib.mkForce false;
+  networking.useNetworkd = true;
+  systemd.network.enable = true;
 
   networking = {
     hostName = "toaster";
     firewall.enable = true;
     wireguard.enable = true;
+    wireless.iwd.enable = true;
   };
 
   services.resolved = {
@@ -39,4 +30,34 @@
     ];
   };
 
+  # we might have no interwebs at all
+  systemd.network.wait-online.enable = false;
+
+  # uplinks
+  systemd.network.networks = {
+    "10-ether-uplink" = {
+      matchConfig.Name = "enp1s0f0";
+      networkConfig = {
+        DHCP = "yes";
+        IPv6AcceptRA = true;
+      };
+    };
+    "10-dock-uplink" = {
+      matchConfig.Name = "enp5s0f4u1u1";
+      networkConfig = {
+        DHCP = "yes";
+        IPv6AcceptRA = true;
+      };
+      dhcpV4Config = { RouteMetric = 666; };
+      dhcpV6Config = { RouteMetric = 666; };
+    };
+    "wlan-uplink" = {
+      matchConfig.Name = "wlan0";
+      networkConfig = {
+        DHCP = "yes";
+        IPv6AcceptRA = true;
+      };
+    };
+  };
+
 }
diff --git a/modules/fonts.nix b/modules/fonts.nix
index 7ee909b..1fde925 100644
--- a/modules/fonts.nix
+++ b/modules/fonts.nix
@@ -26,7 +26,7 @@
     twemoji-color-font
     twitter-color-emoji
     iosevka-bin
-    (nerdfonts.override { fonts = [ "Hack" ]; })
+    (nerdfonts.override { fonts = [ "Hack" "3270" ]; })
   ];
 
   fonts.enableDefaultPackages = true;