From 73df58ccb08aeb44ff7f2b5324762533d5be9ec0 Mon Sep 17 00:00:00 2001 From: Grisha Shipunov Date: Fri, 24 Jan 2025 22:42:28 +0100 Subject: sway config --- hosts/toaster/network/default.nix | 55 +++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 17 deletions(-) (limited to 'hosts') diff --git a/hosts/toaster/network/default.nix b/hosts/toaster/network/default.nix index 6d96c3c..0bf35e9 100644 --- a/hosts/toaster/network/default.nix +++ b/hosts/toaster/network/default.nix @@ -1,36 +1,27 @@ -{ lib, config, ... }: -{ +{ lib, config, 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 = { enable = true; - dnssec = "false"; + dnssec = "allow-downgrade"; fallbackDns = [ "9.9.9.9" "2620:fe::fe" @@ -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; + }; + }; + }; + } -- cgit v1.3.1